Buckets:
| """Runtime config the frontend reads from /features to follow --comfy-api-base. | |
| For a non-prod comfy.org backend (staging or an ephemeral preview env), "/features" exposes the api and | |
| platform base so the frontend talks to it without a rebuild, plus the Firebase environment it should use. | |
| Prod bases are left alone and keep their build-time defaults. | |
| """ | |
| from typing import Any | |
| from urllib.parse import urlparse | |
| from comfy.cli_args import args | |
| _STAGING_API_HOST = "stagingapi.comfy.org" | |
| _TESTENV_HOST_SUFFIX = ".testenvs.comfy.org" | |
| _STAGING_PLATFORM_BASE_URL = "https://stagingplatform.comfy.org" | |
| def _is_staging_tier(host: str) -> bool: | |
| return host == _STAGING_API_HOST or host.endswith(_TESTENV_HOST_SUFFIX) | |
| def normalize_comfy_api_base(url: str) -> str: | |
| """Rewrite a testenv's friendly main host to its comfy-api '-registry' sibling.""" | |
| parsed = urlparse(url) | |
| host = parsed.hostname or "" | |
| if not host.endswith(_TESTENV_HOST_SUFFIX): | |
| return url | |
| label = host[: -len(_TESTENV_HOST_SUFFIX)] | |
| if label.endswith("-registry"): | |
| return url | |
| return f"{parsed.scheme or 'https'}://{label}-registry{_TESTENV_HOST_SUFFIX}" | |
| def environment_overrides_for_base(base_url: str) -> dict[str, Any] | None: | |
| """The /features overrides for a staging-tier base, or None for prod.""" | |
| if not _is_staging_tier(urlparse(base_url).hostname or ""): | |
| return None | |
| return { | |
| "comfy_api_base_url": normalize_comfy_api_base(base_url).rstrip("/"), | |
| "comfy_platform_base_url": _STAGING_PLATFORM_BASE_URL, | |
| "firebase_env": "dev", | |
| } | |
| def get_environment_overrides() -> dict[str, Any] | None: | |
| return environment_overrides_for_base(getattr(args, "comfy_api_base", "") or "") | |
Xet Storage Details
- Size:
- 1.74 kB
- Xet hash:
- 220dee83b497a24b3658f3df3cfd58cdeef473462cb38454b4a999811b1f73ef
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.