summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorRichard van der Hoff <richard@matrix.org>2018-03-27 17:15:06 +0100
committerRichard van der Hoff <richard@matrix.org>2018-03-27 17:15:06 +0100
commita134c572a6697fa6443525493e3fc13f74452d34 (patch)
treec7cec4e093e7c3a5d2ce6791aa27f32d92235b6e /synapse
parentfactor out exception handling for keys/claim and keys/query (diff)
downloadsynapse-a134c572a6697fa6443525493e3fc13f74452d34.tar.xz
Stringify exceptions for keys/{query,claim}
Make sure we stringify any exceptions we return from keys/query and keys/claim,
to avoid a 'not JSON serializable' error later

Fixes #3010
Diffstat (limited to 'synapse')
-rw-r--r--synapse/handlers/e2e_keys.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/synapse/handlers/e2e_keys.py b/synapse/handlers/e2e_keys.py
index 41521e6990..325c0c4a9f 100644
--- a/synapse/handlers/e2e_keys.py
+++ b/synapse/handlers/e2e_keys.py
@@ -354,8 +354,11 @@ def _exception_to_failure(e):
         }
 
     # include ConnectionRefused and other errors
+    #
+    # Note that some Exceptions (notably twisted's ResponseFailed etc) don't
+    # give a string for e.message, which simplejson then fails to serialize.
     return {
-        "status": 503, "message": e.message,
+        "status": 503, "message": str(e.message),
     }