Files
RuoYi-Vue3-FastAPI/ruoyi-fastapi-backend/middlewares/api_response_header_middleware.py
T
insistence 17e7f56fe5 feat: 新增接口限流装饰器 (#99)
* feat: 新增接口限流装饰器

* perf: 优化接口缓存装饰器和接口缓存失效装饰器

* chore: 更新github actions规则
2026-04-09 14:29:16 +08:00

29 lines
890 B
Python

from fastapi import FastAPI, Request
from starlette.middleware.base import BaseHTTPMiddleware, RequestResponseEndpoint
from starlette.responses import Response
class ApiResponseHeaderMiddleware(BaseHTTPMiddleware):
"""
接口响应头追加中间件
"""
async def dispatch(self, request: Request, call_next: RequestResponseEndpoint) -> Response:
"""
在响应返回前统一追加接口响应头
"""
response = await call_next(request)
api_response_headers = getattr(request.state, 'api_response_headers', None)
if api_response_headers:
response.headers.update(api_response_headers)
return response
def add_api_response_header_middleware(app: FastAPI) -> None:
"""
添加接口响应头追加中间件
:param app: FastAPI对象
"""
app.add_middleware(ApiResponseHeaderMiddleware)