← Каталог
Практикум REST и WebSocket — OrderDesk — Middleware `X-Request-Id`
Фрагмент из «Практикум REST и WebSocket — OrderDesk»: Middleware `X-Request-Id`.
import uuid
from starlette.middleware.base import BaseHTTPMiddleware
class RequestIdMiddleware(BaseHTTPMiddleware):
async def dispatch(self, 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
app.add_middleware(RequestIdMiddleware)
import uuid
from starlette.middleware.base import BaseHTTPMiddleware
class RequestIdMiddleware(BaseHTTPMiddleware):
async def dispatch(self, 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
app.add_middleware(RequestIdMiddleware)