Spaces:
Running
Running
| 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 | |