I got it to work by stripping the keep-alive headers and manually calling my handleResponseEnd when handleEndHeaders is called for requests having Content-Length: 0.

I'd still like to keep connections alive if possible, so I may do something more sophisticated in the future, but this will do for now.  Thanks for the help Jean-Paul.

-Brian




On Fri, Apr 24, 2009 at 2:01 PM, Brian Kuhn <bnkuhn@gmail.com> wrote:
Now that you mention it, this probably does have something to do with the server keeping the connection alive since the client is sending keep-alive headers...

Keep-Alive : 300
Proxy-Connection: keep-alive

I'm going to investigate this a little further before I post my code.  I'll let you know what I find out.

Thanks,
    Brian





On Fri, Apr 24, 2009 at 1:01 PM, Jean-Paul Calderone <exarkun@divmod.com> wrote:
On Fri, 24 Apr 2009 12:40:33 -0700, Brian Kuhn <bnkuhn@gmail.com> wrote:
I understand what a 204 is.  It appears though that the framework is hanging
on them...not my code.
Twisted calls my handleEndHeaders method, then hangs for awhile, then calls
my handleResponseEnd method.

Perhaps there is something I need to do in the handleStatus method to
preempt this behavior.  Any idea how I can tell Twisted to not timeout
waiting for content that will never come?


I dunno, maybe.  It's hard to know without being able to see your code.
I suppose you have an HTTPClient subclass?  Or maybe a ProxyClient sub-
class?  Likely you should be getting a `handleResponseEnd` when the
connection is closed.  If the server never closes the connection, then
perhaps you'll never get `handleResponseEnd`, I'm not sure.


Jean-Paul

_______________________________________________
Twisted-web mailing list
Twisted-web@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web