Skip to content

Commit 1ee8923

Browse files
authored
Merge pull request #3542 from amn/amn/make-requesthandler-uri-attr-mandatory
Make `uri` and `method` attributes on `HTTPServerRequest` mandatory
2 parents d30ef74 + 210368c commit 1ee8923

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

tornado/httputil.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,9 @@ def __init__(
487487
) -> None:
488488
if start_line is not None:
489489
method, uri, version = start_line
490+
assert method
490491
self.method = method
492+
assert uri
491493
self.uri = uri
492494
self.version = version
493495
self.headers = headers or HTTPHeaders()

tornado/test/httputil_test.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -526,15 +526,15 @@ def test_default_constructor(self):
526526
# All parameters are formally optional, but uri is required
527527
# (and has been for some time). This test ensures that no
528528
# more required parameters slip in.
529-
HTTPServerRequest(uri="/")
529+
HTTPServerRequest(method="GET", uri="/")
530530

531531
def test_body_is_a_byte_string(self):
532-
request = HTTPServerRequest(uri="/")
532+
request = HTTPServerRequest(method="GET", uri="/")
533533
self.assertIsInstance(request.body, bytes)
534534

535535
def test_repr_does_not_contain_headers(self):
536536
request = HTTPServerRequest(
537-
uri="/", headers=HTTPHeaders({"Canary": ["Coal Mine"]})
537+
method="GET", uri="/", headers=HTTPHeaders({"Canary": ["Coal Mine"]})
538538
)
539539
self.assertNotIn("Canary", repr(request))
540540

0 commit comments

Comments
 (0)