summaryrefslogtreecommitdiff
path: root/requests/structures.py
diff options
context:
space:
mode:
authorKenneth Reitz <me@kennethreitz.com>2013-01-10 01:58:29 -0500
committerKenneth Reitz <me@kennethreitz.com>2013-01-10 01:58:29 -0500
commitef8563ab36c6b52834ee9c35f6f75a424cd9ceef (patch)
tree433bf3f2dfec6798e54f2a20f319234e4ab323e6 /requests/structures.py
parent4a5b5bc86eeb03e4d2c4914da6c2a258b15537d8 (diff)
downloadpython-requests-ef8563ab36c6b52834ee9c35f6f75a424cd9ceef.tar.gz
CHUNKED REQUESTS!
Diffstat (limited to 'requests/structures.py')
-rw-r--r--requests/structures.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/requests/structures.py b/requests/structures.py
index 3fda9843..6c2e0b21 100644
--- a/requests/structures.py
+++ b/requests/structures.py
@@ -8,6 +8,28 @@ Data structures that power Requests.
"""
+import os
+from itertools import islice
+
+class IteratorProxy(object):
+ """docstring for IteratorProxy"""
+ def __init__(self, i):
+ self.i = i
+ # self.i = chain.from_iterable(i)
+
+ def __iter__(self):
+ return self.i
+
+ def __len__(self):
+ if hasattr(self.i, '__len__'):
+ return len(self.i)
+ if hasattr(self.i, 'len'):
+ return self.i.len
+ if hasattr(self.i, 'fileno'):
+ return os.fstat(self.i.fileno()).st_size
+
+ def read(self, n):
+ return "".join(islice(self.i, None, n))
class CaseInsensitiveDict(dict):
"""Case-insensitive Dictionary