Plack::App::HTTP::Router - A Plack component for RESTful dispatching
RESTfulなdispatchをするPlack Appを作ってみた。
http://github.com/dann/p5-plack-app-http-router
使い方
use Plack::Builder; use Plack::App::HTTP::Router; use HTTP::Router::Declare; use lib 'examples/lib'; my $router = router { match '/' => to { controller => 'Root', action => 'index' }; resources 'Weather'; match '/{controller}/{action}/{id}.{format}'; match '/{controller}/{action}/{id}'; }; my $app = Plack::App::HTTP::Router->new({ router => $router} )->to_app; builder { enable "Plack::Middleware::MethodOverride"; $app; };
controller, actionにmappingする時点でpsgiのhandlerをmappingしにくいので、かなり微妙な感じはするのだけれど。
WAFのdispatchする部分は、Appとして実装するのがいいだろうなぁと思ってるので、そのサンプル実装くらいには使えるんじゃないかなぁと。