Don't write "HTTP::Engine::Response"
HTTP::Engine::Responseと書かなければならいのがなんだか煩わしい。
HTTP::EngineのSYNOPSISより:
sub handle_request { my $req = shift; HTTP::Engine::Response->new( body => Dumper($req) ); }
これを↓みたいに書きたい。
sub handle_request { my($req, $res) = @_; $res->print( Dumper($req) ); return; # $resを返す必要すらない }
こうなると,まずhandle_request()が完全にHTTP::Engine非依存になるため,たとえばHTTP::Engine::MinimalCGIのようなHTTP::Engine互換のモジュールと自然に切り替えられる。
そのうえ,$resの自由度が上がるので拡張性も増す。たとえば,$resは単なるファイルハンドルオブジェクトの一種でもいいし,MyApp::Response::XSのような別バージョンでもよくなる。
インターフェイスを変える価値があるかどうかは分からないが。