@@ -289,18 +289,19 @@ def forward_persisted_get_status(hash_value):
289289 error.read()
290290 return error.code
291291
292- def proxy_parts():
293- proxy_url = (
294- os.environ.get("HTTPS_PROXY")
295- or os.environ.get("https_proxy")
296- or os.environ.get("HTTP_PROXY")
297- or os.environ.get("http_proxy")
298- )
292+ def proxy_parts(*names):
293+ proxy_url = next((os.environ.get(name) for name in names if os.environ.get(name)), None)
299294 parsed = urllib.parse.urlparse(proxy_url)
300295 return parsed.hostname, parsed.port or 80
301296
297+ def forward_proxy_parts():
298+ return proxy_parts("HTTP_PROXY", "http_proxy", "HTTPS_PROXY", "https_proxy")
299+
300+ def connect_proxy_parts():
301+ return proxy_parts("HTTPS_PROXY", "https_proxy", "HTTP_PROXY", "http_proxy")
302+
302303def forward_chunked_status(query):
303- proxy_host, proxy_port = proxy_parts ()
304+ proxy_host, proxy_port = forward_proxy_parts ()
304305 target = f"{{HOST}}:{{PORT}}"
305306 body = json.dumps({{"query": query}}).encode()
306307 chunk = f"{{len(body):x}}\r\n".encode() + body + b"\r\n0\r\n\r\n"
@@ -329,7 +330,7 @@ def read_until(sock, marker):
329330 return data
330331
331332def connect_status(query):
332- proxy_host, proxy_port = proxy_parts ()
333+ proxy_host, proxy_port = connect_proxy_parts ()
333334 target = f"{{HOST}}:{{PORT}}"
334335 body = json.dumps({{"query": query}}).encode()
335336
@@ -355,7 +356,7 @@ def connect_status(query):
355356 return int(response.split()[1])
356357
357358def connect_get_status(query):
358- proxy_host, proxy_port = proxy_parts ()
359+ proxy_host, proxy_port = connect_proxy_parts ()
359360 target = f"{{HOST}}:{{PORT}}"
360361 encoded = urllib.parse.urlencode({{"query": query}})
361362
@@ -379,7 +380,7 @@ def connect_get_status(query):
379380 return int(response.split()[1])
380381
381382def connect_duplicate_get_status():
382- proxy_host, proxy_port = proxy_parts ()
383+ proxy_host, proxy_port = connect_proxy_parts ()
383384 target = f"{{HOST}}:{{PORT}}"
384385 safe = urllib.parse.quote_plus(QUERY_VIEWER)
385386 unsafe = urllib.parse.quote_plus(MUTATION_DELETE)
@@ -404,7 +405,7 @@ def connect_duplicate_get_status():
404405 return int(response.split()[1])
405406
406407def connect_persisted_get_status(hash_value):
407- proxy_host, proxy_port = proxy_parts ()
408+ proxy_host, proxy_port = connect_proxy_parts ()
408409 target = f"{{HOST}}:{{PORT}}"
409410 extensions = json.dumps({{"persistedQuery": {{"version": 1, "sha256Hash": hash_value}}}})
410411 encoded = urllib.parse.urlencode({{"operationName": "Viewer", "extensions": extensions}})
@@ -429,7 +430,7 @@ def connect_persisted_get_status(hash_value):
429430 return int(response.split()[1])
430431
431432def connect_chunked_status(query):
432- proxy_host, proxy_port = proxy_parts ()
433+ proxy_host, proxy_port = connect_proxy_parts ()
433434 target = f"{{HOST}}:{{PORT}}"
434435 body = json.dumps({{"query": query}}).encode()
435436 chunk = f"{{len(body):x}}\r\n".encode() + body + b"\r\n0\r\n\r\n"
0 commit comments