Catalyst::Action::REST::ForBrowsers(3) Automated REST Method Dispatching that Accommodates Browsers


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 ...


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.


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


Dave Rolsky <[email protected]>


Copyright the above named AUTHOR and CONTRIBUTORS


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