gh-92886: Replace assertion statements in `handlers.BaseHandler` to support running with optimizations (`-O`) (GH-93231)

This commit is contained in:
Jack Hindmarch 2022-10-19 11:38:59 +01:00 committed by GitHub
parent a3be874334
commit b6e59d76c0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 3 deletions

View File

@ -237,9 +237,7 @@ class BaseHandler:
self.status = status
self.headers = self.headers_class(headers)
status = self._convert_string_type(status, "Status")
assert len(status)>=4,"Status must be at least 4 characters"
assert status[:3].isdigit(), "Status message must begin w/3-digit code"
assert status[3]==" ", "Status message must have a space after code"
self._validate_status(status)
if __debug__:
for name, val in headers:
@ -250,6 +248,14 @@ class BaseHandler:
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):
"""Convert/check value type."""
if type(value) is str:

View File

@ -0,0 +1 @@
Replace ``assert`` statements with ``raise AssertionError()`` in :class:`~wsgiref.BaseHandler` so that the tested behaviour is maintained running with optimizations ``(-O)``.