GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  ROUTER::BOOM::METHOD (3)

.ds Aq ’

NAME

Router::Boom::Method - Router::Boom with HTTP method support

CONTENTS

DESCRIPTION

Router::Boom doesn’t care the routing with HTTP method. It’s simple and good. But it makes hard to implement the rule like this:



    get  / => sub { get ok  };
    post / => sub { post ok };



Then, this class helps you.

METHODS

my $router = Router::Boom::Method->new() Create new instance.
$router->add($http_method:Str|ArrayRef[Str], $path:Str, $opaque:Any) Add new path to the router.

$http_method is a string to represent HTTP method. i.e. GET, POST, DELETE, PUT, etc. The path can handle any HTTP methods, you’ll path the undef for this argument. You can specify the multiple HTTP methods in ArrayRef like $router->add([qw(GET HEAD)], /, top). It will be matching with the REQUEST_METHOD.

$path is the path string. It will be matching with the PATH_INFO.

$opaque is the destination path data. Any data is OK.

my ($dest, $captured, $is_method_not_allowed, $allowed_methods) = $router->match($http_method:Str, $path:Str) Matching with the router.

$http_method is the HTTP request method. It’s $env->{REQUEST_METHOD} in PSGI.

$path is the path string. It’s $env->{PATH_INFO} in PSGI.

Return Value:

If the request is not matching with any path, this method returns empty list.

If the request is matched well then, return $dest, $captured. And $is_method_not_allowed is false value.

If the request path is matched but the $http_method is not matched, then $dest and $captured is undef. And $is_method_not_allowed is true value. You got this then you need to return 405 Method Not Allowed error.

If the request path is matched but the $http_method is not matched, then $dest and $captured is undef. And $allowed_methods is ArrayRef. You got this then you need to return 405 Method Not Allowed error with Allow header.

my $regexp = $router->regexp() Get a compiled regexp for debugging.
my @routes = $router->routes() <B>EXPERIMENTALB>

Get the list of registered routes. Every routes has following schema.



    [Maybe[ArrayRef], Str, Any]



For example:



    [[GET,HEAD], "/foo", \&dispatch_foo]



AUTHORS

Tokuhiro Matsuno
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 ROUTER::BOOM::METHOD (3) 2016-03-17

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.