Return an empty body for OPTIONS requests. (#7886)

This commit is contained in:
Patrick Cloke 2020-07-24 07:08:07 -04:00 committed by GitHub
parent 1ec688bf21
commit 6a080ea184
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 25 deletions

View file

@ -442,21 +442,6 @@ class StaticResource(File):
return super().render_GET(request)
def _options_handler(request):
"""Request handler for OPTIONS requests
This is a request handler suitable for return from
_get_handler_for_request. It returns a 200 and an empty body.
Args:
request (twisted.web.http.Request):
Returns:
Tuple[int, dict]: http code, response body.
"""
return 200, {}
def _unrecognised_request_handler(request):
"""Request handler for unrecognised requests
@ -490,11 +475,12 @@ class OptionsResource(resource.Resource):
"""Responds to OPTION requests for itself and all children."""
def render_OPTIONS(self, request):
code, response_json_object = _options_handler(request)
request.setResponseCode(204)
request.setHeader(b"Content-Length", b"0")
return respond_with_json(
request, code, response_json_object, send_cors=True, canonical_json=False,
)
set_cors_headers(request)
return b""
def getChildWithDefault(self, path, request):
if request.method == b"OPTIONS":