hengdian / tms_proxy.py
Ethscriptions's picture
Upload 2 files
3d4bae7 verified
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