summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Hahler <git@thequod.de>2014-09-12 17:13:43 +0200
committerDaniel Hahler <git@thequod.de>2014-09-12 18:07:28 +0200
commitbff8b91638586a8269f79f1bac6e82921702e5b3 (patch)
treeb1616b96869b7140187fae577ec4ccd25527aaa3
parent1a44a99f175d831487fe82985d1d4a4820cc355c (diff)
downloadpython-requests-bff8b91638586a8269f79f1bac6e82921702e5b3.tar.gz
Document skipping in PreparedRequest; followup to #2222
-rw-r--r--requests/models.py4
-rwxr-xr-xtest_requests.py2
2 files changed, 4 insertions, 2 deletions
diff --git a/requests/models.py b/requests/models.py
index 03ff627a..bbf08c81 100644
--- a/requests/models.py
+++ b/requests/models.py
@@ -334,7 +334,9 @@ class PreparedRequest(RequestEncodingMixin, RequestHooksMixin):
except UnicodeDecodeError:
pass
- # Don't do any URL preparation for oddball schemes
+ # Don't do any URL preparation for non-HTTP schemes like `mailto`,
+ # `data` etc to work around exceptions from `url_parse`, which
+ # handles RFC 3986 only.
if ':' in url and not url.lower().startswith('http'):
self.url = url
return
diff --git a/test_requests.py b/test_requests.py
index 9f75a9d9..4fccc346 100755
--- a/test_requests.py
+++ b/test_requests.py
@@ -922,7 +922,7 @@ class RequestsTestCase(unittest.TestCase):
assert p.headers['Content-Length'] == length
- def test_oddball_schemes_dont_check_URLs(self):
+ def test_nonhttp_schemes_dont_check_URLs(self):
test_urls = (
'data:image/gif;base64,R0lGODlhAQABAHAAACH5BAUAAAAALAAAAAABAAEAAAICRAEAOw==',
'file:///etc/passwd',