From 8aa6fabd4d57ca0f9a5efc4a7d70fec338c94e2a Mon Sep 17 00:00:00 2001 From: Johannes Date: Sun, 22 May 2011 11:39:49 +0200 Subject: [PATCH] Support relative redirects. Fixes #36 --- requests/models.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/requests/models.py b/requests/models.py index 3a00d8c..2c3241d 100644 --- a/requests/models.py +++ b/requests/models.py @@ -177,6 +177,12 @@ class Request(object): url = r.headers['location'] + # Facilitate for non-RFC2616-compliant 'location' headers + # (e.g. '/path/to/resource' instead of 'http://domain.tld/path/to/resource') + if not urlparse(url).netloc: + parent_url_components = urlparse(self.url) + url = '%s://%s/%s' % (parent_url_components.scheme, parent_url_components.netloc, url) + # http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.4 if r.status_code is 303: method = 'GET' -- 2.34.1