NAME

Catalyst::Action::REST::ForBrowsers - Automated REST Method Dispatching that Accommodates Browsers

SYNOPSIS

sub foo :Local :ActionClass('REST::ForBrowsers') {
  ... do setup for HTTP method specific handlers ...
}

sub foo_GET : Private {
  ... do something for GET requests ...
}

sub foo_GET_html : Private {
  ... do something for GET requests from browsers ...
}

sub foo_PUT : Private {
  ... do something for PUT requests ...
}

DESCRIPTION

This class subclasses Catalyst::Action::REST to add an additional dispatching hook. If the request is a GET request and the request looks like it comes from a browser, it tries to dispatch to a GET_html method before trying to the GET method instead. All other HTTP methods are dispatched in the same way.

For example, in the synopsis above, calling GET on "/foo" from a browser will end up calling the foo_GET_html method. If the request is not from a browser, it will call foo_GET.

See Catalyst::Action::REST for more details on dispatching details.

METHODS

dispatch

This method overrides the default dispatch mechanism to the re-dispatching mechanism described above.

SEE ALSO

You likely want to look at Catalyst::Controller::REST, which implements a sensible set of defaults for a controller doing REST.

This class automatically adds the Catalyst::TraitFor::Request::REST::ForBrowsers role to your request class.

CONTRIBUTORS

Dave Rolsky <autarch@urth.org>

COPYRIGHT

Copyright the above named AUTHOR and CONTRIBUTORS

LICENSE

You may distribute this code under the same terms as Perl itself.