Merge branch 'master' into jython
[wrw.git] / wrw / req.py
index 4b9dd71..b65a0b9 100644 (file)
@@ -1,4 +1,4 @@
-import io
+import StringIO
 
 __all__ = ["request"]
 
@@ -56,7 +56,7 @@ class limitreader(object):
         self.bk = back
         self.limit = limit
         self.rb = 0
-        self.buf = bytearray()
+        self.buf = ""
 
     def close(self):
         pass
@@ -69,9 +69,9 @@ class limitreader(object):
             ret = self.bk.read(ra - len(self.buf))
             if ret == "":
                 raise IOError("Unexpected EOF")
-            self.buf.extend(ret)
+            self.buf += ret
             self.rb += len(ret)
-        ret = str(self.buf[:ra])
+        ret = self.buf[:ra]
         self.buf = self.buf[ra:]
         return ret
 
@@ -80,17 +80,17 @@ class limitreader(object):
         while True:
             p = self.buf.find('\n', off)
             if p >= 0:
-                ret = str(self.buf[:p + 1])
+                ret = self.buf[:p + 1]
                 self.buf = self.buf[p + 1:]
                 return ret
             off = len(self.buf)
             if size >= 0 and len(self.buf) >= size:
-                ret = str(self.buf[:size])
+                ret = self.buf[:size]
                 self.buf = self.buf[size:]
                 return ret
             if self.rb == self.limit:
-                ret = str(self.buf)
-                self.buf = bytearray()
+                ret = self.buf
+                self.buf = ""
                 return ret
             ra = self.limit - self.rb
             if size >= 0:
@@ -99,7 +99,7 @@ class limitreader(object):
             ret = self.bk.read(ra)
             if ret == "":
                 raise IOError("Unpexpected EOF")
-            self.buf.extend(ret)
+            self.buf += ret
             self.rb += len(ret)
 
     def readlines(self, hint=None):
@@ -148,7 +148,7 @@ class origrequest(request):
             if clen.isdigit():
                 self.input = limitreader(env["wsgi.input"], int(clen))
         if self.input is None:
-            self.input = io.BytesIO("")
+            self.input = StringIO.StringIO("")
         self.ohead = headdict()
         for k, v in env.items():
             if k[:5] == "HTTP_":