Amon2
view release on metacpan or search on metacpan
lib/Amon2/Web/Dispatcher/Lite.pm view on Meta::CPAN
Router::Simple::Sinatraish->export_to_level(1);
my $router = $caller->router;
no strict 'refs';
*{"$caller\::dispatch"} = sub {
my ($klass, $c) = @_;
if (my $p = $router->match($c->request->env)) {
return $p->{code}->($c, $p);
} else {
if ($router->method_not_allowed) {
return $c->res_405();
} else {
return $c->res_404();
}
}
};
}
1;
__END__
lib/Amon2/Web/Dispatcher/RouterBoom.pm view on Meta::CPAN
};
}
# class methods
*{"${caller}::router"} = sub { $router };
*{"${caller}::dispatch"} = sub {
my ($class, $c) = @_;
my $env = $c->request->env;
if (my ($dest, $captured, $method_not_allowed) = $class->router->match($env->{REQUEST_METHOD}, $env->{PATH_INFO})) {
if ($method_not_allowed) {
return $c->res_405();
}
my $res = eval {
if ($dest->{code}) {
return $dest->{code}->($c, $captured);
} else {
my $method = $dest->{method};
$c->{args} = $captured;
return $dest->{class}->$method($c, $captured);
( run in 0.643 second using v1.01-cache-2.11-cpan-cc502c75498 )