From: Kenneth Reitz Date: Sat, 13 Aug 2011 17:01:44 +0000 (-0400) Subject: response error handling rework X-Git-Tag: v0.6.0~81 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5693314a37ff8815c3c6a4bb7b9ebd5ef1abb5b9;p=services%2Fpython-requests.git response error handling rework --- diff --git a/requests/models.py b/requests/models.py index 5195431..b90a2bd 100644 --- a/requests/models.py +++ b/requests/models.py @@ -158,7 +158,7 @@ class Request(object): return opener.open - def _build_response(self, resp): + def _build_response(self, resp, is_error=False): """Build internal :class:`Response ` object from given response.""" def build(resp): @@ -173,6 +173,9 @@ class Request(object): except AttributeError: pass + if is_error: + response.error = resp + response.url = getattr(resp, 'url', None) return response @@ -312,9 +315,8 @@ class Request(object): if isinstance(why.reason, socket.timeout): why = Timeout(why) - self._build_response(why) - if not self.redirect: - self.response.error = why + self._build_response(why, is_error=True) + else: self._build_response(resp)