Validate input parameters for the sendToDevice API. (#8975)
This makes the "messages" key in the content required. This is currently optional in the spec, but that seems to be an error.
This commit is contained in:
parent
cfcf5541b4
commit
14a7371375
|
@ -0,0 +1 @@
|
|||
Add validation to the `sendToDevice` API to raise a missing parameters error instead of a 500 error.
|
|
@ -17,7 +17,7 @@ import logging
|
|||
from typing import Tuple
|
||||
|
||||
from synapse.http import servlet
|
||||
from synapse.http.servlet import parse_json_object_from_request
|
||||
from synapse.http.servlet import assert_params_in_dict, parse_json_object_from_request
|
||||
from synapse.logging.opentracing import set_tag, trace
|
||||
from synapse.rest.client.transactions import HttpTransactionCache
|
||||
|
||||
|
@ -54,6 +54,7 @@ class SendToDeviceRestServlet(servlet.RestServlet):
|
|||
requester = await self.auth.get_user_by_req(request, allow_guest=True)
|
||||
|
||||
content = parse_json_object_from_request(request)
|
||||
assert_params_in_dict(content, ("messages",))
|
||||
|
||||
sender_user_id = requester.user.to_string()
|
||||
|
||||
|
|
Loading…
Reference in New Issue