1
0
Files
DiAL/openspec/changes/archive/2026-05-09-http-probe-checker/specs/fullstack-app-runtime/spec.md

1.7 KiB
Raw Blame History

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