|
NAMEHTTP::Router - Yet Another Path Router for HTTP SYNOPSIS use HTTP::Router;
my $router = HTTP::Router->new;
my $route = HTTP::Router::Route->new(
path => '/',
conditions => { method => 'GET' },
params => { controller => 'Root', action => 'index' },
);
$router->add_route($route);
# or
$router->add_route('/' => (
conditions => { method => 'GET' },
params => { controller => 'Root', action => 'index' },
));
# GET /
my $match = $router->match($req);
$match->params; # { controller => 'Root', action => 'index' }
$match->uri_for; # '/'
DESCRIPTIONHTTP::Router provides a way of constructing routing tables. If you are interested in a Merb-like constructing way, please check HTTP::Router::Declare. METHODSnewReturns a HTTP::Router object. add_route($route)add_route($path, %args)Adds a new route. You can specify HTTP::Router::Route object, or path string and options pair. example: my $route = HTTP::Router::Route->new(
path => '/',
conditions => { method => 'GET' },
params => { controller => 'Root', action => 'index' },
);
$router->add_route($route);
equals to: $router->add_route('/' => (
conditions => { method => 'GET' },
params => { controller => 'Root', action => 'index' },
));
routesReturns registered routes. resetClears registered routes. freezeCreates inline matcher using registered routes. thawClears inline matcher. is_frozenReturns true if inline matcher is defined. match($req)Returns a HTTP::Router::Match object that matches a given request. If no routes match, it returns "undef". route_for($req)Returns a HTTP::Router::Route object that matches a given request. If no routes match, it returns "undef". AUTHORNAKAGAWA Masaki <masaki@cpan.org> Takatoshi Kitano <kitano.tk@gmail.com> LICENSEThis library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSOHTTP::Router::Declare, HTTP::Router::Route, HTTP::Router::Match, MojoX::Routes, <http://merbivore.com/>, HTTPx::Dispatcher, Path::Router, Path::Dispatcher
|