Merge pull request #5808 from matrix-org/erikj/parse_decode_error

Handle incorrectly encoded query params correctly
This commit is contained in:
Erik Johnston 2019-08-01 13:48:10 +01:00 committed by GitHub
commit 3c076c79c5
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/5808.misc Normal file
View File

@ -0,0 +1 @@
Handle incorrectly encoded query params correctly by returning a 400.

View File

@ -166,7 +166,12 @@ def parse_string_from_args(
value = args[name][0]
if encoding:
value = value.decode(encoding)
try:
value = value.decode(encoding)
except ValueError:
raise SynapseError(
400, "Query parameter %r must be %s" % (name, encoding)
)
if allowed_values is not None and value not in allowed_values:
message = "Query parameter %r must be one of [%s]" % (