Files
happy-up/apps/api/app/middleware.py
T

12 lines
454 B
Python
Raw Normal View History

from starlette.middleware.base import BaseHTTPMiddleware
from starlette.requests import Request
from uuid import uuid4
class RequestContextMiddleware(BaseHTTPMiddleware):
async def dispatch(self, request: Request, call_next):
request.state.request_id = request.headers.get("X-Request-Id") or uuid4().hex
response = await call_next(request)
response.headers["X-Request-Id"] = request.state.request_id
return response