diff options
-rwxr-xr-x | paste/httpserver.py | 2 | ||||
-rw-r--r-- | tests/test_httpserver.py | 10 |
2 files changed, 10 insertions, 2 deletions
diff --git a/paste/httpserver.py b/paste/httpserver.py index f91eb20..063c180 100755 --- a/paste/httpserver.py +++ b/paste/httpserver.py @@ -487,7 +487,7 @@ class LimitedLengthFile(object): length = min(length, left) # next two lines are hnecessary only if read(0) blocks if not left: - return '' + return b'' data = self.file.read(length) self._consumed += len(data) return data diff --git a/tests/test_httpserver.py b/tests/test_httpserver.py index 3d72c79..20a4320 100644 --- a/tests/test_httpserver.py +++ b/tests/test_httpserver.py @@ -1,6 +1,7 @@ import email +import io -from paste.httpserver import WSGIHandler +from paste.httpserver import LimitedLengthFile, WSGIHandler from six.moves import StringIO @@ -43,3 +44,10 @@ def test_environ_with_multiple_values(): wsgi_handler.wsgi_setup() assert wsgi_handler.wsgi_environ['HTTP_HOST'] == 'host1,host2' + + +def test_limited_length_file(): + backing = io.BytesIO(b'0123456789') + f = LimitedLengthFile(backing, 9) + assert f.read() == b'012345678' + assert f.read() == b'' |