self._log(DBG.HTTP_CTRL, 'connectionMade')
def connectionLostOK(self, reason):
- return reason.check(twisted.web.client.ResponseDone)
+ return (reason.check(twisted.web.client.ResponseDone) or
+ reason.check(twisted.web.client.PotentialDataLoss))
+ # twisted.web.client.PotentialDataLoss is an entirely daft
+ # exception. It will occur every time if the origin server does
+ # not provide a Content-Length. (hippotatd does, of course, but
+ # the HTTP transaction might be proxied.)
class ResponseConsumer(GeneralResponseConsumer):
def __init__(self, cl, req, resp):
cl.log(DBG.HTTP_FULL, 'requesting: ' + str(mime))
hh = { 'User-Agent': ['hippotat'],
- 'Content-Type': ['multipart/form-data; boundary="b"'],
- 'Content-Length': [str(len(mime))] }
+ 'Content-Type': ['multipart/form-data; boundary="b"'] }
bytesreader = io.BytesIO(mime)
producer = twisted.web.client.FileBodyProducer(bytesreader)