ShiErFeng/shierfeng-fastapi-backend/utils/api_response_header_util.py
2026-07-24 09:43:10 +08:00

26 lines
717 B
Python

from collections.abc import Mapping
from fastapi import Request
class ApiResponseHeaderUtil:
"""
接口响应头通用工具类
"""
@classmethod
def merge_headers(cls, request: Request, headers: Mapping[str, str] | None) -> None:
"""
将响应头暂存到请求上下文中,供出站中间件统一追加
:param request: 当前请求对象
:param headers: 需要追加的响应头
:return: None
"""
if not headers:
return
api_response_headers = dict(getattr(request.state, 'api_response_headers', {}))
api_response_headers.update(headers)
request.state.api_response_headers = api_response_headers