logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Contributors

       Dave Rolsky <autarch@urth.org>

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.

License

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

perl v5.34.0                                       2022-06-09              Catalyst::Acti...ST::ForBrowsers(3pm)

Methods

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

Name

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

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.

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

See Also