Make Response objects iterable.
authorCory Benfield <lukasaoz@gmail.com>
Sat, 26 Jan 2013 15:19:01 +0000 (15:19 +0000)
committerCory Benfield <lukasaoz@gmail.com>
Mon, 28 Jan 2013 18:35:41 +0000 (18:35 +0000)
requests/models.py
test_requests.py

index 41eea5a..4570ad6 100644 (file)
@@ -486,6 +486,10 @@ class Response(object):
         """Returns true if :attr:`status_code` is 'OK'."""
         return self.ok
 
+    def __iter__(self):
+        """Returns the current object."""
+        return self.iter_content(128)
+
     @property
     def ok(self):
         try:
index 54c732d..b9cfde0 100644 (file)
@@ -325,6 +325,12 @@ class RequestsTestCase(unittest.TestCase):
         r = requests.get(httpbin('get'))
         self.assertTrue(r.elapsed.total_seconds() > 0.0)
 
+    def test_response_is_iterable(self):
+        r = requests.Response()
+        io = StringIO.StringIO('abc')
+        r.raw = io
+        self.assertTrue(iter(r).next())
+        io.close()
 
 if __name__ == '__main__':
     unittest.main()