コード例 #1
0
ファイル: groups.py プロジェクト: samuel-p/synapse
    def wrapper(
        self: RestServlet, request: Request, group_id: str, *args: Any, **kwargs: Any
    ) -> Awaitable[Tuple[int, JsonDict]]:
        if not GroupID.is_valid(group_id):
            raise SynapseError(400, "%s is not a legal group ID" % (group_id,))

        return f(self, request, group_id, *args, **kwargs)
コード例 #2
0
ファイル: groups_local.py プロジェクト: samuel-p/synapse
    async def f(self: "GroupsLocalWorkerHandler", group_id: str, *args: Any,
                **kwargs: Any) -> JsonDict:
        if not GroupID.is_valid(group_id):
            raise SynapseError(400,
                               "%s is not a legal group ID" % (group_id, ))

        if self.is_mine_id(group_id):
            return await getattr(self.groups_server_handler,
                                 func_name)(group_id, *args, **kwargs)
        else:
            destination = get_domain_from_id(group_id)

            try:
                return await getattr(self.transport_client,
                                     func_name)(destination, group_id, *args,
                                                **kwargs)
            except HttpResponseException as e:
                # Capture errors returned by the remote homeserver and
                # re-throw specific errors as SynapseErrors. This is so
                # when the remote end responds with things like 403 Not
                # In Group, we can communicate that to the client instead
                # of a 500.
                raise e.to_synapse_error()
            except RequestSendFailed:
                raise SynapseError(502, "Failed to contact group server")
コード例 #3
0
    async def on_GET(self, request, group_id):
        requester = await self.auth.get_user_by_req(request, allow_guest=True)
        requester_user_id = requester.user.to_string()

        if not GroupID.is_valid(group_id):
            raise SynapseError(400, "%s was not legal group ID" % (group_id, ))

        result = await self.groups_handler.get_rooms_in_group(
            group_id, requester_user_id)

        return 200, result
コード例 #4
0
    def wrapper(self, request: Request, group_id: str, *args, **kwargs):
        if not GroupID.is_valid(group_id):
            raise SynapseError(400, "%s is not a legal group ID" % (group_id,))

        return f(self, request, group_id, *args, **kwargs)