Files
pdf/gateway/app/routers/info.py
T

35 lines
1008 B
Python
Raw Normal View History

2026-05-26 17:39:03 +05:30
from fastapi import APIRouter, HTTPException, status
from pydantic import BaseModel
from app.services import engine
router = APIRouter(prefix="/engine", tags=["info"])
2026-05-26 17:39:03 +05:30
class EngineInfoResponse(BaseModel):
version: str
build_info: str
has_pdfium: bool
has_skia: bool
2026-05-26 17:39:03 +05:30
@router.get("/info", response_model=EngineInfoResponse)
def get_engine_info() -> EngineInfoResponse:
if not engine.is_available():
raise HTTPException(
status_code=status.HTTP_501_NOT_IMPLEMENTED,
detail="Engine bridge (bindings/python) not yet available.",
2026-05-26 17:39:03 +05:30
)
2026-05-26 17:39:03 +05:30
pdfengine = engine.require()
2026-05-26 17:39:03 +05:30
try:
return EngineInfoResponse(
version=pdfengine.engine_version(),
build_info=pdfengine.engine_build_info(),
has_pdfium=pdfengine.engine_has_pdfium(),
has_skia=pdfengine.engine_has_skia(),
2026-05-26 17:39:03 +05:30
)
except Exception as e:
raise HTTPException(status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, detail=str(e))