Fixed issue with empty proxies being passed

This commit is contained in:
Eric Hansen
2012-09-11 15:40:16 -04:00
parent 64fd0baa02
commit 2dc7db4730
2 changed files with 31 additions and 0 deletions
+4
View File
@@ -111,6 +111,10 @@ class Request(object):
# Dictionary mapping protocol to the URL of the proxy (e.g. {'http': 'foo.bar:3128'})
self.proxies = dict(proxies or [])
for proxy_type,uri_ref in self.proxies.items():
if not uri_ref:
del self.proxies[proxy_type]
# If no proxies are given, allow configuration by environment variables
# HTTP_PROXY and HTTPS_PROXY.
if not self.proxies and self.config.get('trust_env'):
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys, os, unittest
# Path hack.
sys.path.insert(0, os.path.abspath('..'))
import requests
class HTTPSProxyTest(unittest.TestCase):
"""Smoke test for https functionality."""
smoke_url = "https://github.com"
def test_empty_https_proxy(self):
proxy = {"https" : "" }
result = requests.get(self.smoke_url, verify=False, proxies = proxy)
self.assertEqual(result.status_code, 200)
def test_empty_http_proxy(self):
proxy = {"http" : "" }
result = requests.get(self.smoke_url, proxies = proxy)
self.assertEqual(result.status_code, 200)
if __name__ == '__main__':
unittest.main()