From: Jérémy Bethmont Date: Wed, 17 Aug 2011 14:04:53 +0000 (+0200) Subject: Handle redirection without scheme. X-Git-Tag: v0.6.1~3^2~3^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c22b71fc5b69736f40f8e491c5a6c4db461321f3;p=services%2Fpython-requests.git Handle redirection without scheme. --- diff --git a/requests/models.py b/requests/models.py index cc9cc6f..931bafd 100644 --- a/requests/models.py +++ b/requests/models.py @@ -225,6 +225,11 @@ class Request(object): url = r.headers['location'] + # Handle redirection without scheme (see: RFC 1808 Section 4) + if url.startswith('//'): + parsed_rurl = urlparse(r.url) + url = '%s:%s' % (parsed_rurl.scheme, url) + # Facilitate non-RFC2616-compliant 'location' headers # (e.g. '/path/to/resource' instead of 'http://domain.tld/path/to/resource') if not urlparse(url).netloc: