1
0
Files
DiAL/openspec/specs/http-checker/spec.md
lanyuanxiaoyao 79358ba50d refactor: 移除顶层 defaults 配置段,简化为 target 显式字段 > 代码内置默认值
- 移除 DefaultsConfig 类型、ProbeConfig.defaults 字段
- 移除 CheckerSchemas.defaults、ResolveContext.defaults、CheckerValidationInput.defaults
- 更新所有 checker schema/resolve/validate 删除 defaults 合并逻辑
- 更新 config-loader 不再读取传递 defaults
- 更新测试、README、DEVELOPMENT、probes.example.yaml
- 重新生成 probe-config.schema.json(不含 defaults)
- 同步 delta specs 到主规范
- 归档 openspec change
2026-05-21 16:53:12 +08:00

2.0 KiB
Raw Blame History

Purpose

定义 HTTP 类型拨测目标:通过 type: http 配置 HTTP/HTTPS 探测支持请求方法、headers、body、SSL 校验、重定向和响应体大小限制,捕获 HTTP 状态码、响应头、响应体和执行耗时,按 expect 规则校验并生成 matched 判定。

Requirements

Requirement: HTTP target 配置

系统 SHALL 支持 type: http 的 target 配置,通过 http.url 描述目标 HTTP 地址并通过可选字段控制请求方法、请求体、headers、SSL 校验、重定向和响应体大小限制。

Scenario: 解析最简 HTTP target

  • WHEN YAML 中 target 配置 type: httphttp.url: "https://example.com"
  • THEN 系统 SHALL 将其解析为 HTTP checker并填充 method=GETmaxBodyBytes=100MBignoreSSL=falsemaxRedirects=0、headers、body、interval、timeout、group 和 expect 配置

Scenario: HTTP target 缺少 url

  • WHEN YAML 中 target 配置 type: http 但缺少 http.url
  • THEN 系统 SHALL 以配置错误退出,并提示该 target 缺少 http.url 字段

Scenario: HTTP target 覆盖请求方法

  • WHEN YAML 中某个 HTTP target 显式配置 http.method: POST
  • THEN 该 target SHALL 使用自身 method 字段的值,而不是内置默认值 GET

Scenario: HTTP target 覆盖响应体大小限制

  • WHEN YAML 中某个 HTTP target 显式配置 http.maxBodyBytes
  • THEN 该 target SHALL 使用自身 maxBodyBytes 字段的值,而不是内置默认值 100MB

Scenario: HTTP target 覆盖 headers

  • WHEN YAML 中某个 HTTP target 显式配置 http.headers
  • THEN 该 target SHALL 使用自身 headers 字段的值,不再与规则文件级 defaults 合并

Scenario: HTTP 序列化展示摘要

  • WHEN 系统同步 HTTP target 到 targets 表
  • THEN target 展示摘要 SHALL 为 HTTP URLconfig JSON SHALL 包含 resolved 后的 url、method、headers、body、ignoreSSL、maxBodyBytes 和 maxRedirects