removed code I should not have checkedin
[catagits/Catalyst-Runtime.git] / lib / Catalyst / ActionRole / HTTPMethods.pm
index 4f2a0d5..809eaa0 100644 (file)
@@ -4,7 +4,7 @@ use Moose::Role;
 
 requires 'match', 'match_captures', 'list_extra_info';
 
-around ['match','match_captures'], sub {
+around ['match','match_captures'] => sub {
   my ($orig, $self, $ctx, @args) = @_;
   my $expected = $self->_normalize_expected_http_method($ctx->req);
   return $self->_has_expected_http_method($expected) ?
@@ -29,7 +29,13 @@ sub _has_expected_http_method {
 
 sub allowed_http_methods { @{shift->attributes->{Method}||[]} }
 
-sub list_extra_info { sort shift->allowed_http_methods }
+around 'list_extra_info' => sub {
+  my ($orig, $self, @args) = @_;
+  return {
+    %{ $self->$orig(@args) }, 
+    HTTP_METHODS => [sort $self->allowed_http_methods],
+  };
+};
 
 1;
 
@@ -116,7 +122,9 @@ normalized as noted above (using X-Method* overrides).
 
 =head2 list_extra_info
 
-Returns an array of the allowed HTTP Methods, sorted.
+Adds a key => [@values] "HTTP_METHODS" whose value is an ArrayRef of sorted
+allowed methods to the ->list_extra_info HashRef.  This is used primarily for
+debugging output.
 
 =head2 _has_expected_http_method ($expected)