OpenSpace/openspace/cloud/base.py
2026-07-17 11:43:42 +08:00

15 lines
558 B
Python

"""Shared helpers for strict OpenSpace cloud API URL handling."""
from __future__ import annotations
from openspace.cloud.config import normalize_cloud_base_url
def cloud_api_url(base_url: str, version: str, path: str) -> str:
"""Build a versioned API URL from a strict service root URL."""
if version not in {"v1", "v2"}:
raise ValueError("version must be 'v1' or 'v2'")
base = normalize_cloud_base_url(base_url)
normalized_path = path if path.startswith("/") else f"/{path}"
return f"{base}/api/{version}{normalized_path}"