On Feb 7, 2007, at 12:30 PM, Chris Shenton wrote:

>> FWIW, there will be no way for Routes to distinguish an incoming  
>> request
>> for FastEnet-10/100 from FastEnet-10%2f100 -- WSGI/CGI dictates  
>> that the
>> path is decoded before it is sent to Routes, so the two end up the  
>> same.
>
> I didn't realize that.  So even if generate() explicitly
> quote_plus()'d its kwargs, routes would still see naked slashes?
>
> Any suggestion on the best way to get around this so I can have args
> that do contain slashes?

Given that a WSGI server can decide to un-escape args so that the  
slashes will be put in, I see no way for Routes to deal with this. It  
purposely leaves slashes in should you pass them in for an arg, which  
is what you'd want in the case of the *text arg that your route  
takes, since it can match slashes... Adding logic to sometimes escape  
slashes, and sometimes not escape them would hinder predictability on  
how Routes is going to generate the url, plus as Ian noted there's no  
guarantee the escaped slash will stay escaped before Routes next sees  
it.

If you require slashes in an argument, I'd suggest having them be  
query arguments, as those are URL escaped and peeled off before  
Routes does its match.

Cheers,
Ben

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to