service/TEST.md
AI Engineer e8369d4680 feat(service): Client Key 应答头条件化,静态文件/WebSocket 仅 Cookie 维护,配置字段命名统一(by AI)
- Device-Id/Session-Id 仅当请求头未携带时才写入应答头
- 静态文件和 WebSocket 升级应答仅通过 Cookie 维护身份
- Client App 头改为 App-Name/App-Version(破折号命名)
- NoLogHeaders → NoLogRequestHeaders,NoLogOutputFields → NoLogResponseFields,新增 NoLogResponseHeaders
- 默认排除列表动态构建,用户只需追加自定义字段
- Cookie 头智能过滤:不再整体排除,仅剔除匹配排除列表的 key

Co-Authored-By: deepseek-v4-pro[1m] <deepseek-ai@claude-code-best.win>
2026-06-22 19:01:53 +08:00

2.4 KiB
Raw Blame History

Service Module Test Report

性能测试 (Benchmark)

  • 测试日期: 2026-06-22
  • 版本: v1.5.20
  • 指标: BenchmarkRouting: 5394 ns/op
  • 环境: Darwin / Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz

单元测试覆盖 (Unit Test)

  • TestServeHTTP: 基础请求与响应
  • TestServeHTTP_404: 404 处理
  • TestServeHTTP_VerifyFailed: 参数校验失败处理
  • TestServeHTTP_Panic: (New) 验证全局 Panic 恢复与日志记录
  • TestRewrite: 路径重写
  • TestProxyDirect: 代理转发 (Mock)
  • TestAsyncServer: 异步启动与生命周期 (已验证 Server Timeout 配置生效)
  • TestServiceRegister: 基础路由注册
  • TestRegexServiceRegister: 正则路由注册
  • TestStaticService: 静态文件服务 (已支持内存文件与自动日志记录)
  • TestVerifyStruct: 基础结构校验
  • TestNestedVerify: 嵌套结构校验
  • TestCustomVerify: 自定义校验函数
  • TestWebSocketService: WebSocket 注册
  • TestGetDefaultName: 自动应用名识别
  • TestGetServerIp: 自动 IP 探测
  • TestSmartStartup: 零配置智能启动与 Discover 注册
  • TestSanitizeScalars ~ TestSanitizeMixedSlice: 日志脱敏 10 个测试(标量/对象/数组/嵌套/预算/Unicode
  • TestSessionLogic: Session Save/Load/Remove 及 AuthFuncs
  • TestSessionInjection: Session HTTP 注入流程
  • Logging Filters: NoLogInput/NoLogOutput/NoLogAllHeaders/NoLogGets/NoLogRequestHeaders/NoLogResponseHeaders/NoLogResponseFields
  • Client Keys: Device-Id/Session-Id 应答头条件化(请求有则不应答)、静态文件/WebSocket 仅 Cookie
  • Cookie 头智能过滤: 排除列表中 key 从 Cookie 内容中剔除,保留业务 Cookie
  • Response Body: 200 响应和 dev 模式下 keepBody 捕获

基础设施对齐验证

  • 成功集成 apigo.cc/go/cast 用于参数解析与类型强转。
  • 成功集成 apigo.cc/go/timer 用于高性能耗时追踪。
  • 成功集成 apigo.cc/go/log 并实现完整的 Request 日志记录,支持头过滤与内容截断。
  • 强制集成 apigo.cc/go/file 替代原生 os,全面支持内存虚拟文件系统。
  • 成功集成 apigo.cc/go/idgo/redis 实现分布式有序 ID。
  • 成功集成 apigo.cc/go/discover 并支持 H2C 协议的零配置自动注册。
  • Safety: 已集成 recover 机制,保障服务在高并发业务 Panic 时的稳定性。