Add tentative errback for not firing an error when response is not fast enough to fire before a user closes the connection. Might handle #1207.

This commit is contained in:
Griatch 2017-02-18 20:32:13 +01:00
parent d9e305702f
commit ee8c9a93c3

View file

@ -70,6 +70,7 @@ class EvenniaReverseProxyResource(ReverseProxyResource):
resource (EvenniaReverseProxyResource): A proxy resource.
"""
request.notifyFinish().addErrback(lambda f: f.cancel())
return EvenniaReverseProxyResource(
self.host, self.port, self.path + '/' + urlquote(path, safe=""),
self.reactor)
@ -98,6 +99,8 @@ class EvenniaReverseProxyResource(ReverseProxyResource):
request.getAllHeaders(), request.content.read(), request)
clientFactory.noisy = False
self.reactor.connectTCP(self.host, self.port, clientFactory)
# don't trigger traceback if connection is lost before request finish.
request.notifyFinish().addErrback(lambda f: f.cancel())
return NOT_DONE_YET