mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 09:20:22 +08:00
fix(proxy): 新增响应头过滤函数,避免透传不兼容的上游头
添加 filter_proxy_response_headers 函数过滤 content-length、content-encoding、 transfer-encoding 等 hop-by-hop 和 body-dependent 头,防止客户端解码失败。 统一在 chat_handler_base、cli_handler_base、stream_telemetry 和 usage recorder 中使用该函数处理响应头透传。
This commit is contained in:
@@ -26,6 +26,7 @@ from typing import Any, Dict, Optional
|
||||
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from src.api.handlers.base.utils import filter_proxy_response_headers
|
||||
from src.core.logger import logger
|
||||
from src.models.database import ApiKey, User
|
||||
from src.services.request.result import RequestResult
|
||||
@@ -94,7 +95,7 @@ class UsageRecorder:
|
||||
target_model = metadata.model
|
||||
|
||||
# 非流式成功时,返回给客户端的是提供商响应头(透传)+ content-type
|
||||
client_response_headers = dict(metadata.provider_response_headers) if metadata.provider_response_headers else {}
|
||||
client_response_headers = filter_proxy_response_headers(metadata.provider_response_headers)
|
||||
client_response_headers["content-type"] = "application/json"
|
||||
|
||||
await UsageService.record_usage(
|
||||
|
||||
Reference in New Issue
Block a user