summaryrefslogtreecommitdiffstats
path: root/Lib/wsgiref
diff options
context:
space:
mode:
authorJack Hindmarch <1750152+jackh-ncl@users.noreply.github.com>2022-10-19 10:38:59 (GMT)
committerGitHub <noreply@github.com>2022-10-19 10:38:59 (GMT)
commitb6e59d76c0e1214ca2c927be35f165ecd1f763df (patch)
tree18d1b378490ca962fc6e031d767d36b23022b2ff /Lib/wsgiref
parenta3be8743348464364db9d513b22bcdd39a2c5fb5 (diff)
downloadcpython-b6e59d76c0e1214ca2c927be35f165ecd1f763df.zip
cpython-b6e59d76c0e1214ca2c927be35f165ecd1f763df.tar.gz
cpython-b6e59d76c0e1214ca2c927be35f165ecd1f763df.tar.bz2
gh-92886: Replace assertion statements in `handlers.BaseHandler` to support running with optimizations (`-O`) (GH-93231)
Diffstat (limited to 'Lib/wsgiref')
-rw-r--r--Lib/wsgiref/handlers.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/Lib/wsgiref/handlers.py b/Lib/wsgiref/handlers.py
index 6623b70..cd0916d 100644
--- a/Lib/wsgiref/handlers.py
+++ b/Lib/wsgiref/handlers.py
@@ -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: