[Web-SIG] Declaring PEP 3333 accepted (was: PEP 444 != WSGI 2.0)
P.J. Eby
pje at telecommunity.com
Fri Jan 7 05:28:03 CET 2011
At 10:33 AM 1/4/2011 -0800, Guido van Rossum wrote:
>But the flush() I was referring to is actually *before* either of
>these, suggesting
>
>sys.stdout.flush()
>sys.stdout.buffer.write(data)
>sys.stdout.buffer.flush()
>
>However the first flush() is only necessary is there's a possibility
>that previously something had been written to sys.stdout (not to
>sys.stdout.buffer).
Yeah, that sort of error checking seems out of scope for a PEP
example. If something was written to sys.stdout at that point, your
CGI was already broken. ;-)
> > For the CGI example in the PEP, I don't want to bother trying to make it
> > fully production-usable; that's what we have wsgiref in the stdlib for. So
> > I won't worry about mixing strings and regular output in the example, even
> > if perhaps wsgiref should add the StringIO's proposed by Graham.
>
>Not sure what you mean. Surely copying and pasting the examples should
>work? What are the details you'd like to leave out?
I meant that a production CGI gateway should handle various
boundary/error conditions. Graham was saying that a CGI gateway
should replace sys.stdout to avoid stray print()s causing problems,
and I consider that similar to saying, "what if somebody wrote text
to sys.stdout?" -- i.e., an error handling case that would be a good
idea in a production gateway, but which would obscure the common case
that the example is meant to illustrate.
More information about the Web-SIG
mailing list