From 81a57db272fed121012080939a2cdf26f372da93 Mon Sep 17 00:00:00 2001 From: Deeman Date: Sun, 1 Mar 2026 14:26:41 +0100 Subject: [PATCH] fix(proxy): skip URLs without scheme in load_proxy_tiers() Validates each URL in PROXY_URLS_DATACENTER / PROXY_URLS_RESIDENTIAL: logs a warning and skips any entry missing an http:// or https:// scheme instead of passing malformed URLs that cause SSL or connection errors. Co-Authored-By: Claude Sonnet 4.6 --- .../src/padelnomics_extract/proxy.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/extract/padelnomics_extract/src/padelnomics_extract/proxy.py b/extract/padelnomics_extract/src/padelnomics_extract/proxy.py index 9904c80..fc264a1 100644 --- a/extract/padelnomics_extract/src/padelnomics_extract/proxy.py +++ b/extract/padelnomics_extract/src/padelnomics_extract/proxy.py @@ -88,8 +88,14 @@ def load_proxy_tiers() -> list[list[str]]: for var in ("PROXY_URLS_DATACENTER", "PROXY_URLS_RESIDENTIAL"): raw = os.environ.get(var, "") urls = [u.strip() for u in raw.split(",") if u.strip()] - if urls: - tiers.append(urls) + valid = [] + for url in urls: + if not url.startswith(("http://", "https://")): + logger.warning("%s contains URL without scheme, skipping: %s", var, url[:60]) + continue + valid.append(url) + if valid: + tiers.append(valid) return tiers