Coverage for src/app/core/middleware.py: 100%
11 statements
« prev ^ index » next coverage.py v7.14.3, created at 2026-06-24 08:34 +0000
« prev ^ index » next coverage.py v7.14.3, created at 2026-06-24 08:34 +0000
1import uuid
3from fastapi import Request
4from starlette.middleware.base import BaseHTTPMiddleware
6from app.core.request_context import set_request_id
9class RequestContextMiddleware(BaseHTTPMiddleware):
10 async def dispatch(self, request: Request, call_next):
11 request_id = request.headers.get("X-Request-ID", str(uuid.uuid4()))
13 set_request_id(request_id)
15 response = await call_next(request)
16 response.headers["X-Request-ID"] = request_id
18 return response