Additional pod cleanups
[catagits/Catalyst-Action-REST.git] / lib / Catalyst / Action / REST.pm
index 898ce60..7adc6b2 100644 (file)
@@ -17,7 +17,8 @@ use Catalyst::Controller::REST;
 
 BEGIN { require 5.008001; }
 
-our $VERSION = '0.74';
+our $VERSION = '0.78';
+$VERSION = eval $VERSION;
 
 sub new {
   my $class  = shift;
@@ -40,15 +41,18 @@ Catalyst::Action::REST - Automated REST Method Dispatching
       ... do something for GET requests ...
     }
 
-    sub foo_PUT {
-      ... do somethign for PUT requests ...
+    # alternatively use an Action
+    sub foo_PUT : Action {
+      ... do something for PUT requests ...
     }
 
 =head1 DESCRIPTION
 
 This Action handles doing automatic method dispatching for REST requests.  It
 takes a normal Catalyst action, and changes the dispatch to append an
-underscore and method name.
+underscore and method name.  First it will try dispatching to an action with
+the generated name, and failing that it will try to dispatch to a regular
+method.
 
 For example, in the synopsis above, calling GET on "/foo" would result in
 the foo_GET method being dispatched.
@@ -94,8 +98,9 @@ sub dispatch {
     my ($code, $name);
 
     # Common case, for foo_GET etc
-    if ( my $action = $controller->action_for($rest_method) ) {
-        return $c->forward( $action,  $c->req->args );
+    if ( $code = $controller->action_for($rest_method) ) {
+        $c->execute( $self->class, $self, @{ $c->req->args } );
+        return $c->forward( $code,  $c->req->args );
      } elsif ($code = $controller->can($rest_method)) {
         # Exceute normal action
         $c->execute( $self->class, $self, @{ $c->req->args } );
@@ -175,24 +180,10 @@ L<Catalyst::Action::Serialize>, L<Catalyst::Action::Deserialize>
 
 =item Q: I'm getting a "415 Unsupported Media Type" error. What gives?!
 
-<<<<<<< HEAD:lib/Catalyst/Action/REST.pm
-A:  Most likely, you haven't set Content-type equal to "application/json", or one of the
-accepted return formats.  You can do this by setting it in your query string thusly:
-?content-type=application%2Fjson (where %2F == / uri escaped).
-
-**NOTE** Apache will refuse %2F unless configured otherise.
-Make sure AllowEncodedSlashes On is in your httpd.conf file in order for this to run smoothly.
-
-=cut
-
-=cut
-
-=======
 A:  Most likely, you haven't set Content-type equal to "application/json", or
 one of the accepted return formats.  You can do this by setting it in your query
 accepted return formats.  You can do this by setting it in your query string
 thusly: C<< ?content-type=application%2Fjson (where %2F == / uri escaped). >>
->>>>>>> f04ed654a172628f642bdefe8483c1e6becf9ad1:lib/Catalyst/Action/REST.pm
 
 B<NOTE> Apache will refuse %2F unless configured otherise.
 Make sure C<< AllowEncodedSlashes On >> is in your httpd.conf file in orde
@@ -200,8 +191,16 @@ for this to run smoothly.
 
 =back
 
+=head1 AUTHOR
+
+Adam Jacob <adam@stalecoffee.org>, with lots of help from mst and jrockway
+
+Marchex, Inc. paid me while I developed this module. (L<http://www.marchex.com>)
+
 =head1 CONTRIBUTORS
 
+Arthur Axel "fREW" Schmidt <frioux@gmail.com>
+
 Christopher Laco
 
 Luke Saunders
@@ -216,11 +215,9 @@ Hans Dieter Pearcey
 
 Tomas Doran (t0m) <bobtfish@bobtfish.net>
 
-=head1 AUTHOR
-
-Adam Jacob <adam@stalecoffee.org>, with lots of help from mst and jrockway
+=head1 COPYRIGHT
 
-Marchex, Inc. paid me while I developed this module. (L<http://www.marchex.com>)
+Copyright the above named AUTHOR and CONTRIBUTORS
 
 =head1 LICENSE