1aaef71f52
Document-driven MVP with FastAPI backend, Vue H5, WeChat mini shell, product demo, and Docker dev stack. Co-authored-by: Cursor <cursoragent@cursor.com>
12 lines
454 B
Python
12 lines
454 B
Python
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
|