summary refs log tree commit diff
path: root/synapse/http
diff options
context:
space:
mode:
authorRichard van der Hoff <github@rvanderhoff.org.uk>2018-01-17 13:52:24 +0000
committerGitHub <noreply@github.com>2018-01-17 13:52:24 +0000
commit1954e867b4dd43c6d306f4ef9c28a9ec452e9a69 (patch)
tree3099be5043781a114e18c7f6d0c3445ed5c4bc5b /synapse/http
parentMerge pull request #2794 from matrix-org/rav/rework_run_interaction (diff)
parentMerge branch 'develop' into rav/fix_closed_connection_errors (diff)
downloadsynapse-1954e867b4dd43c6d306f4ef9c28a9ec452e9a69.tar.xz
Merge pull request #2796 from matrix-org/rav/fix_closed_connection_errors
Fix 'NoneType' object has no attribute 'writeHeaders'
Diffstat (limited to '')
-rw-r--r--synapse/http/server.py18
1 files changed, 9 insertions, 9 deletions
diff --git a/synapse/http/server.py b/synapse/http/server.py
index 269b65ca41..8077e22794 100644
--- a/synapse/http/server.py
+++ b/synapse/http/server.py
@@ -316,15 +316,6 @@ class JsonResource(HttpServer, resource.Resource):
 
     def _send_response(self, request, code, response_json_object,
                        response_code_message=None):
-        # could alternatively use request.notifyFinish() and flip a flag when
-        # the Deferred fires, but since the flag is RIGHT THERE it seems like
-        # a waste.
-        if request._disconnected:
-            logger.warn(
-                "Not sending response to request %s, already disconnected.",
-                request)
-            return
-
         outgoing_responses_counter.inc(request.method, str(code))
 
         # TODO: Only enable CORS for the requests that need it.
@@ -400,6 +391,15 @@ class RootRedirect(resource.Resource):
 def respond_with_json(request, code, json_object, send_cors=False,
                       response_code_message=None, pretty_print=False,
                       version_string="", canonical_json=True):
+    # could alternatively use request.notifyFinish() and flip a flag when
+    # the Deferred fires, but since the flag is RIGHT THERE it seems like
+    # a waste.
+    if request._disconnected:
+        logger.warn(
+            "Not sending response to request %s, already disconnected.",
+            request)
+        return
+
     if pretty_print:
         json_bytes = encode_pretty_printed_json(json_object) + "\n"
     else: