From f69822859e42b13296ceb6e1c081c8c02a5c79ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B5=85=E5=BF=B5?= Date: Tue, 15 Sep 2026 13:30:54 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20Task7=20=E6=94=B6=E5=8F=A3=E6=B3=A8?= =?UTF-8?q?=E8=AE=B0=EF=BC=88urlsplit/=E4=BF=A1=E5=B0=81/CL=20=E9=98=B2?= =?UTF-8?q?=E5=BE=A1/get=5Frate=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Code --- .../plans/2026-09-15-m1-data-collection-foundation.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/superpowers/plans/2026-09-15-m1-data-collection-foundation.md b/docs/superpowers/plans/2026-09-15-m1-data-collection-foundation.md index cd070dd..cb182ca 100644 --- a/docs/superpowers/plans/2026-09-15-m1-data-collection-foundation.md +++ b/docs/superpowers/plans/2026-09-15-m1-data-collection-foundation.md @@ -1072,6 +1072,7 @@ return resp 另加 OPTIONS 预检支持:`CollectBatchView.options()` 返回同头 200。(SDK 用 text/plain 免预检,此处为兜底。) - [ ] **Step 4: 跑测试通过** → 6 passed。 +(**执行注记**:最终实现以提交 678d215 为准,含审查修复——Origin 提取改 `urlsplit().hostname`(原 split("//") 可被查询串绕过白名单)、`finalize_response` 统一 ACAO+{code,data,message} 信封(覆盖 429/ParseError,SDK 跨域可读错误体)、Content-Length `isdecimal()` 防御、CollectThrottle.get_rate 读实时 api_settings(DRF 类属性 import 时固化)。11 个 collect 测试。备注:真实浏览器预检会被 corsheaders 中间件短路(SDK 简单请求不触发,无影响)。) - [ ] **Step 5: Commit** `feat: 采集接口(域名白名单/限流/textplain解析/幂等)`