[issue21890] wsgiref.simple_server doesn't accept empty bytes before start_response is called

PJ Eby report at bugs.python.org
Wed Jul 2 20:57:06 CEST 2014


PJ Eby added the comment:

Please see this paragraph of the spec (my emphasis added):

(Note: the application must invoke the start_response() callable **before the iterable yields its first body string**, so that the server can send the headers before any body content. However, this invocation may be performed by the iterable's first iteration, so servers must not assume that start_response() has been called before they begin iterating over the iterable.)

The paragraph you quoted says that start_response() has to buffer headers until a non-empty string is yielded.  It does *not* say that strings can be yielded prior to calling start_response().  Indeed, the paragraph I quote above states the opposite: you can't call start_response() before yielding your first body string (whether empty or not).

This is a known issue with the spec, but it's an issue with the *spec*, not the implementation.  WSGI 1.0 is known to be unusable as a truly async API, for this and other reasons.

----------
resolution:  -> not a bug
status: open -> closed

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue21890>
_______________________________________


More information about the Python-bugs-list mailing list