diff options
author | Erik Johnston <erik@matrix.org> | 2018-03-01 11:31:11 +0000 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2018-03-13 11:22:45 +0000 |
commit | 0f942f68c106b9d0fb89d0eaef9fa942b6d003ab (patch) | |
tree | c29b21b7f5a9b0746c6304d25a5ef3479c9f3d54 /synapse | |
parent | Merge pull request #2962 from matrix-org/rav/purge_history_txns (diff) | |
download | synapse-0f942f68c106b9d0fb89d0eaef9fa942b6d003ab.tar.xz |
Factor out _remote_reject_invite in RoomMember
Diffstat (limited to '')
-rw-r--r-- | synapse/handlers/room_member.py | 50 |
1 files changed, 28 insertions, 22 deletions
diff --git a/synapse/handlers/room_member.py b/synapse/handlers/room_member.py index ed3b97730d..6c8acfbf09 100644 --- a/synapse/handlers/room_member.py +++ b/synapse/handlers/room_member.py @@ -155,6 +155,30 @@ class RoomMemberHandler(object): yield user_joined_room(self.distributor, user, room_id) @defer.inlineCallbacks + def _remote_reject_invite(self, remote_room_hosts, room_id, target): + fed_handler = self.federation_handler + try: + ret = yield fed_handler.do_remotely_reject_invite( + remote_room_hosts, + room_id, + target.to_string(), + ) + defer.returnValue(ret) + except Exception as e: + # if we were unable to reject the exception, just mark + # it as rejected on our end and plough ahead. + # + # The 'except' clause is very broad, but we need to + # capture everything from DNS failures upwards + # + logger.warn("Failed to reject invite: %s", e) + + yield self.store.locally_reject_invite( + target.to_string(), room_id + ) + defer.returnValue({}) + + @defer.inlineCallbacks def update_membership( self, requester, @@ -328,28 +352,10 @@ class RoomMemberHandler(object): else: # send the rejection to the inviter's HS. remote_room_hosts = remote_room_hosts + [inviter.domain] - fed_handler = self.federation_handler - try: - ret = yield fed_handler.do_remotely_reject_invite( - remote_room_hosts, - room_id, - target.to_string(), - ) - defer.returnValue(ret) - except Exception as e: - # if we were unable to reject the exception, just mark - # it as rejected on our end and plough ahead. - # - # The 'except' clause is very broad, but we need to - # capture everything from DNS failures upwards - # - logger.warn("Failed to reject invite: %s", e) - - yield self.store.locally_reject_invite( - target.to_string(), room_id - ) - - defer.returnValue({}) + res = yield self._remote_reject_invite( + remote_room_hosts, room_id, target, + ) + defer.returnValue(res) res = yield self._local_membership_update( requester=requester, |