If there is no content in a response don't throw an error the second time that conten...
authorMichael Newman <newmaniese@gmail.com>
Sun, 8 Apr 2012 22:39:44 +0000 (18:39 -0400)
committerMichael Newman <newmaniese@gmail.com>
Sun, 8 Apr 2012 22:39:44 +0000 (18:39 -0400)
requests/models.py
tests/test_requests.py

index 70e350364e2b9e8950dec9a21d0214fc5df86713..97c97d08108841adb961f84983d784d46534d3c0 100644 (file)
@@ -623,7 +623,7 @@ class Response(object):
 
     def __init__(self):
 
-        self._content = None
+        self._content = False
         self._content_consumed = False
 
         #: Integer Code of responded HTTP Status.
@@ -736,7 +736,7 @@ class Response(object):
     def content(self):
         """Content of the response, in bytes."""
 
-        if self._content is None:
+        if self._content is False:
             # Read the contents.
             try:
                 if self._content_consumed:
@@ -751,7 +751,7 @@ class Response(object):
             except AttributeError:
                 self._content = None
 
-        self._content_consumed = True
+        self._content_consumed = True        
         return self._content
 
     def _detected_encoding(self):
index dd59da2e22d90886fb8940cc91229bd0f6d3829e..ac271d1dca8084197c299249ca4ad160c77da98e 100755 (executable)
@@ -800,5 +800,10 @@ class RequestsTestSuite(TestSetup, unittest.TestCase):
         r = requests.get(httpbin('status', '404'))
         r.text
 
+    def test_no_conent(self):
+        r = requests.get(httpbin('status', "0"), config={"safe_mode":True})
+        r.content
+        r.content
+
 if __name__ == '__main__':
     unittest.main()