Decode URL to utf-8 before joining.

To avoid UnicodeDecodeError's like on http://blip.fm/~1abvfu
This commit is contained in:
Chris Dary
2012-02-28 12:08:37 -05:00
parent 7cc898f9ed
commit e2645826be
+2
View File
@@ -227,6 +227,8 @@ class Request(object):
# Facilitate non-RFC2616-compliant 'location' headers
# (e.g. '/path/to/resource' instead of 'http://domain.tld/path/to/resource')
if not urlparse(url).netloc:
if not isinstance(url, unicode):
url = url.decode('utf-8', 'ignore')
url = urljoin(r.url, url)
# http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.4