INNER CODE UNIT · Python
process_proxy_url
rfc-st/humble · humble.py:254
def process_proxy_url(proxy_url, timeout=3.0):
"""Parse and validate proxy URL accessibility, related to `-p` option."""
parsed_proxy_url = urlparse(proxy_url)
proxy_host = parsed_proxy_url.hostname
if not proxy_host:
print_error_detail("[proxy_host]", clean_lines=True)
try:
proxy_port = parsed_proxy_url.port or 8080
except ValueError:
print_error_detail("[proxy_port]", clean_lines=True)
failed_proxy = Event()
proxy_thread = Thread(target=check_proxy_url, args=(proxy_host, proxy_port,
timeout, failed_proxy),
daemon=True)
proxy_thread.start()
proxy_thread.join(timeout)
if proxy_thread.is_alive() or failed_proxy.is_set():
print_error_detail("[proxy_url]", clean_lines=True)