X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FDispatchType%2FChained.pm;h=d637db7f5165010ee431557f1feff74e9573d736;hb=234763d423ad763148bbbb4ece98acd2d009b969;hp=10342b95a61ac4ee432384a5496165c8909fa8dc;hpb=7f64ae17316627bb574a9689955bd85bf8dd7518;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/DispatchType/Chained.pm b/lib/Catalyst/DispatchType/Chained.pm index 10342b9..d637db7 100644 --- a/lib/Catalyst/DispatchType/Chained.pm +++ b/lib/Catalyst/DispatchType/Chained.pm @@ -85,7 +85,7 @@ sub list { $paths->row(@$_) for @rows; } - $c->log->debug( "Loaded Path Part actions:\n" . $paths->draw ); + $c->log->debug( "Loaded Chained actions:\n" . $paths->draw . "\n" ); } =head2 $self->match( $c, $path ) @@ -141,6 +141,10 @@ sub recurse_match { my @try_actions = @{$children->{$try_part}}; TRY_ACTION: foreach my $action (@try_actions) { if (my $capture_attr = $action->attributes->{CaptureArgs}) { + + # Short-circuit if not enough remaining parts + next TRY_ACTION unless @parts >= $capture_attr->[0]; + my @captures; my @parts = @parts; # localise