diff options
author | Erik Johnston <erik@matrix.org> | 2019-08-01 13:47:31 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2019-08-01 13:47:31 +0100 |
commit | a8f40a8302fb1b9c95287d87a56440bb9b201435 (patch) | |
tree | b34f5ac6bbc9162c8ceb5715ed2f02d8cdec2787 /synapse/federation | |
parent | Merge pull request #5805 from matrix-org/erikj/validate_state (diff) | |
download | synapse-a8f40a8302fb1b9c95287d87a56440bb9b201435.tar.xz |
Return 502 not 500 when failing to reach any remote server.
Diffstat (limited to 'synapse/federation')
-rw-r--r-- | synapse/federation/federation_client.py | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/synapse/federation/federation_client.py b/synapse/federation/federation_client.py index 6e03ce21af..bec3080895 100644 --- a/synapse/federation/federation_client.py +++ b/synapse/federation/federation_client.py @@ -511,9 +511,8 @@ class FederationClient(FederationBase): The [Deferred] result of callback, if it succeeds Raises: - SynapseError if the chosen remote server returns a 300/400 code. - - RuntimeError if no servers were reachable. + SynapseError if the chosen remote server returns a 300/400 code, or + no servers were reachable. """ for destination in destinations: if destination == self.server_name: @@ -538,7 +537,7 @@ class FederationClient(FederationBase): except Exception: logger.warn("Failed to %s via %s", description, destination, exc_info=1) - raise RuntimeError("Failed to %s via any server" % (description,)) + raise SynapseError(502, "Failed to %s via any server" % (description,)) def make_membership_event( self, destinations, room_id, user_id, membership, content, params |