Merge branch 'master' into jython
[wrw.git] / wrw / req.py
index 5fbc2fe..fbe732b 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):
                     self.input = limitreader(env["wsgi.input"], int(clen))
                 else:
                     # XXX: What to do?
-                    self.input = io.BytesIO("")
+                    self.input = StringIO.StringIO("")
             else:
                 # Assume input is chunked and read until ordinary EOF.
                 self.input = env["wsgi.input"]