Graham Dumpleton wrote:
Just noticed that although WSGI PEP doesn't specifically mention that
argument to read() on wsgi.input is optional, wsgiref.validate allows
calling read() with no argument.
From wsgiref.validate:
"""
* That wsgi.input is used properly:
- .read() is called with zero or one argument
class InputWrapper:
def read(self, *args):
assert_(len(args) <= 1)
v = self.input.read(*args)
assert_(type(v) is type(""))
return v
"""
Of course, the issue is still that WSGI PEP says:
"""The server is not required to read past the client's specified
Content-Length, and ***is allowed to simulate an end-of-file condition
if the application attempts to read past that point***."""
An application that relies on the server to simulate end-of-file will be
a broken application on some servers. This is not an uncommon problem.
Therefore the validator tests for this case; if you want an
application that actually works consistently, you shouldn't do
environ['wsgi.input'].read().
--
Ian Bicking : i...@colorstudy.com : http://blog.ianbicking.org
_______________________________________________
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe:
http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com