• IanShaw027's avatar
    fix(backend): 修复 P0/P1 严重安全和稳定性问题 · 7122b3b3
    IanShaw027 authored
    P0 严重问题修复:
    - 优化重试机制:降至 5 次 + 指数退避 + 10s 上限,防止请求堆积
    - 修复 SSE 错误格式:符合 Anthropic API 规范,添加错误类型标准化
    
    P1 重要问题修复:
    - 防止 DOS 攻击:使用 io.LimitReader 限制请求体 10MB,流式解析
    - 修复计费数据丢失:改为同步计费,使用独立 context 防止中断
    
    技术细节:
    - 新增 retryBackoffDelay() 和 sleepWithContext() 支持 context 取消
    - 新增 normalizeAnthropicErrorType() 和 sanitizePublicErrorMessage()
    - 新增 parseGatewayRequestStream() 实现流式解析
    - 新增 recordUsageSync() 确保计费数据持久化
    
    影响:
    - 极端场景重试时间从 30s 降至 ≤10s
    - 防止高并发 OOM 攻击
    - 消除计费数据丢失风险
    - 提升客户端兼容性
    7122b3b3
gateway_handler.go 30.3 KB