Spaces:
Sleeping
Sleeping
| 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 | |