INNER CODE UNIT · Python
__init__
gokulapap/Reconator · backend/app/cli.py:14
def __init__(self, base_url: str, api_key: str | None, timeout: float = 30.0) -> None:
headers = {"X-API-Key": api_key} if api_key else {}
self.client = httpx.Client(
base_url=base_url.rstrip("/") + "/api/v1",
headers=headers,
timeout=timeout,
)
def request(self, method: str, path: str, **kwargs: Any) -> Any:
response = self.client.request(method, path, **kwargs)
try:
response.raise_for_status()
except httpx.HTTPStatusError as exc:
try:
detail = response.json().get("detail", response.text)
except ValueError:
detail = response.text
raise RuntimeError(f"API returned HTTP {response.status_code}: {detail}") from exc