Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mojolicious::routes::route(3pm) [debian man page]

Mojolicious::Routes::Route(3pm) 			User Contributed Perl Documentation			   Mojolicious::Routes::Route(3pm)

NAME
Mojolicious::Routes::Route - Route container SYNOPSIS
use Mojolicious::Routes::Route; my $r = Mojolicious::Routes::Route->new; DESCRIPTION
Mojolicious::Routes::Route is the route container used by Mojolicious::Routes. ATTRIBUTES
Mojolicious::Routes::Route implements the following attributes. "children" my $children = $r->children; $r = $r->children([Mojolicious::Routes::Route->new]); The children of this route, used for nesting routes. "inline" my $inline = $r->inline; $r = $r->inline(1); Allow "bridge" semantics for this route. "parent" my $parent = $r->parent; $r = $r->parent(Mojolicious::Routes::Route->new); The parent of this route, used for nesting routes. "partial" my $partial = $r->partial; $r = $r->partial(1); Route has no specific end, remaining characters will be captured in "path". "pattern" my $pattern = $r->pattern; $r = $r->pattern(Mojolicious::Routes::Pattern->new); Pattern for this route, defaults to a Mojolicious::Routes::Pattern object. METHODS
Mojolicious::Routes::Route inherits all methods from Mojo::Base and implements the following ones. "new" my $r = Mojolicious::Routes::Route->new; my $r = Mojolicious::Routes::Route->new('/:controller/:action'); Construct a new Mojolicious::Routes::Route object. "add_child" $r = $r->add_child(Mojolicious::Route->new); Add a new child to this route, it will be automatically removed from its current parent if necessary. # Reattach route $r->add_child($r->find('foo')); "any" my $route = $r->any('/:foo' => sub {...}); my $route = $r->any([qw(GET POST)] => '/:foo' => sub {...}); Generate route matching any of the listed HTTP request methods or all. See also the Mojolicious::Lite tutorial for more argument variations. $r->any('/user')->to('user#whatever'); "bridge" my $bridge = $r->bridge; my $bridge = $r->bridge('/:action'); my $bridge = $r->bridge('/:action', action => qr/w+/); my $bridge = $r->bridge(format => 0); Generate bridge. my $auth = $r->bridge('/user')->to('user#auth'); $auth->get('/show')->to('#show'); $auth->post('/create')->to('#create'); "delete" my $route = $r->delete('/:foo' => sub {...}); Generate route matching only "DELETE" requests. See also the Mojolicious::Lite tutorial for more argument variations. $r->delete('/user')->to('user#remove'); "detour" $r = $r->detour(action => 'foo'); $r = $r->detour({action => 'foo'}); $r = $r->detour('controller#action'); $r = $r->detour('controller#action', foo => 'bar'); $r = $r->detour('controller#action', {foo => 'bar'}); $r = $r->detour($app); $r = $r->detour($app, foo => 'bar'); $r = $r->detour($app, {foo => 'bar'}); $r = $r->detour('MyApp'); $r = $r->detour('MyApp', foo => 'bar'); $r = $r->detour('MyApp', {foo => 'bar'}); Set default parameters for this route and allow partial matching to simplify application embedding. "find" my $route = $r->find('foo'); Find child route by name, custom names have precedence over automatically generated ones. $r->find('show_user')->to(foo => 'bar'); "get" my $route = $r->get('/:foo' => sub {...}); Generate route matching only "GET" requests. See also the Mojolicious::Lite tutorial for more argument variations. $r->get('/user')->to('user#show'); "has_conditions" my $success = $r->has_conditions; Check if this route has active conditions. "has_custom_name" my $success = $r->has_custom_name; Check if this route has a custom name. "has_websocket" my $success = $r->has_websocket; Check if this route has a WebSocket ancestor. "is_endpoint" my $success = $r->is_endpoint; Check if this route qualifies as an endpoint. "is_websocket" my $success = $r->is_websocket; Check if this route is a WebSocket. "name" my $name = $r->name; $r = $r->name('foo'); The name of this route, defaults to an automatically generated name based on the route pattern. Note that the name "current" is reserved for refering to the current route. $r->get('/user')->to('user#show')->name('show_user'); "options" my $route = $r->options('/:foo' => sub {...}); Generate route matching only "OPTIONS" requests. See also the Mojolicious::Lite tutorial for more argument variations. $r->options('/user')->to('user#overview'); "over" my $over = $r->over; $r = $r->over(foo => qr/w+/); Activate conditions for this route. Note that this automatically disables the routing cache, since conditions are too complex for caching. $r->get('/foo')->over(host => qr/mojolicio.us/)->to('foo#bar'); "parse" $r = $r->parse('/:action'); $r = $r->parse('/:action', action => qr/w+/); $r = $r->parse(format => 0); Parse a pattern. "patch" my $route = $r->patch('/:foo' => sub {...}); Generate route matching only "PATCH" requests. See also the Mojolicious::Lite tutorial for more argument variations. $r->patch('/user')->to('user#update'); "post" my $route = $r->post('/:foo' => sub {...}); Generate route matching only "POST" requests. See also the Mojolicious::Lite tutorial for more argument variations. $r->post('/user')->to('user#create'); "put" my $route = $r->put('/:foo' => sub {...}); Generate route matching only "PUT" requests. See also the Mojolicious::Lite tutorial for more argument variations. $r->put('/user')->to('user#replace'); "remove" $r = $r->remove; Remove route from parent. # Remove route completely $r->find('foo')->remove; # Reattach route to new parent $r->route('/foo')->add_child($r->find('bar')->remove); "render" my $path = $r->render($suffix); my $path = $r->render($suffix, {foo => 'bar'}); Render route with parameters into a path. "root" my $root = $r->root; The Mojolicious::Routes object this route is an ancestor of. $r->root->cache(0); "route" my $route = $r->route; my $route = $r->route('/:action'); my $route = $r->route('/:action', action => qr/w+/); my $route = $r->route(format => 0); Generate route matching all HTTP request methods. "to" $r = $r->to(action => 'foo'); $r = $r->to({action => 'foo'}); $r = $r->to('controller#action'); $r = $r->to('controller#action', foo => 'bar'); $r = $r->to('controller#action', {foo => 'bar'}); $r = $r->to($app); $r = $r->to($app, foo => 'bar'); $r = $r->to($app, {foo => 'bar'}); $r = $r->to('MyApp'); $r = $r->to('MyApp', foo => 'bar'); $r = $r->to('MyApp', {foo => 'bar'}); Set default parameters for this route. "to_string" my $string = $r->to_string; Stringify the whole route. "under" my $route = $r->under(sub {...}); my $route = $r->under('/:foo'); Generate bridge. See also the Mojolicious::Lite tutorial for more argument variations. my $auth = $r->under('/user')->to('user#auth'); $auth->get('/show')->to('#show'); $auth->post('/create')->to('#create'); "via" my $methods = $r->via; $r = $r->via('GET'); $r = $r->via(qw(GET POST)); $r = $r->via([qw(GET POST)]); Restrict HTTP methods this route is allowed to handle, defaults to no restrictions. $r->route('/foo')->via(qw(GET POST))->to('foo#bar'); "websocket" my $websocket = $r->websocket('/:foo' => sub {...}); Generate route matching only "WebSocket" handshakes. See also the Mojolicious::Lite tutorial for more argument variations. $r->websocket('/echo')->to('example#echo'); SHORTCUTS
In addition to the attributes and methods above you can also call shortcuts on Mojolicious::Routes::Route objects. $r->root->add_shortcut(firefox => sub { my ($r, $path) = @_; $r->get($path, agent => qr/Firefox/); }); $r->firefox('/welcome')->to('firefox#welcome'); $r->firefox('/bye')->to('firefox#bye); SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>. perl v5.14.2 2012-09-05 Mojolicious::Routes::Route(3pm)
Man Page