diff options
author | Andrew Morgan <andrew@amorgan.xyz> | 2020-01-09 17:01:55 +0000 |
---|---|---|
committer | Andrew Morgan <andrew@amorgan.xyz> | 2020-01-09 17:01:55 +0000 |
commit | 9f2434d4943cd2cfaa1a16ebac426c41cb2fe136 (patch) | |
tree | 4bf4c55e98160ccf7458c869d6486fb82e6cbdd4 | |
parent | Don't 500 on not providing a Content-Length header to media upload (diff) | |
download | synapse-anoa/content_length_header_none.tar.xz |
Don't require Content-Length header github/anoa/content_length_header_none anoa/content_length_header_none
-rw-r--r-- | synapse/rest/media/v1/upload_resource.py | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/synapse/rest/media/v1/upload_resource.py b/synapse/rest/media/v1/upload_resource.py index 2c61df5eb7..b5d3f09c88 100644 --- a/synapse/rest/media/v1/upload_resource.py +++ b/synapse/rest/media/v1/upload_resource.py @@ -52,15 +52,14 @@ class UploadResource(DirectServeResource): requester = await self.auth.get_user_by_req(request) # TODO: The checks here are a bit late. The content will have # already been uploaded to a tmp file at this point - if not request.hasHeader(b"Content-Length"): - raise SynapseError(msg="Request must specify a Content-Length", code=400) - content_length = request.getHeader(b"Content-Length").decode("ascii") - if int(content_length) > self.max_upload_size: - raise SynapseError( - msg="Upload request body is too large", - code=413, - errcode=Codes.TOO_LARGE, - ) + if request.hasHeader(b"Content-Length"): + content_length = request.getHeader(b"Content-Length").decode("ascii") + if int(content_length) > self.max_upload_size: + raise SynapseError( + msg="Upload request body is too large", + code=413, + errcode=Codes.TOO_LARGE, + ) upload_name = parse_string(request, b"filename", encoding=None) if upload_name: |