summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--synapse/http/matrixfederationclient.py20
1 files changed, 11 insertions, 9 deletions
diff --git a/synapse/http/matrixfederationclient.py b/synapse/http/matrixfederationclient.py
index b5e201b5f1..304efcdd56 100644
--- a/synapse/http/matrixfederationclient.py
+++ b/synapse/http/matrixfederationclient.py
@@ -146,21 +146,13 @@ class MatrixFederationHttpClient(object):
                     )
                     raise SynapseError(400, "Domain specified not found.")
 
-                if hasattr(e, "reasons"):
-                    reasons = ", ".join(
-                        str(f.value.message)
-                        for f in e.reasons
-                    )
-                else:
-                    reasons = e.message
-
                 logger.warn(
                     "Sending request failed to %s: %s %s: %s - %s",
                     destination,
                     method,
                     url_bytes,
                     type(e). __name__,
-                    reasons,
+                    _flatten_response_never_received(e),
                 )
 
                 if retries_left:
@@ -474,3 +466,13 @@ class _JsonProducer(object):
 
     def stopProducing(self):
         pass
+
+
+def _flatten_response_never_received(e):
+    if hasattr(e, "reasons"):
+        return ", ".join(
+            _flatten_response_never_received(f.value)
+            for f in e.reasons
+        )
+    else:
+        return "%s: %s" % (type(e), e.message,)