Apache-Hendrix
view release on metacpan or search on metacpan
lib/Apache/Hendrix.pm view on Meta::CPAN
__PACKAGE__->request($r);
my %params;
%params = %{ $r->param } if $r->param;
my $uri = $r->uri;
# Find handlers for this type of request
my $handlers =
__PACKAGE__->handlers->{ $ENV{CONTEXT_PREFIX} }->{ $ENV{REQUEST_METHOD} };
# 404 if we don't have any
return Apache2::Const::NOT_FOUND if !$handlers;
# Check one by one to see if we have a match, either string or regexp
ROUTE:
for my $route ( @{$handlers} ) {
my $base = $route->get_base();
my $tmp_uri = $uri;
$tmp_uri =~ s/^$base//;
$tmp_uri ||= '/';
if (
lib/Apache/Hendrix.pm view on Meta::CPAN
}
my $result = $route->get_method->( \%params, $r, $route );
if ( ref $result ) {
return make_json( $r, $result );
}
return $result;
}
} ## end ROUTE: for my $route ( @{$handlers...})
# No route found, we 404.
return Apache2::Const::NOT_FOUND;
} ## end sub handler
sub make_json {
my ( $r, $object ) = @_;
my $result = __PACKAGE__->json->encode($object);
$r->content_type('application/json');
$r->set_content_length( length($result) );
( run in 1.477 second using v1.01-cache-2.11-cpan-39bf76dae61 )