debian man page for mojolicious::routes::route

Query: mojolicious::routes::route

OS: debian

Section: 3pm

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

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)
Similar Topics in the Unix Linux Community
afterstep tutorial?
Static Routes question
Routes being automatically added
Find and replace the path value in files, pattern is not full known.
Remove post please