From ee8c9a93c39c58f6e5096b7815a597e3989073a2 Mon Sep 17 00:00:00 2001 From: Griatch Date: Sat, 18 Feb 2017 20:32:13 +0100 Subject: [PATCH] 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. --- evennia/server/webserver.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/evennia/server/webserver.py b/evennia/server/webserver.py index 7160b097a..beda2d5ec 100644 --- a/evennia/server/webserver.py +++ b/evennia/server/webserver.py @@ -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