[Twisted-Python] Streaming Requests

Jean-Paul Calderone exarkun at twistedmatrix.com
Sun Jan 8 17:34:53 MST 2017


On Sun, Jan 8, 2017 at 1:44 AM, Mark Williams <markrwilliams at gmail.com>
wrote:

> * What?
>   A new year means renewed ambition.  So let's talk about receiving
>   streaming requests!
>
>
Hi Mark,

Thanks for tackling this long-standing issue!

I want to start off by responding to just one part of your email.  This is
actually the only part that looks potentially problematic to me so far,
which I take to be a good sign. :)


>   He also noted that the Request interface with which HTTPChannel
>   interacts is mostly not described by twisted.iweb.IRequest.  That
>   means we can augment the ways HTTPChannel talks to Request-like
>   things without breaking many public APIs.
>
>
How will this affect applications which have implemented Request-alike
classes (for example, for testing purposes)?  The interface may not be
explicitly defined as a Zope Interface right now but it is defined by the
current implementation and it is largely public (ie, non-_-prefixed
names).  Tests may have hooked in to parts of Request not documented by
IRequest out of necessity.  It would be a shame to break such carefully
crafted automated tests.

Here's one example I know of off the top of my head, <
https://github.com/ScatterHQ/flocker/blob/master/flocker/restapi/testtools.py#L316>.
This one isn't a from-scratch re-implementation of the implicit Request
interface but a Request subclass, instead.  However, it still interacts
with a lot of important pieces of Request which aren't part of IRequest.

Jean-Paul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20170108/7a2de361/attachment-0002.html>


More information about the Twisted-Python mailing list