X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FDispatchType%2FChained.pm;h=8600ac083c8bf7ab51232a7716d7901a972791bc;hb=6ab73369947422004890abb05035c491b086283f;hp=b0e3f53fd6165402e61456825fea3744656a0436;hpb=f46240732bc1e71e45211a471ffc00e571e026b3;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/DispatchType/Chained.pm b/lib/Catalyst/DispatchType/Chained.pm index b0e3f53..8600ac0 100644 --- a/lib/Catalyst/DispatchType/Chained.pm +++ b/lib/Catalyst/DispatchType/Chained.pm @@ -329,7 +329,9 @@ sub uri_for_action { if (my $cap = $curr->attributes->{CaptureArgs}) { return undef unless @captures >= $cap->[0]; # not enough captures if ($cap->[0]) { - unshift(@parts, splice(@captures, -$cap->[0])); + unshift(@parts, + map { s/([^A-Za-z0-9\-_.!~*'()])/$URI::Escape::escapes{$1}/go; $_; } + splice(@captures, -$cap->[0])); } } if (my $pp = $curr->attributes->{PartPath}) {