mirror of
https://github.com/python/cpython.git
synced 2024-12-04 15:25:13 +08:00
gh-92886: Replace assertion statements in handlers.BaseHandler
to support running with optimizations (-O
) (GH-93231)
This commit is contained in:
parent
a3be874334
commit
b6e59d76c0
@ -237,9 +237,7 @@ class BaseHandler:
|
|||||||
self.status = status
|
self.status = status
|
||||||
self.headers = self.headers_class(headers)
|
self.headers = self.headers_class(headers)
|
||||||
status = self._convert_string_type(status, "Status")
|
status = self._convert_string_type(status, "Status")
|
||||||
assert len(status)>=4,"Status must be at least 4 characters"
|
self._validate_status(status)
|
||||||
assert status[:3].isdigit(), "Status message must begin w/3-digit code"
|
|
||||||
assert status[3]==" ", "Status message must have a space after code"
|
|
||||||
|
|
||||||
if __debug__:
|
if __debug__:
|
||||||
for name, val in headers:
|
for name, val in headers:
|
||||||
@ -250,6 +248,14 @@ class BaseHandler:
|
|||||||
|
|
||||||
return self.write
|
return self.write
|
||||||
|
|
||||||
|
def _validate_status(self, status):
|
||||||
|
if len(status) < 4:
|
||||||
|
raise AssertionError("Status must be at least 4 characters")
|
||||||
|
if not status[:3].isdigit():
|
||||||
|
raise AssertionError("Status message must begin w/3-digit code")
|
||||||
|
if status[3] != " ":
|
||||||
|
raise AssertionError("Status message must have a space after code")
|
||||||
|
|
||||||
def _convert_string_type(self, value, title):
|
def _convert_string_type(self, value, title):
|
||||||
"""Convert/check value type."""
|
"""Convert/check value type."""
|
||||||
if type(value) is str:
|
if type(value) is str:
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
Replace ``assert`` statements with ``raise AssertionError()`` in :class:`~wsgiref.BaseHandler` so that the tested behaviour is maintained running with optimizations ``(-O)``.
|
Loading…
Reference in New Issue
Block a user