[Catalyst] Request paths - rejoining Chained actions together.

Tomas Doran bobtfish at bobtfish.net
Sat May 10 08:10:50 BST 2008


On 9 May 2008, at 15:55, J. Shirley wrote:

> On Fri, May 9, 2008 at 5:00 AM, Tomas Doran <bobtfish at bobtfish.net>  
> wrote:
>> Some example URLs:
>>
>> /volume/*/track/*/format/*
>> /track/*format/*
>> <snip>
>> sub format : Chained('tracksequence', 'trackonvolume') PathPart 
>> ('format')
>> Args(1) {}
>>
>> But this doesn't work...
>>
>> <snip>
>
> It sounds like your actions are capture arguments, rather than
> separate midpoints (since they're working on the same resource,
> anyway).
>
> If you have someoperation as a CaptureArg, and stick that away in the
> stash to perform the action later in the chain, you should get what
> you want.
>

I see what you mean, but that means I have to do a reasonable amount  
of error handling myself, as there are only a few sets of actions  
which are valid..

Also, the number of arguments to access a resource can vary..

My URLs are of the form:

/thing/<canonical_identifier>/further/*/chained/*/things
/thing/other_identifier_p1/*/other_identifier_p2/*/further/*/chained/ 
*/things

Looking up by the canonical identifier, and another identifier are  
also actually different operations, so it'd be nice to be able to  
split them, but more to the point what you suggested just won't work,  
as I can't just say CaptureArgs(4) - as there can be different  
numbers of arguments for various points to join..

If I was to hack some code (and tests) up which supported my  
originally suggested syntax ( Chained('sub1', 'sub2') for joining  
chains), what would anyone feel about it?

Cheers
Tom




More information about the Catalyst mailing list