summaryrefslogtreecommitdiff
path: root/requests/adapters.py
diff options
context:
space:
mode:
authorNate Prewitt <Nate.Prewitt@gmail.com>2018-04-07 15:11:00 -0700
committerNate Prewitt <Nate.Prewitt@gmail.com>2018-04-07 15:11:00 -0700
commitc7cea32304c05ef5890bcb8941edc8b6fbe04a03 (patch)
tree7a5d670da7f5b7a8403537f2099435ce2407194e /requests/adapters.py
parent9c6bd54b44c0b05c6907522e8d9998a87b69c1cd (diff)
parentb66908e7b647689793e299edc111bf9910e93ad3 (diff)
downloadpython-requests-updating_3.0.0.tar.gz
Merge remote-tracking branch 'upstream/master' into updating_3.0.0updating_3.0.0
Diffstat (limited to 'requests/adapters.py')
-rw-r--r--requests/adapters.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/requests/adapters.py b/requests/adapters.py
index 5bf80eb5..fe0f9049 100644
--- a/requests/adapters.py
+++ b/requests/adapters.py
@@ -13,6 +13,7 @@ import socket
from urllib3.poolmanager import PoolManager, proxy_from_url
from urllib3.response import HTTPResponse
+from urllib3.util import parse_url
from urllib3.util import Timeout as TimeoutSauce
from urllib3.util.retry import Retry
from urllib3.exceptions import ClosedPoolError
@@ -28,13 +29,13 @@ from urllib3.exceptions import ResponseError
from .models import Response
from .compat import urlparse, basestring
-from .utils import (DEFAULT_CA_BUNDLE_PATH, get_encoding_from_headers,
- prepend_scheme_if_needed, get_auth_from_url, urldefragauth,
- select_proxy)
+from .utils import (DEFAULT_CA_BUNDLE_PATH, extract_zipped_paths,
+ get_encoding_from_headers, prepend_scheme_if_needed,
+ get_auth_from_url, urldefragauth, select_proxy)
from .structures import CaseInsensitiveDict
from .cookies import extract_cookies_to_jar
from .exceptions import (ConnectionError, ConnectTimeout, ReadTimeout, SSLError,
- ProxyError, RetryError, InvalidScheme)
+ ProxyError, RetryError, InvalidScheme, InvalidProxyURL)
from .auth import _basic_auth_str
try:
@@ -309,6 +310,10 @@ class HTTPAdapter(BaseAdapter):
if proxy:
proxy = prepend_scheme_if_needed(proxy, 'http')
+ proxy_url = parse_url(proxy)
+ if not proxy_url.host:
+ raise InvalidProxyURL("Please check proxy URL. It is malformed"
+ " and could be missing the host.")
proxy_manager = self.proxy_manager_for(proxy)
conn = proxy_manager.connection_from_url(url, pool_kwargs=pool_kwargs)
else:
@@ -413,7 +418,7 @@ class HTTPAdapter(BaseAdapter):
conn = self.get_connection(request.url, proxies, verify, cert)
url = self.request_url(request, proxies)
- self.add_headers(request)
+ self.add_headers(request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies)
chunked = not (request.body is None or 'Content-Length' in request.headers)