
空前のGopherブームが到来したわけですが、PlaggerやMoxyのようにプラガブルに機能を拡張できるGopher Serverを書きました。
http://coderepos.org/share/browser/lang/perl/Gopper/trunk
svn co http://svn.coderepos.org/share/lang/perl/Gopper/trunk Gopper
今のところ超シンプルなGopher Serverにしかなりませんが、Pluginを書いて行く事によりApacheっぽいhttpdになったりします。
configなんかもPlaggerさわってる人なら判りやすいはず。
global:
log:
level: debug
engine:
module: Simple
config:
host: example.org
port: 70
plugins:
- module: Setuid
config:
user: nobody
group: nobody
- module: Protocol::Gopher
- module: Handler::Static
config:
docroot: /foo/bar/example/docroot
プラガブルな機構はClass::Componentをそのまま利用しています。
なので、Component追加とかAttribute追加とかまで労せずできます。
Class::Component標準のrun_hookは、ちょっと細かいニーズに耐えられないので別途実装しました。run_hookを拡張する仕組みをClass::Componentに入れた方がいいのかしら。
パッチ書いたりプラグイン追加したい方は、CodeReposのコミット権さえあれば誰でも開発の参加が可能なのでCodeReposに参加してくださいな。
ちなみにGopherだからってXHTML原理主義とかとは無縁というわけではない。
gopher://yappo.jp/h/shinjukujs.html
こんなリッチなアプリケーションだって書けるのだ。
ところでFirefoxで70番以外で上がってるgopherのみかたありませんか?><
Posted by Yappo at 2007年09月07日 11:31 | TrackBack | Perl