<div dir="ltr">2008/9/5 Jean-Paul Calderone <span dir="ltr">&lt;<a href="mailto:exarkun@divmod.com">exarkun@divmod.com</a>&gt;</span><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Fri, 5 Sep 2008 09:48:08 +0200, Henrik Thostrup Jensen &lt;<a href="mailto:thostrup@gmail.com" target="_blank">thostrup@gmail.com</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
[snip]<div class="Ih2E3d"><br>
Twisted web is currently not an option (I need request pipelining and http 1.1).<br>
</div></blockquote>
<br>
Which other HTTP 1.1 features do you need?<br><font color="#888888">
</font></blockquote><div><br>HTTP 1.1 status codes, notable 303 (see other). I could probably use 302, but 303 is the &quot;correct&quot; behaviour for my case. This should be relatively easy to implement.<br><br>Furthermore I need the server to support large uploads (last i checked the 640K limitation was still there) and downloads, and with reasonable efficiancy.&nbsp; I&#39;m not saying streams are the answer but it works for me (actually I use the producer/consumer interface in my lower level code and then adapt it in the web layer). Unfortunately I&#39;ve had to rewrite a lot of the producer/consumer code and stream stuff and glue it together, as some of the stuff in twisted (not just in web2) is rather broken. For complete insanity (sorry to whoever wrote it ) see twisted.protocols.basic.FileSender, which implements its own magic method beginFileTransfer, which takes BOTH a file and a consumer as argument. This makes is impossible to seperate the construction of the producer and starting the transfer.<br>
<br>Ticket #1956 fixes some of these things. I&#39;m not quite sure how it handles errors (which can happen both ways), but I&#39;ve just had a quick look. It&#39;s been a whlie since i&#39;ve had a look at all this. I write a bit about it, which I&#39;ve placed here: <a href="http://www.cs.aau.dk/~htj/prodcons.txt">http://www.cs.aau.dk/~htj/prodcons.txt</a><br>
<br>IMHO, getting (and deciding on) a proper producer/consumer interface need to happen, to make whatever web things twisted will have usefull. Changing the producer/consumer might be massive API break, however it is a needed one. There are simply things the current API cannot do (i usually return a deferred along with any producer/consumer object to indiciate how the data moving went). I might be interested in participating in this, however I&#39;m rather work struck as I have to hand my ph.d. thesis at the end of this year.<br>
</div></div><br>Btw. I really am a huge fan of twisted, however the web and producer/consumer is a rather dark spot in an otherwise bright world :-)<br><br clear="all"><br>-- <br> - Henrik<br>
</div>