add debug information for the new http method support
Dimitar Petrov [Mon, 18 Feb 2013 10:39:17 +0000 (11:39 +0100)]
lib/Catalyst/ActionRole/HTTPMethods.pm
lib/Catalyst/DispatchType/Chained.pm

index a0ab7e2..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,11 +29,11 @@ sub _has_expected_http_method {
 
 sub allowed_http_methods { @{shift->attributes->{Method}||[]} }
 
-around 'list_extra_info', sub {
+around 'list_extra_info' => sub {
   my ($orig, $self, @args) = @_;
   return {
     %{ $self->$orig(@args) }, 
-    +{ HTTP_METHODS => [sort $self->allowed_http_methods] }
+    HTTP_METHODS => [sort $self->allowed_http_methods],
   };
 };
 
index 5ae5152..2b27ec4 100644 (file)
@@ -127,6 +127,9 @@ sub list {
             unless ($p eq $parents[0]) {
                 $name = "-> ${name}";
             }
+            if (defined(my $extra = $p->list_extra_info->{HTTP_METHODS})) {
+                $name .= ' ('.join(', ', @$extra).')';
+            }
             push(@rows, [ '', $name ]);
         }
         push(@rows, [ '', (@rows ? "=> " : '')."/${endpoint}" ]);