This commit is contained in:
Ian Cordasco
2014-12-16 22:18:51 -06:00
2 changed files with 10 additions and 2 deletions
+5 -2
View File
@@ -20,7 +20,7 @@ from .packages.urllib3.fields import RequestField
from .packages.urllib3.filepost import encode_multipart_formdata
from .packages.urllib3.util import parse_url
from .packages.urllib3.exceptions import (
DecodeError, ReadTimeoutError, ProtocolError)
DecodeError, ReadTimeoutError, ProtocolError, LocationParseError)
from .exceptions import (
HTTPError, MissingSchema, InvalidURL, ChunkedEncodingError,
ContentDecodingError, ConnectionError, StreamConsumedError)
@@ -350,7 +350,10 @@ class PreparedRequest(RequestEncodingMixin, RequestHooksMixin):
return
# Support for unicode domain names and paths.
scheme, auth, host, port, path, query, fragment = parse_url(url)
try:
scheme, auth, host, port, path, query, fragment = parse_url(url)
except LocationParseError as e:
raise InvalidURL(e.message)
if not scheme:
raise MissingSchema("Invalid URL {0!r}: No schema supplied. "
+5
View File
@@ -309,6 +309,11 @@ class RequestsTestCase(unittest.TestCase):
with pytest.raises(ConnectionError):
requests.get("http://httpbin.org:1")
def test_LocationParseError(self):
"""Inputing a URL that cannot be parsed should raise an InvalidURL error"""
with pytest.raises(InvalidURL):
requests.get("http://fe80::5054:ff:fe5a:fc0")
def test_basicauth_with_netrc(self):
auth = ('user', 'pass')
wrong_auth = ('wronguser', 'wrongpass')