Files
backend/backend/app/core/middleware.py
T
34047007@qq.com a6cd99a4ca
CI / backend (push) Canceled after 0s
CI / frontend (push) Canceled after 0s
feat: initial commit - oncology literature search platform
OncoLit: a multi-tenant oncology literature search, feed, and
collaboration platform. Built with FastAPI + Vue 3 + PostgreSQL.
Includes PubMed pipeline, drug approvals, AI summaries, and
systematic review tools.
2026-07-27 07:59:18 +08:00

18 lines
620 B
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""请求级中间件:CORS/CSRF 等(多租户上下文的设置移至 get_current_user"""
import uuid
from starlette.middleware.base import BaseHTTPMiddleware
from starlette.requests import Request
class TraceMiddleware(BaseHTTPMiddleware):
"""为每个请求注入 request_id 用于日志追踪"""
async def dispatch(self, request: Request, call_next):
request_id = request.headers.get("X-Request-Id") or str(uuid.uuid4())
request.state.request_id = request_id
response = await call_next(request)
response.headers["X-Request-Id"] = request_id
return response