[Web-SIG] [extension] x-wsgiorg.flush

Phillip J. Eby pje at telecommunity.com
Thu Oct 4 01:10:49 CEST 2007


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.



More information about the Web-SIG mailing list