[Web-SIG] Proposal to remove SCRIPT_NAME/PATH_INFO

James Y Knight foom at fuhm.net
Wed Sep 23 05:25:14 CEST 2009


On Sep 22, 2009, at 10:22 PM, Ian Bicking wrote:
> I propose we switch primarily to "native" strings: str on both  
> Python 2 and 3.
> [...]
> All [...] headers will be treated as Latin1.

I like this. I think it would be "cleaner" to use bytes for all these  
things, but it's not really important. Given that headers and such are  
generally going to be ASCII, this works fine, is easy to implement,  
and is convenient for users.

> I then propose that we eliminate SCRIPT_NAME and PATH_INFO.  Instead  
> we have:
>
> wsgi.script_name
> wsgi.path_info (I'm not entirely set on these names)

IMO it would be better to continue providing SCRIPT_NAME/PATH_INFO, as  
latin-1 decoded strings -- the same as the other keys, but mark them  
deprecated, and *also* provide wsgi.script_name / wsgi.path_info with  
the semantics you describe.

I'll also note that it's generally possible to create wsgi.script_name  
and wsgi.path_info in a CGI wrapper, given only SCRIPT_NAME and  
PATH_INFO. You merely have to assume that all '/' characters are real  
slashes, and should remain slashes instead of being quoted into %2F.  
This is guaranteed true for most servers out there (they will forbid  
invoking a CGI with %2Fs in the url.) So nobody should have any issues  
implementing the WSGI-container side of this proposal.

James
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/web-sig/attachments/20090922/922ef7e7/attachment-0001.htm>


More information about the Web-SIG mailing list