Files
2026-02-22 18:58:55 +08:00

36 lines
886 B
Python

from __future__ import annotations
import os
from typing import Any
from fastapi import APIRouter, Request
from fastapi.responses import JSONResponse
from app.core.request_id import get_or_create_request_id, set_request_id_header, set_request_id_on_state
router = APIRouter()
def _get_env(key: str, default: str) -> str:
value = os.environ.get(key, default)
return str(value).strip()
@router.get("/version")
async def version(request: Request) -> Any:
rid = get_or_create_request_id(request)
set_request_id_on_state(request, rid)
body = {
"ok": True,
"version": _get_env("APP_VERSION", "dev"),
"build_time": _get_env("APP_BUILD_TIME", ""),
"git_commit": _get_env("APP_COMMIT", ""),
"request_id": rid,
}
resp = JSONResponse(status_code=200, content=body)
set_request_id_header(resp, rid)
return resp