Spaces:
Sleeping
Sleeping
File size: 466 Bytes
9d24065 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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
|