- frontend-architecture-refactor: 拆分 hooks/组件、类型筛选器动态化 - http-checker-quality-hardening: ReDoS 防护、failure 格式修正、测试补全
1.6 KiB
1.6 KiB
Why
HTTP checker 经过审查发现若干质量问题:failure 中 actual 值截断格式不符合 spec 要求(缺少字符计数)导致诊断信息不完整、regex 规则缺少 ReDoS 防护存在 CPU 阻塞风险、多条 JSON body 规则重复 parse 造成不必要开销、CSS 规则分支冗余、重定向测试覆盖不足。需要统一修复以提升健壮性和代码质量。
What Changes
- 修正
mismatchFailure中 actual 值截断格式,添加字符计数信息,格式为前 N 字符…(共 M 字符) - 为 regex body 规则和 match operator 添加 ReDoS 防护(执行超时或正则复杂度检测)
- 优化多条 JSON body 规则共享同一次
JSON.parse结果,避免重复解析 - 精简
body.ts中checkCssRule的冗余分支逻辑 - 精简
execute.ts中提前 duration 检查的代码结构 - 补充重定向相关测试:303 method 转换、307/308 保持 method、相对路径 Location、混合 body rules 集成测试
Capabilities
New Capabilities
Modified Capabilities
expect-body-checkers: 新增 actual 值截断的具体实现要求(spec 已声明但未细化截断阈值和格式)
Impact
src/server/checker/expect/failure.ts— 新增截断逻辑src/server/checker/runner/http/body.ts— JSON parse 优化、CSS 分支精简src/server/checker/runner/http/execute.ts— duration 检查精简src/server/checker/expect/operator.ts— match operator ReDoS 防护tests/server/checker/runner/http/runner.test.ts— 补充重定向和集成测试tests/server/checker/runner/shared/body.test.ts— 补充截断相关测试