@@ -92,22 +92,35 @@ def __init__(self, configuration, pools_size=4, maxsize=None):
9292 read = configuration .read_timeout ,
9393 )
9494
95- if configuration .proxy is None or configuration .host not in _get_no_proxy (configuration ):
96- if configuration .http_proxy and configuration .scheme == 'http' :
97- configuration .proxy = configuration .http_proxy
98- elif configuration .https_proxy and configuration .scheme == 'https' :
99- configuration .proxy = configuration .https_proxy
95+ proxy_url = configuration .proxy
96+ if configuration .host in _get_no_proxy (configuration ):
97+ proxy_url = None
98+ elif not configuration .proxy :
99+ if configuration .scheme == 'http' :
100+ if configuration .http_proxy :
101+ proxy_url = configuration .http_proxy
102+ elif os .getenv ('HTTP_PROXY' ):
103+ proxy_url = os .getenv ('HTTP_PROXY' )
104+ elif os .getenv ('http_proxy' ):
105+ proxy_url = os .getenv ('http_proxy' )
106+ elif configuration .scheme == 'https' :
107+ if configuration .https_proxy :
108+ proxy_url = configuration .https_proxy
109+ elif os .getenv ('HTTPS_PROXY' ):
110+ proxy_url = os .getenv ('HTTPS_PROXY' )
111+ elif os .getenv ('https_proxy' ):
112+ proxy_url = os .getenv ('https_proxy' )
100113
101114 # https pool manager
102- if configuration . proxy :
115+ if proxy_url :
103116 self .pool_manager = urllib3 .ProxyManager (
104117 num_pools = pools_size ,
105118 maxsize = maxsize ,
106119 cert_reqs = cert_reqs ,
107120 ca_certs = ca_certs ,
108121 cert_file = configuration .cert_file ,
109122 key_file = configuration .key_file ,
110- proxy_url = configuration . proxy ,
123+ proxy_url = proxy_url ,
111124 timeout = timeout ,
112125 retries = Retry (total = False ),
113126 ** addition_pool_args
0 commit comments