2007年09月07日

空前の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
Comments
Post a comment









Remember personal info?






コメントを投稿する前に↓の場所にnospamと入力してください。