import os from urllib.parse import urlparse TMS_ORIGIN = "https://tms.hengdianfilm.com" TMS_PROXY_URL_ENV = "TMS_CF_WORKER_URL" TMS_PROXY_TOKEN_ENV = "TMS_CF_WORKER_TOKEN" TMS_PROXY_TOKEN_HEADER = "X-TMS-Proxy-Token" def get_tms_proxy_base_url(proxy_url=None): raw = proxy_url if proxy_url is not None else os.getenv(TMS_PROXY_URL_ENV, "") raw = str(raw or "").strip() if not raw: return "" if "://" not in raw: raw = f"https://{raw}" return raw.rstrip("/") def build_tms_url(origin_url, proxy_url=None): proxy_base_url = get_tms_proxy_base_url(proxy_url) if not proxy_base_url: return origin_url parsed = urlparse(origin_url) origin = f"{parsed.scheme}://{parsed.netloc}" if origin != TMS_ORIGIN: return origin_url query = f"?{parsed.query}" if parsed.query else "" return f"{proxy_base_url}{parsed.path}{query}" def with_tms_proxy_headers(headers=None, proxy_url=None): headers = dict(headers or {}) if get_tms_proxy_base_url(proxy_url): proxy_token = os.getenv(TMS_PROXY_TOKEN_ENV, "").strip() if proxy_token: headers[TMS_PROXY_TOKEN_HEADER] = proxy_token return headers def tms_verify_ssl(default=False, proxy_url=None): if get_tms_proxy_base_url(proxy_url): return True return default