Esempio n. 1
0
    async def on_GET(self, request: SynapseRequest,
                     user_id: str) -> Tuple[int, JsonDict]:
        requester_user = None

        if self.hs.config.server.require_auth_for_profile_requests:
            requester = await self.auth.get_user_by_req(request)
            requester_user = requester.user

        if not UserID.is_valid(user_id):
            raise SynapseError(HTTPStatus.BAD_REQUEST, "Invalid user id",
                               Codes.INVALID_PARAM)

        user = UserID.from_string(user_id)
        await self.profile_handler.check_profile_query_allowed(
            user, requester_user)

        displayname = await self.profile_handler.get_displayname(user)
        avatar_url = await self.profile_handler.get_avatar_url(user)

        ret = {}
        if displayname is not None:
            ret["displayname"] = displayname
        if avatar_url is not None:
            ret["avatar_url"] = avatar_url

        return 200, ret
Esempio n. 2
0
 def test_validation_rejects_missing_domain(self):
     self.assertFalse(UserID.is_valid("@alice:"))