[Web-SIG] Move to bless Graham's WSGI 1.1 as official spec

And Clover and-py at doxdesk.com
Tue Dec 1 01:44:48 CET 2009


Graham Dumpleton wrote:

> Answering my own question, it is actually obvious that it has to be
> called (1, 0). This is because wsgiref in Python 3.X already calls it
> (1, 0) and don't have much choice to be in agreement with that.

wsgiref.simple_server in Python 3 to date is not something that anyone 
should worry about being compatible with. It is a 2to3 hack that cannot 
meaningfully claim to represent wsgi version anything.

Careless use of urllib.parse.unquote causes 3.0's simple_server not to 
work at all, and 3.1's to mangle the path by treating it as UTF-8 
instead of ISO-8859-1, as 'WSGI 1.1' proposed and mod_wsgi (and even 
mod_cgi via wsgiref.CGIHandler) delivered.

Yes, I'm always going on about Unicode paths. I'm fed up of shipping 
apps with a page-long deployment note about fixing them. It pains me 
that in so many years both this and "What do we do about Python 3?" 
still haven't been addressed.

mod_wsgi 3.0 already has more traction than wsgiref 3.1 and I would 
prefer not to see more farcical reverse-progress at this point.

For what it's worth my responses on the issues of this thread. But at 
this point I really just want a BDFL to just come and do it, whatever it 
is. A new WSGI, whatever the version number, is massively overdue.

 >> 1. The 'readline()' function of 'wsgi.input' may optionally take a 
size hint.

Yes. Obviously. Bad practice but unavoidable now. Should have been a 1.0 
amendment a long time ago.

 >> 2. The 'wsgi.input' must provide an empty string as end of input 
stream marker.
 >> 3. The size argument to 'read()' function of 'wsgi.input' would be 
optional and if not supplied the function would return all available 
request content.
 >> 4. The 'wsgi.file_wrapper' supplied by the WSGI adapter must honour 
the Content-Length response header and must only return from the file 
that amount of content.

+0. Seems reasonable but don't massively care. Presumably an application 
must refuse to run on 1.0 if it requires these behaviours?

 >> 5. Any WSGI application or middleware should not return more data 
than specified by the Content-Length response header if defined.
 >> 6. The WSGI adapter must not pass on to the server any data above 
what the Content-Length response header defines if supplied.

Yes.

-- 
And Clover
mailto:and at doxdesk.com
http://www.doxdesk.com/


More information about the Web-SIG mailing list