1 package Catalyst::Action::REST::ForBrowsers;
4 use namespace::autoclean;
7 $VERSION = eval $VERSION;
9 extends 'Catalyst::Action::REST';
10 use Catalyst::Request::REST::ForBrowsers;
15 Catalyst::Request::REST::ForBrowsers->_insert_self_into( $config->{class} );
16 return $class->SUPER::BUILDARGS( $config, @_ );
19 override dispatch => sub {
23 my $req = $c->request();
26 unless $req->can('looks_like_browser')
27 && $req->looks_like_browser()
28 && uc $c->request()->method() eq 'GET';
30 my $controller = $c->component( $self->class );
31 my $rest_method = $self->name() . '_GET_html';
33 if ( $controller->action_for($rest_method)
34 || $controller->can($rest_method) ) {
36 return $self->_dispatch_rest_method( $c, $rest_method );
42 __PACKAGE__->meta->make_immutable;