rag-chatbot / app /api /middleware /error_handler.py
Abeshith's picture
RAG Chatbot with LangChain, FastAPI, and service layer architecture
64d7fdf
raw
history blame contribute delete
734 Bytes
from fastapi import Request, status
from fastapi.responses import JSONResponse
from app.utils.errors import RagChatbotError
from app.utils.logger import logger
async def error_handler_middleware(request: Request, call_next):
try:
response = await call_next(request)
return response
except RagChatbotError as e:
logger.error(f"RAG error: {str(e)}")
return JSONResponse(
status_code=e.status_code,
content={"detail": str(e)}
)
except Exception as e:
logger.error(f"Unhandled error: {str(e)}")
return JSONResponse(
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
content={"detail": "Internal server error"}
)