1.7 KiB
1.7 KiB
MODIFIED Requirements
Requirement: Bun HTTP 运行时
系统 SHALL 运行一个 Bun HTTP server,由单个进程提供后端 API、健康检查、生产静态资源和 SPA fallback 行为。
Scenario: 启动运行时服务器
- WHEN server 进程成功启动
- THEN 它 SHALL 监听 YAML 配置文件中指定的 host 和 port,并记录实际 server URL
Scenario: 通过 YAML 配置提供运行时参数
- WHEN 通过 YAML 配置文件提供 host、port、数据目录等参数
- THEN server SHALL 使用该值,且不需要重新构建
Scenario: CLI 只接受配置文件路径
- WHEN 用户通过命令行启动程序
- THEN 系统 SHALL 只接受一个命令行参数作为 YAML 配置文件路径
Scenario: 提供拨测相关 API
- WHEN server 启动完成
- THEN 系统 SHALL 提供
/api/summary、/api/targets、/api/targets/:id/history、/api/targets/:id/trend端点
Requirement: HTTP method 语义
系统 SHALL 为运行时端点提供明确的 HTTP method 语义,避免不支持的 method 被错误地当作成功请求处理。
Scenario: GET 请求访问运行时端点
- WHEN 客户端使用
GET请求/health或/api/*端点 - THEN Bun server SHALL 返回对应端点的成功响应
Scenario: HEAD 请求访问运行时端点
- WHEN 客户端使用
HEAD请求/health或/api/*端点 - THEN Bun server SHALL 返回与
GET相同的成功状态和 headers,但 MUST NOT 返回响应体
Scenario: 不支持的 method 访问运行时端点
- WHEN 客户端使用不支持的 method 请求
/health或/api/*端点 - THEN Bun server SHALL 返回 405 状态码和 Allow header