[Python-checkins] cpython (3.2): Fix closes issue12698 - make the no_proxy environment variable handling a bit

senthil.kumaran python-checkins at python.org
Sat Aug 6 06:28:55 CEST 2011


http://hg.python.org/cpython/rev/1d4bd059a9b6
changeset:   71751:1d4bd059a9b6
branch:      3.2
parent:      71746:cc86f4ca5020
user:        Senthil Kumaran <senthil at uthcode.com>
date:        Sat Aug 06 12:27:40 2011 +0800
summary:
  Fix closes issue12698 - make the no_proxy environment variable handling a bit lenient (accomodate spaces in between the items)

files:
  Lib/test/test_urllib.py |  4 +++-
  Lib/urllib/request.py   |  3 ++-
  2 files changed, 5 insertions(+), 2 deletions(-)


diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py
--- a/Lib/test/test_urllib.py
+++ b/Lib/test/test_urllib.py
@@ -135,7 +135,9 @@
         proxies = urllib.request.getproxies_environment()
         # getproxies_environment use lowered case truncated (no '_proxy') keys
         self.assertEqual('localhost', proxies['no'])
-
+        # List of no_proxies with space.
+        self.env.set('NO_PROXY', 'localhost, anotherdomain.com, newdomain.com')
+        self.assertTrue(urllib.request.proxy_bypass_environment('anotherdomain.com'))
 
 class urlopen_HttpTests(unittest.TestCase):
     """Test urlopen() opening a fake http connection."""
diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py
--- a/Lib/urllib/request.py
+++ b/Lib/urllib/request.py
@@ -2265,7 +2265,8 @@
     # strip port off host
     hostonly, port = splitport(host)
     # check if the host ends with any of the DNS suffixes
-    for name in no_proxy.split(','):
+    no_proxy_list = [proxy.strip() for proxy in no_proxy.split(',')]
+    for name in no_proxy_list:
         if name and (hostonly.endswith(name) or host.endswith(name)):
             return 1
     # otherwise, don't bypass

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list