health check
This commit is contained in:
39
src/server/controllers/error_controller.py
Normal file
39
src/server/controllers/error_controller.py
Normal file
@@ -0,0 +1,39 @@
|
||||
"""
|
||||
Error handler controller for managing application exceptions.
|
||||
|
||||
This module provides custom error handlers for different HTTP status codes.
|
||||
"""
|
||||
from fastapi import HTTPException, Request
|
||||
from fastapi.responses import JSONResponse
|
||||
|
||||
from src.server.utils.templates import templates
|
||||
|
||||
|
||||
async def not_found_handler(request: Request, exc: HTTPException):
|
||||
"""Custom 404 handler."""
|
||||
if request.url.path.startswith("/api/"):
|
||||
return JSONResponse(
|
||||
status_code=404,
|
||||
content={"detail": "API endpoint not found"}
|
||||
)
|
||||
return templates.TemplateResponse(
|
||||
"error.html",
|
||||
{"request": request, "error": "Page not found", "status_code": 404}
|
||||
)
|
||||
|
||||
|
||||
async def server_error_handler(request: Request, exc: Exception):
|
||||
"""Custom 500 handler."""
|
||||
if request.url.path.startswith("/api/"):
|
||||
return JSONResponse(
|
||||
status_code=500,
|
||||
content={"detail": "Internal server error"}
|
||||
)
|
||||
return templates.TemplateResponse(
|
||||
"error.html",
|
||||
{
|
||||
"request": request,
|
||||
"error": "Internal server error",
|
||||
"status_code": 500
|
||||
}
|
||||
)
|
||||
Reference in New Issue
Block a user