Files
cad-Integration/CADDesigner-Code-main/web_interface/error_handlers.py
T
2026-07-22 13:48:46 +08:00

39 lines
1.0 KiB
Python

"""
Error handling module.
"""
from fastapi import Request
from fastapi.responses import JSONResponse
from .models import ErrorResponse, ErrorDetail
def create_error_response(
message: str,
error_type: str = "invalid_request",
param: str = None,
code: str = None,
status_code: int = 400,
) -> JSONResponse:
"""Create a standard error response."""
error_detail = ErrorDetail(message=message, type=error_type, param=param, code=code)
error_response = ErrorResponse(error=error_detail)
return JSONResponse(status_code=status_code, content=error_response.model_dump())
async def not_found_handler(request: Request, exc):
"""404 error handler."""
return create_error_response(
message=f"Not found: {request.url.path}",
error_type="not_found",
status_code=404,
)
async def internal_error_handler(request: Request, exc):
"""500 error handler."""
return create_error_response(
message="Internal server error",
error_type="server_error",
status_code=500
)