esandorfi's picture
Domain features first reorganisation
68f48a7
raw
history blame contribute delete
466 Bytes
from __future__ import annotations
import uuid
from fastapi import Request
from starlette.middleware.base import BaseHTTPMiddleware
class RequestIdMiddleware(BaseHTTPMiddleware):
async def dispatch(self, request: Request, call_next):
rid = request.headers.get("x-request-id") or str(uuid.uuid4())
request.state.request_id = rid
response = await call_next(request)
response.headers["x-request-id"] = rid
return response