Handle redirection without scheme.

This commit is contained in:
Jérémy Bethmont
2011-08-17 16:04:53 +02:00
parent a17110b32a
commit c22b71fc5b
+5
View File
@@ -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: