X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FAction%2FREST.pm;h=4ab3963dedde850314e16d88ac342278999d5ab6;hb=239c8eef9c9e06de347d1083733e7e0ce0d3be6a;hp=bc715f638868301ca0c4abc6221d729282587bb9;hpb=e566b7c797b76740ac385886bd717c5c82caea77;p=catagits%2FCatalyst-Action-REST.git diff --git a/lib/Catalyst/Action/REST.pm b/lib/Catalyst/Action/REST.pm index bc715f6..4ab3963 100644 --- a/lib/Catalyst/Action/REST.pm +++ b/lib/Catalyst/Action/REST.pm @@ -61,7 +61,8 @@ by implementing a custom 405 handler like so: If you do not provide an _OPTIONS subroutine, we will automatically respond with a 200 OK. The "Allow" header will be populated with the list of -implemented request methods. +implemented request methods. If you do not provide an _HEAD either, we will +auto dispatch to the _GET one in case it exists. It is likely that you really want to look at L, which brings this class together with automatic Serialization of requests @@ -146,7 +147,7 @@ sub _dispatch_rest_method { $c->execute( $self->class, $self, @{ $req->args } ); } -sub _get_allowed_methods { +sub get_allowed_methods { my ( $self, $controller, $c, $name ) = @_; my $class = ref($controller) ? ref($controller) : $controller; my $methods = Class::Inspector->methods($class); @@ -155,16 +156,17 @@ sub _get_allowed_methods { sub _return_options { my ( $self, $method_name, $controller, $c) = @_; - my @allowed = $self->_get_allowed_methods($controller, $c, $method_name); + my @allowed = $self->get_allowed_methods($controller, $c, $method_name); $c->response->content_type('text/plain'); $c->response->status(200); $c->response->header( 'Allow' => \@allowed ); + $c->response->body(q{}); } sub _return_not_implemented { my ( $self, $method_name, $controller, $c ) = @_; - my @allowed = $self->_get_allowed_methods($controller, $c, $method_name); + my @allowed = $self->get_allowed_methods($controller, $c, $method_name); $c->response->content_type('text/plain'); $c->response->status(405); $c->response->header( 'Allow' => \@allowed ); @@ -243,6 +245,8 @@ Gerv http://www.gerv.net/ Colin Newell +Wallace Reis Ewreis@cpan.orgE + =head1 COPYRIGHT Copyright (c) 2006-2012 the above named AUTHOR and CONTRIBUTORS