At 09:52 PM 10/3/2007 +0200, Manlio Perillo wrote: >Phillip J. Eby ha scritto: > > [...] > > > > Now that I understand what this is for, I can explain why a WSGI > > extension is not necessary to provide this feature. In a compliant WSGI > > gateway, yielding an empty string from 'a-generator' is sufficient to > > "flush" the WSGI pipeline. > > > >But the WSGI pipeline should already be flushed for every string >yielded, right? > >An interesting "extension" for an asynchronous WSGI gateway is to >"suspend" the iteration when an empty string is returned, creating a >timer that fires after 0 milliseconds (in Twisted, this is the same as >callLater(0, ...)) > > > I suggest that you read this section of the spec more carefully: > > > > http://www.python.org/dev/peps/pep-0333/#buffering-and-streaming > > > >There is a problem here: a WSGI gateway is not allowed to send headers >until the app_iter yields a non empty string or the iterator is exausted.
Argh. You're right. I forgot about that bit. It has been a few too many years since I worked on the spec. :) Still, this is yet another example of why WSGI 2.0 is a big improvement in simplicity. So I still would rather see more effort put into getting WSGI 2.0 written and into widespread use, than creating niche extensions to 1.0. _______________________________________________ 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