Graham Dumpleton wrote: > As I think we all know, no one implements readline() for wsgi.input as > defined in the WSGI specification. The reason for this is that stuff > like cgi.FieldStorage would refuse to work and would just generate an > exception. This is because cgi.FieldStorage expects to pass an > argument to readline().
I haven't been keeping up on the issues this has caused wrt WSGI, but note that the reason that cgi.FieldStorage passes a size argument to readline is in order to prevent memory exhaustion when reading files that don't have any linebreaks (denial of service). See http://bugs.python.org/issue1112549 . > > So, although this is linked in the issues list for possible amendments > to WSGI specification, there hasn't that I recall been a discussion on > how readline() would be defined in any amendment or future version. > > In particular, would the specification be changed to either: > > 1. readline(size) where size argument is mandatory, or: > > 2. readline(size=-1) where size argument is optional. > > If the size argument is made mandatory, then it would parallel how > read() function is defined, but this in itself would mean > cgi.FieldStorage would break. > > This is because cgi.FieldStorage actually calls readline() with no > argument as well as an argument in different places in the code. cgi.FieldStorage doesn't call readline() without an argument. cgi.parse_multipart does, but this function is not used by cgi.FieldStorage. I don't know if this changes anything. - C _______________________________________________ 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