X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FActionRole%2FHTTPMethods.pm;h=d0ee99cd2a5420dd670e5c22efc1ea8f9fe8fd8b;hp=a67d629aa395698e8e64026ec0301686e8970e1d;hb=70949f28d6d56c8c882cd937b9c3be5e04aaba62;hpb=e2a8c7e5e1e3bd9a510ec5758a505585de2f3172 diff --git a/lib/Catalyst/ActionRole/HTTPMethods.pm b/lib/Catalyst/ActionRole/HTTPMethods.pm index a67d629..d0ee99c 100644 --- a/lib/Catalyst/ActionRole/HTTPMethods.pm +++ b/lib/Catalyst/ActionRole/HTTPMethods.pm @@ -4,14 +4,7 @@ use Moose::Role; requires 'match', 'match_captures', 'list_extra_info'; -around ['match','match_captures'] => sub { - my ($orig, $self, $ctx, @args) = @_; - my $expected = $ctx->req->method; - return $self->_has_expected_http_method($expected) ? - $self->$orig($ctx, @args) : - 0; -}; - +sub allowed_http_methods { @{shift->attributes->{Method}||[]} } sub _has_expected_http_method { my ($self, $expected) = @_; @@ -20,7 +13,14 @@ sub _has_expected_http_method { 1 : 0; } -sub allowed_http_methods { @{shift->attributes->{Method}||[]} } +around ['match','match_captures'] => sub { + my ($orig, $self, $ctx, @args) = @_; + return 0 unless $self->$orig($ctx, @args); + + my $expected = $ctx->req->method; + warn $expected; + return $self->_has_expected_http_method($expected); +}; around 'list_extra_info' => sub { my ($orig, $self, @args) = @_;