Don't send the full URL on CONNECT messages.
authorCory Benfield <lukasaoz@gmail.com>
Sat, 28 Sep 2013 14:46:43 +0000 (15:46 +0100)
committerCory Benfield <lukasaoz@gmail.com>
Sat, 28 Sep 2013 14:46:43 +0000 (15:46 +0100)
requests/adapters.py

index d557b74629946152902e1493bbb0375fe8873e1f..5799523643bfb550d5df2617edb852f8ed24b01a 100644 (file)
@@ -220,8 +220,8 @@ class HTTPAdapter(BaseAdapter):
     def request_url(self, request, proxies):
         """Obtain the url to use when making the final request.
 
-        If the message is being sent through a proxy, the full URL has to be
-        used. Otherwise, we should only use the path portion of the URL.
+        If the message is being sent through a HTTP proxy, the full URL has to
+        be used. Otherwise, we should only use the path portion of the URL.
 
         This should not be called from user code, and is only exposed for use
         when subclassing the
@@ -231,9 +231,10 @@ class HTTPAdapter(BaseAdapter):
         :param proxies: A dictionary of schemes to proxy URLs.
         """
         proxies = proxies or {}
-        proxy = proxies.get(urlparse(request.url).scheme)
+        scheme = urlparse(request.url).scheme.lower()
+        proxy = proxies.get(scheme)
 
-        if proxy:
+        if proxy and scheme != 'https':
             url, _ = urldefrag(request.url)
         else:
             url = request.path_url