diff --git a/requests/models.py b/requests/models.py index 41eea5a6..9198c4c3 100644 --- a/requests/models.py +++ b/requests/models.py @@ -486,6 +486,10 @@ class Response(object): """Returns true if :attr:`status_code` is 'OK'.""" return self.ok + def __iter__(self): + """Allows you to use a response as an iterator.""" + return self.iter_content(128) + @property def ok(self): try: diff --git a/test_requests.py b/test_requests.py index 54c732db..c4b94b2c 100644 --- a/test_requests.py +++ b/test_requests.py @@ -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(next(iter(r))) + io.close() if __name__ == '__main__': unittest.main()