diff --git a/.cocoon-plan.md b/.cocoon-plan.md index 7189e94..9435d1d 100644 --- a/.cocoon-plan.md +++ b/.cocoon-plan.md @@ -29,8 +29,9 @@ - Content-Length 读取 - JSON / form-urlencoded 回显 - **multipart/form-data 文件上传**(保存到 root_dir/uploads/)✅ 2026-06-04 -- [x] C 语言单元测试框架 ✅ 2026-06-03(Unity 框架,139 个测试全部通过) +- [x] C 语言单元测试框架 ✅ 2026-06-03(Unity 框架,142 个测试全部通过) - [x] **WebSocket 单元测试** ✅ 2026-06-06(12 项,覆盖帧解析/编码/握手/粘包/大负载) +- [x] **健康检查端点** /_health ✅ 2026-06-06(JSON 状态:连接数、插件、中间件、运行时间) ### Phase 3 — 扩展(已完成) - [x] **配置文件支持** — JSON 配置替代纯命令行 ✅ 2026-06-04 @@ -56,8 +57,8 @@ - 所有 Phase 1-4 核心功能已完成 - 编译通过,零警告(除 coco 子模块的 linker .note.GNU-stack 提示) -- **139 个单元测试全部通过**(Unity 框架,新增 12 项 WebSocket 测试) -- **68 项集成测试全部通过** +- **142 个单元测试全部通过**(Unity 框架,新增 12 项 WebSocket 测试) +- **75 项集成测试全部通过**(新增 7 项健康检查端点测试) - 压测数据:wrk -t4 -c100 -d10s → 16,179 RPS,平均延迟 59.86μs(单线程) - 多线程模式(-t -w 4)已修复(主线程 accept + poll,client_handler 1MB 协程栈) - POST 支持:JSON 和 form-urlencoded 回显,multipart 文件上传,Content-Length 解析,8MB 上限 @@ -78,6 +79,13 @@ ## 最近行动记录 +- 2026-06-06: **本轮行动 — 健康检查端点 /_health** + - `server.c`:新增 `/_health` 路由,返回 JSON 服务器状态 + - 包含:uptime_seconds、connections.active/max、plugins.count/list、middleware.count/names + - `middleware.c` / `middleware.h`:新增 `cocoon_middleware_list()` 查询 API + - 集成测试:新增 7 项测试(状态码 200、JSON 字段验证、HEAD 支持、路径遍历防护) + - 全部 142 个单元测试 + 75 项集成测试通过,编译零警告 + - 推送到 main(09e592d) - 2026-06-06: **本轮行动 — 插件配置数组支持 + 杂项修复** - `config.c`:极简 JSON 解析器新增 `[`/`]` token 类型,支持字符串数组解析 - `plugins` 字段向后兼容单字符串 `"plugins.so"`,向前支持数组 `["a.so", "b.so"]`