diff options
-rw-r--r-- | src/waitress/receiver.py | 6 | ||||
-rw-r--r-- | tests/test_receiver.py | 4 |
2 files changed, 4 insertions, 6 deletions
diff --git a/src/waitress/receiver.py b/src/waitress/receiver.py index 2f0b734..7663355 100644 --- a/src/waitress/receiver.py +++ b/src/waitress/receiver.py @@ -135,7 +135,6 @@ class ChunkedReceiver: line = s[:pos] s = s[pos + 2 :] self.control_line = b"" - line = line.strip() if line: # Begin a new chunk. @@ -153,9 +152,6 @@ class ChunkedReceiver: line = line[:semi] - # Remove any whitespace - line = line.strip() - if not ONLY_HEXDIG_RE.match(line): self.error = BadRequest("Invalid chunk size") self.all_chunks_received = True @@ -164,7 +160,7 @@ class ChunkedReceiver: # Can not fail due to matching against the regular # expression above - sz = int(line.strip(), 16) # hexadecimal + sz = int(line, 16) # hexadecimal if sz > 0: # Start a new chunk. diff --git a/tests/test_receiver.py b/tests/test_receiver.py index 8e43cc8..d160cac 100644 --- a/tests/test_receiver.py +++ b/tests/test_receiver.py @@ -262,7 +262,9 @@ class TestChunkedReceiverParametrized: assert result == len(data) assert inst.error == None - @pytest.mark.parametrize("invalid_size", [b"0x04", b"+0x04", b"x04", b"+04"]) + @pytest.mark.parametrize( + "invalid_size", [b"0x04", b"+0x04", b"x04", b"+04", b" 04", b" 0x04"] + ) def test_received_invalid_size(self, invalid_size): from waitress.utilities import BadRequest |