"""JSON error responses shared by /upload and the site API.""" import httpx from fastapi.responses import JSONResponse def error(status: int, message: str) -> JSONResponse: return JSONResponse({"error": message}, status_code=status) def zipline_message(r: httpx.Response) -> str: try: body = r.json() return str(body.get("error") or body.get("message") or body) except ValueError: return r.text[:200] or f"Zipline returned {r.status_code}"