summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--changelog.d/11827.bugfix1
-rw-r--r--synapse/http/site.py5
2 files changed, 5 insertions, 1 deletions
diff --git a/changelog.d/11827.bugfix b/changelog.d/11827.bugfix
new file mode 100644
index 0000000000..30222dfb62
--- /dev/null
+++ b/changelog.d/11827.bugfix
@@ -0,0 +1 @@
+Fix a bug introduced in Synapse 0.33.3 causing requests to sometimes log strings such as `HTTPStatus.OK` instead of integer status codes.
\ No newline at end of file
diff --git a/synapse/http/site.py b/synapse/http/site.py
index c180a1d323..40f6c04894 100644
--- a/synapse/http/site.py
+++ b/synapse/http/site.py
@@ -407,7 +407,10 @@ class SynapseRequest(Request):
 
         user_agent = get_request_user_agent(self, "-")
 
-        code = str(self.code)
+        # int(self.code) looks redundant, because self.code is already an int.
+        # But self.code might be an HTTPStatus (which inherits from int)---which has
+        # a different string representation. So ensure we really have an integer.
+        code = str(int(self.code))
         if not self.finished:
             # we didn't send the full response before we gave up (presumably because
             # the connection dropped)