mirror of
https://github.com/wowlikon/LiB.git
synced 2026-03-21 23:53:38 +00:00
25 lines
790 B
Python
25 lines
790 B
Python
from fastapi import Request, Response, status, HTTPException
|
|
from fastapi.responses import JSONResponse
|
|
|
|
from library_service.settings import get_app
|
|
from library_service.routers.misc import unknown
|
|
|
|
|
|
async def not_found_handler(request: Request, exc: HTTPException):
|
|
"""Middleware для обработки 404 ошибки"""
|
|
if exc.detail == "Not Found":
|
|
path = request.url.path
|
|
|
|
if path.startswith("/api/"):
|
|
return JSONResponse(
|
|
status_code=status.HTTP_404_NOT_FOUND,
|
|
content={"detail": "API endpoint not found", "path": path},
|
|
)
|
|
app = get_app()
|
|
return await unknown(request, app)
|
|
|
|
return JSONResponse(
|
|
status_code=exc.status_code,
|
|
content={"detail": exc.detail},
|
|
)
|