Moxy::Manual::HackingJA - Moxy hacking guide(ニホンゴ)
Moxy を Hack しようと考える人のための文書なのであって一般ユーザ向けではなく云々。
コア。コンテキスト。
プラグインのベースクラス。継承するとちょっと便利な機能が使えるようになるけど 必ず継承しなくちゃいけないってわけでもなかったりする。
いろいろ register_hook 呼ぶの人。load_plugins の段階で register メソッドが呼ばれる あたりは Plagger をまるぱくりしてるといえる。
HTTP::Request または HTTP::Response に対してなんらかの処理をする系のプラグイン。ほとんど のものはこれ。
サーバーとしてうごく部分。HTTP::Proxy のみ現在はサポートされています。他のもののサポートは 誰かつくってくれると嬉しいな。たとえば POE::Component::Server::HTTP とか。
ストレージ系のベースクラス。
ストレージ。ストレージってのは、単なるハッシュのことだったりする。Storage の利用用途は 現在の UserAgent 情報を保存することだったりするので別に DBM_File とか使う必要はない。本質的には。 でも、HTTP::Proxy は都度 fork 実装なので、プロセス間での通信手段を適当に実装する手段として DBM_File を使ってるというだけだったり。このへんは今後変化する可能性が高そうだ。
ユーティリティ関数が入るところ。が、今のところは文字コードの判別が入ってるだけ。しかも code は Plagger::Util からのまるぱくりだったりするw
Moxy は Plagger や qpsmtpd のようなプラガブルな構成になっている。 プラグインを入れない状態では単なるプロキシサーバーとして動作する。
というわけで、フックポイントは Moxy のキモである。
現在 Moxy に設けられているフックポイントは大別すると2種類ある。 Moxy::Plugin::Server::* の中で設定されているフックポイントと Moxy::Plugin::ControlPanel で設定されているフックポイントである。
Moxy::Plugin::Server::* で呼ばれるフックは
リクエスト request_filter_process_agent ユーザーエージェントの設定 request_filter リクエストの処理 request_filter_E リクエストに対する処理(特定キャリヤ用) レスポンス response_filter レスポンスボディに対する処理 response_filter_E レスポンスボディに対する処理(特定キャリヤ用)
といったところ。HTTP::Request と HTTP::Response に対して処理を行っている。
Moxy::Plugin::ControlPanel で呼ばれるのは control_panel というフックのみ。 これはコントロールパネルを生成する人なのでちょっと他のとは赴きが違う。
基本的に今日現在の情報を書いただけなので作者の気紛れによってフックポイントやらなんやらは まだまだ変わる可能性があるし、この文書も obsolete になる可能性が多々あることを いいわけしておく。
Tokuhiro Matsuno.
To install Moxy, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Moxy
CPAN shell
perl -MCPAN -e shell install Moxy
For more information on module installation, please visit the detailed CPAN module installation guide.