refactor: 提取共享信封模块 EnvelopeMixin/ok
auth.py 的 _EnvelopeMixin/_ok 提取到 tracker/api/envelope.py(去下划线前缀), auth.py 改为 import 使用;collect.py 的 finalize_response 含 ACAO 回显逻辑 保留在自身视图,仅注释指向未来收敛。 Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -79,6 +79,9 @@ class CollectBatchView(APIView):
|
||||
def finalize_response(self, request, response, *args, **kwargs):
|
||||
"""统一收口:ACAO 回显 + 错误信封。
|
||||
|
||||
错误信封部分与 tracker.api.envelope.EnvelopeMixin 同构——collect 端含 ACAO 回显
|
||||
(浏览器 SDK 跨域需读错误体),暂保留在自身视图,未来收敛至共享模块。
|
||||
|
||||
429/ParseError 等由 DRF 异常处理器产出的响应(无 ACAO、body 是 {detail})在这里补齐——
|
||||
否则浏览器 SDK 跨域读不到错误体会误判网络错误而重试,限流时反而打爆限流器。
|
||||
dispatch 对 initial() 抛出的 Throttled/ParseError 同样走 finalize_response,此钩子全覆盖。
|
||||
|
||||
Reference in New Issue
Block a user