It&#39;s implied by WSGI itself that the path be unquoted; there&#39;s no fix short of changing the specification.<br><br><br><div class="gmail_quote">On Thu, Mar 17, 2011 at 1:10 PM, Florian Friesdorf <span dir="ltr">&lt;<a href="mailto:flo@chaoflow.net">flo@chaoflow.net</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br>
I think paste.httpserver.WSGIHandlerMixin.wsgi_setup should not<br>
urllib.unquote the path [1] before setting it in the wsgi environment<br>
[2]. The only pre-processing performed on the path between [1] and [2]<br>
is concerned with slashes &#39;/&#39;. By urllib.unquoting it is not possible to<br>
have urllib.quoted slashes within one path segment.<br>
<br>
At least pyramid without routing fully relies on<br>
``environ[&#39;PATH_INFO&#39;]`` [3]; by commenting [1] I succeeded to have<br>
slashes in path segments, they are handle by pyramid in [4]f.<br>
<br>
However, webob.request.BaseRequest would need to be adjusted wherever<br>
PATH_INFO from the environment is used (e.g [5]).<br>
<br>
Reasoning: The path stored in environ[&#39;PATH_INFO&#39;] is still a path,<br>
therefore it must not be urllib.unquoted, the unquoting must happen<br>
after the path is split up in segments ([4]).<br>
<br>
[1] <a href="https://bitbucket.org/ianb/paste/src/4f5cfde87603/paste/httpserver.py#cl-180" target="_blank">https://bitbucket.org/ianb/paste/src/4f5cfde87603/paste/httpserver.py#cl-180</a><br>
[2] <a href="https://bitbucket.org/ianb/paste/src/4f5cfde87603/paste/httpserver.py#cl-217" target="_blank">https://bitbucket.org/ianb/paste/src/4f5cfde87603/paste/httpserver.py#cl-217</a><br>
[3] <a href="https://github.com/Pylons/pyramid/blob/master/pyramid/traversal.py#L594" target="_blank">https://github.com/Pylons/pyramid/blob/master/pyramid/traversal.py#L594</a><br>
[4] <a href="https://github.com/Pylons/pyramid/blob/master/pyramid/traversal.py#L495" target="_blank">https://github.com/Pylons/pyramid/blob/master/pyramid/traversal.py#L495</a><br>
[5] <a href="https://bitbucket.org/ianb/webob/src/c0bb5309cfca/webob/request.py#cl-265" target="_blank">https://bitbucket.org/ianb/webob/src/c0bb5309cfca/webob/request.py#cl-265</a><br>
<font color="#888888"><br>
--<br>
Florian Friesdorf &lt;<a href="mailto:flo@chaoflow.net">flo@chaoflow.net</a>&gt;<br>
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083<br>
Jabber/XMPP: <a href="mailto:flo@chaoflow.net">flo@chaoflow.net</a><br>
IRC: chaoflow on freenode,ircnet,blafasel,OFTC<br>
</font><br>_______________________________________________<br>
Web-SIG mailing list<br>
<a href="mailto:Web-SIG@python.org">Web-SIG@python.org</a><br>
Web SIG: <a href="http://www.python.org/sigs/web-sig" target="_blank">http://www.python.org/sigs/web-sig</a><br>
Unsubscribe: <a href="http://mail.python.org/mailman/options/web-sig/ianb%40colorstudy.com" target="_blank">http://mail.python.org/mailman/options/web-sig/ianb%40colorstudy.com</a><br>
<br></blockquote></div><br>