1 files changed, 5 insertions, 4 deletions
diff --git a/synapse/handlers/groups_local.py b/synapse/handlers/groups_local.py
index 68de8a8e53..66da6edad1 100644
--- a/synapse/handlers/groups_local.py
+++ b/synapse/handlers/groups_local.py
@@ -20,7 +20,7 @@ from six import iteritems
from twisted.internet import defer
-from synapse.api.errors import (SynapseError, HttpResponseException)
+from synapse.api.errors import (HttpResponseException, SynapseError)
from synapse.types import get_domain_from_id
logger = logging.getLogger(__name__)
@@ -40,12 +40,13 @@ def _create_rerouter(func_name):
d = getattr(self.transport_client, func_name)(
destination, group_id, *args, **kwargs
)
+
def h(failure):
failure.trap(HttpResponseException)
e = failure.value
- if e.code >= 400 and e.code < 500:
- raise SynapseError(e.code, e.msg)
- failure.raiseException()
+ if e.code == 403:
+ raise e.to_synapse_error()
+ return failure
d.addErrback(h)
return d
return f
|