Files
aivideo/backend/app/common/middleware/request_id.py

15 lines
481 B
Python

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