summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xpaste/httpserver.py2
-rw-r--r--tests/test_httpserver.py10
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''