|
13 | 13 | # limitations under the License. |
14 | 14 |
|
15 | 15 | """ This module contains REST servlets to do with profile: /profile/<paths> """ |
16 | | - |
| 16 | +from http import HTTPStatus |
17 | 17 | from typing import TYPE_CHECKING, Tuple |
18 | 18 |
|
19 | 19 | from synapse.api.errors import Codes, SynapseError |
@@ -45,8 +45,12 @@ async def on_GET( |
45 | 45 | requester = await self.auth.get_user_by_req(request) |
46 | 46 | requester_user = requester.user |
47 | 47 |
|
48 | | - user = UserID.from_string(user_id) |
| 48 | + if not UserID.is_valid(user_id): |
| 49 | + raise SynapseError( |
| 50 | + HTTPStatus.BAD_REQUEST, "Invalid user id", Codes.INVALID_PARAM |
| 51 | + ) |
49 | 52 |
|
| 53 | + user = UserID.from_string(user_id) |
50 | 54 | await self.profile_handler.check_profile_query_allowed(user, requester_user) |
51 | 55 |
|
52 | 56 | displayname = await self.profile_handler.get_displayname(user) |
@@ -98,8 +102,12 @@ async def on_GET( |
98 | 102 | requester = await self.auth.get_user_by_req(request) |
99 | 103 | requester_user = requester.user |
100 | 104 |
|
101 | | - user = UserID.from_string(user_id) |
| 105 | + if not UserID.is_valid(user_id): |
| 106 | + raise SynapseError( |
| 107 | + HTTPStatus.BAD_REQUEST, "Invalid user id", Codes.INVALID_PARAM |
| 108 | + ) |
102 | 109 |
|
| 110 | + user = UserID.from_string(user_id) |
103 | 111 | await self.profile_handler.check_profile_query_allowed(user, requester_user) |
104 | 112 |
|
105 | 113 | avatar_url = await self.profile_handler.get_avatar_url(user) |
@@ -150,8 +158,12 @@ async def on_GET( |
150 | 158 | requester = await self.auth.get_user_by_req(request) |
151 | 159 | requester_user = requester.user |
152 | 160 |
|
153 | | - user = UserID.from_string(user_id) |
| 161 | + if not UserID.is_valid(user_id): |
| 162 | + raise SynapseError( |
| 163 | + HTTPStatus.BAD_REQUEST, "Invalid user id", Codes.INVALID_PARAM |
| 164 | + ) |
154 | 165 |
|
| 166 | + user = UserID.from_string(user_id) |
155 | 167 | await self.profile_handler.check_profile_query_allowed(user, requester_user) |
156 | 168 |
|
157 | 169 | displayname = await self.profile_handler.get_displayname(user) |
|
0 commit comments