Raise an error if an unknown preset is used to create a room. (#10738)

Raises a 400 error instead of a 500 if an unknown preset is passed
from a client to create a room.
This commit is contained in:
Patrick Cloke 2021-09-03 09:46:18 -04:00 committed by GitHub
parent ecbfa4fe4f
commit 2cb85bdf75
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 1 deletions

1
changelog.d/10738.misc Normal file
View File

@ -0,0 +1 @@
Additional error checking for the `preset` field when creating a room.

View File

@ -909,7 +909,12 @@ class RoomCreationHandler(BaseHandler):
) )
return last_stream_id return last_stream_id
try:
config = self._presets_dict[preset_config] config = self._presets_dict[preset_config]
except KeyError:
raise SynapseError(
400, f"'{preset_config}' is not a valid preset", errcode=Codes.BAD_JSON
)
creation_content.update({"creator": creator_id}) creation_content.update({"creator": creator_id})
await send(etype=EventTypes.Create, content=creation_content) await send(etype=EventTypes.Create, content=creation_content)