[Catalyst] Chained, slashes, and escaping

Jim Spath jspath at pangeamedia.com
Mon Mar 5 20:33:09 GMT 2007


I'm implementing tagging under Catalyst and want to be as unrestrictive 
as possible on the tag text.  As such, I allow slashes in the tag text.

To view information on a given tag, you hit the following path:

/tag/URI_ESCAPED_TAG

Which uses the following action in the Tag controller:

sub view : PathPart('tag') Chained('/') Args {
   my ($self, $c, $tag) = @_;

To test and make sure the escaping is working properly I created the 
following tag:

sl/ashes

When I access the following URI:

/tag/sl%2Fashes

$tag gets set to sl instead of sl/ashes.

Chained appears to be using the unescaped path when it looks for the 
separator instead of the actual path.

Is this a bug or a feature?  How can I work around it?

- Jim



More information about the Catalyst mailing list