MojoとHTTP::Engine
ここまでMojoとそのサンプルフレームワークであるMojoliciousについて見てきましたが,
HTTP::Engineの誕生
HTTP::Engineも,
CatalystもCPANモジュールをつなぐ
アプリケーションの書き方に大差はありません
そのインタフェースについては紆余曲折がありましたが,
package HelloWorld;
use strict;
use warnings;
use HTTP::Engine::Response;
sub handler {
my $req = shift;
my $res = HTTP::Engine::Response->new;
$res->status(200);
$res->headers->content_type('text/plain');
$res->body('Hello HTTP::Engine!');
return $res;
}
1;
スタンドアロンサーバを起動するためのスクリプトはこんな感じです。
#!perl
use strict;
use warnings;
use lib 'lib';
use HTTP::Engine;
use HelloWorld;
HTTP::Engine->new(interface => {
module => 'ServerSimple',
args => {
port => 3000,
},
request_handler => 'HelloWorld::handler',
})->run;
このくらいのアプリケーションであればlib/
それなのに,
DRYとDIY
MojoとHTTP::Engineのもっとも顕著な違いは,
HTTP::Engineや,
ただし,
たとえば,
- ※1
http://
rt. cpan. org/ Public/ Bug/ Display. html?id=34310
http://rt. cpan. org/ Public/ Bug/ Display. html?id=41407
そんなHTTP::EngineやCatalystを反面教師に生まれたMojoは,
リーデル氏のねらいは,
リーデル氏は現在CPANにあがっているモジュールのなかでMojoだけがクッキーを正しく処理できると主張していますが,