"""Helpers for serving static HTML with lightweight version injection.""" from pathlib import Path from fastapi import HTTPException from fastapi.responses import HTMLResponse from app.platform.meta import get_project_version _VERSION_TOKEN = "{{APP_VERSION}}" def serve_static_html(path: Path) -> HTMLResponse: """Serve an HTML file, replacing the version token if present.""" if not path.exists(): raise HTTPException(status_code=404, detail="Page not found") body = path.read_text(encoding="utf-8") if _VERSION_TOKEN in body: body = body.replace(_VERSION_TOKEN, get_project_version()) return HTMLResponse(body, headers={"Cache-Control": "no-store"}) __all__ = ["serve_static_html"]