Raise Timeout on request timeouts
authorJohannes <jgorset@gmail.com>
Fri, 20 May 2011 16:17:46 +0000 (18:17 +0200)
committerJohannes <jgorset@gmail.com>
Fri, 20 May 2011 16:17:46 +0000 (18:17 +0200)
requests/models.py

index aa22b8092b59a1060b4bee7f6e7d03fe302f4ed0..8ae2f70d823fb26be99647b13a2c98804054feca 100644 (file)
@@ -238,6 +238,8 @@ class Request(object):
                 self._build_response(why)
                 if not self.redirect:
                     self.response.error = why
+            except urllib2.URLError, error:
+                raise Timeout if isinstance(error.reason, socket.timeout) else error
             else:
                 self._build_response(resp)
                 self.response.ok = True
@@ -491,6 +493,9 @@ class RequestException(Exception):
 
 class AuthenticationError(RequestException):
     """The authentication credentials provided were invalid."""
+    
+class Timeout(RequestException):
+    """The request timed out."""
 
 class URLRequired(RequestException):
     """A valid URL is required to make a request."""