From e637177eaccdbf87fbd63824ce872dfdf517c3d0 Mon Sep 17 00:00:00 2001 From: nikhilleo10 Date: Wed, 22 Nov 2023 19:20:23 +0530 Subject: [PATCH] Added requestId in slack alert --- app.py | 11 +++++++---- middlewares/request_id_injection.py | 4 ++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/app.py b/app.py index 780f668..31d36c4 100644 --- a/app.py +++ b/app.py @@ -28,8 +28,6 @@ origins = ["*"] -app.add_middleware(RequestIdInjection) - # CORS middleware app.add_middleware( CORSMiddleware, @@ -39,6 +37,7 @@ allow_headers=["*"], ) app.add_middleware(RateLimitMiddleware) +app.add_middleware(RequestIdInjection) app.include_router(user, prefix="/user") @@ -92,8 +91,12 @@ async def http_exception_handler(request: Request, exc: HTTPException): async def http_exception_handler(request: Request, exc: Exception): error_message = f'Error: {str(exc)}' # Include the traceback in the response for debugging purposes - traceback_str = traceback.format_exc() - send_slack_message({ "text": f'```{traceback_str}```', "request_url": str(request.url), "request_method": str(request.method)}) + traceback_str = traceback.format_exc(chain=False) + send_slack_message( + { + "text": f'```\nRequestID: {request_id_contextvar.get()}\nRequest URL: {str(request.url)} \nRequest_method: {str(request.method)} \nTraceback: {traceback_str}```' + } + ) return JSONResponse( status_code=500, diff --git a/middlewares/request_id_injection.py b/middlewares/request_id_injection.py index 1f647d2..d5a4584 100644 --- a/middlewares/request_id_injection.py +++ b/middlewares/request_id_injection.py @@ -8,11 +8,11 @@ request_id_contextvar = contextvars.ContextVar("request_id", default=None) class RequestIdInjection(BaseHTTPMiddleware): - async def dispatch(self, request: Request, call_next): + def dispatch(self, request: Request, call_next): request_id = str(uuid.uuid4()) request_id_contextvar.set(request_id) try: - return await call_next(request) + return call_next(request) except Exception as ex: print(ex)