Skip to content

Commit 9b10475

Browse files
committed
sync chunked requests proxy updates
1 parent 20102d6 commit 9b10475

File tree

2 files changed

+25
-11
lines changed

2 files changed

+25
-11
lines changed

plotly/plotly/chunked_requests/chunked_request.py

+24-10
Original file line numberDiff line numberDiff line change
@@ -70,24 +70,38 @@ def write(self, data, reconnect_on=('', 200, )):
7070
self._reconnect()
7171
self.write(data)
7272

73+
def _get_proxy_config(self):
74+
"""
75+
Determine if self._url should be passed through a proxy. If so, return
76+
the appropriate proxy_server and proxy_port
77+
78+
"""
79+
80+
proxy_server = None
81+
proxy_port = None
82+
83+
## only doing HTTPConnection, so only use http_proxy
84+
proxy = os.environ.get("http_proxy")
85+
no_proxy = os.environ.get("no_proxy")
86+
no_proxy_url = no_proxy and self._url in no_proxy
87+
88+
if proxy and not no_proxy_url:
89+
p = urlparse(proxy)
90+
proxy_server = p.hostname
91+
proxy_port = p.port
92+
93+
return proxy_server, proxy_port
94+
7395
def _connect(self):
7496
''' Initialize an HTTP connection with chunked Transfer-Encoding
7597
to server:port with optional headers.
7698
'''
7799
server = self._server
78100
port = self._port
79101
headers = self._headers
102+
proxy_server, proxy_port = self._get_proxy_config()
80103

81-
## only doing HTTPConnection, so only use http_proxy
82-
proxy = os.environ.get("http_proxy");
83-
proxy_server = None
84-
proxy_port = None
85-
if (proxy != None):
86-
p = urlparse(proxy)
87-
proxy_server = p.hostname
88-
proxy_port = p.port
89-
90-
if (proxy_server != None and proxy_port != None):
104+
if (proxy_server and proxy_port):
91105
self._conn = http_client.HTTPConnection(proxy_server, proxy_port)
92106
self._conn.set_tunnel(server, port)
93107
else:

0 commit comments

Comments
 (0)