summary refs log tree commit diff
path: root/synapse/http
diff options
context:
space:
mode:
authorRichard van der Hoff <1389908+richvdh@users.noreply.github.com>2020-03-31 15:18:41 +0100
committerGitHub <noreply@github.com>2020-03-31 15:18:41 +0100
commit60adcbed919afd5c85442775eca822fec43d816d (patch)
treee3eb78f52c32da097193fa9b9869e9b6cd1e1f52 /synapse/http
parentFill in the 'default' field for user-defined push rules (#6639) (diff)
downloadsynapse-60adcbed919afd5c85442775eca822fec43d816d.tar.xz
Fix "'NoneType' has no attribute start|stop" logcontext errors (#7181)
Fixes #7179.
Diffstat (limited to 'synapse/http')
-rw-r--r--synapse/http/site.py13
1 files changed, 6 insertions, 7 deletions
diff --git a/synapse/http/site.py b/synapse/http/site.py
index e092193c9c..32feb0d968 100644
--- a/synapse/http/site.py
+++ b/synapse/http/site.py
@@ -193,6 +193,12 @@ class SynapseRequest(Request):
         self.finish_time = time.time()
         Request.connectionLost(self, reason)
 
+        if self.logcontext is None:
+            logger.info(
+                "Connection from %s lost before request headers were read", self.client
+            )
+            return
+
         # we only get here if the connection to the client drops before we send
         # the response.
         #
@@ -236,13 +242,6 @@ class SynapseRequest(Request):
     def _finished_processing(self):
         """Log the completion of this request and update the metrics
         """
-
-        if self.logcontext is None:
-            # this can happen if the connection closed before we read the
-            # headers (so render was never called). In that case we'll already
-            # have logged a warning, so just bail out.
-            return
-
         usage = self.logcontext.get_resource_usage()
 
         if self._processing_finished_time is None: