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 )