r.content is None of there's an invalid response.
authorKenneth Reitz <me@kennethreitz.com>
Sat, 5 Nov 2011 03:24:38 +0000 (23:24 -0400)
committerKenneth Reitz <me@kennethreitz.com>
Sat, 5 Nov 2011 03:24:38 +0000 (23:24 -0400)
Fixes #236

requests/models.py
test_requests.py

index fd74ed5411779f146d07f9d3bc3d3d016500d854..9ad9e67f0264cbccca356bf26a1adfb67410f4ec 100644 (file)
@@ -496,7 +496,11 @@ class Response(object):
                                'already consumed')
 
         # Read the contents.
-        self._content = self.raw.read()
+        try:
+            self._content = self.raw.read()
+        except AttributeError:
+            return None
+
 
         # Decode GZip'd content.
         if 'gzip' in self.headers.get('content-encoding', ''):
index e68493e15ec43897e960095eb197332bba5a52ea..ebff33dd5563092bff01bab1938ad725273fedcb 100755 (executable)
@@ -529,6 +529,11 @@ class RequestsTestSuite(unittest.TestCase):
         assert params3['b'] in r3.content
         assert params3['c'] in r3.content
 
+    def test_invalid_content(self):
+
+        r = requests.get('http://somedomainthatclearlydoesntexistg.com')
+        assert r.content == None
+
 
 if __name__ == '__main__':
     unittest.main()