MooTool

Handy tool set for developers

View on GitHub

DIFF-018:HTTP 使用 OkHttp 并保留重复 Header

原行为(Electron)

undici fetch 发请求。buildHeadersObject.fromEntries,同名 Header 后者覆盖前者。响应 JSON 用 JSON.stringify(..., null, 2) 美化。方案存在 Electron SQLite t_msg_http

本产品行为

客户端为 OkHttp 4.12.0,跟随重定向,默认校验 TLS。Params/Headers 按列表顺序发送,同名 Header 全部保留。Cookies 表若有启用项,会替换已有 Cookie 头(与 Electron 覆盖 Cookie 的方向一致)。集合写入 Compose data/http/requests.json。cURL 只做文本解析/生成,不执行命令。二进制或含 NUL 的响应用 [binary n bytes] 加十六进制预览,不按 UTF-8 强解。

理由

架构指定 OkHttp。规格禁止用 Map 吞掉重复键,并要求声明重复 Header 策略。产品线独立要求自有集合存储。

证据

HttpEngineTest:与 Electron 相同的 cURL fixture;GET 追加 Params 且保留原 query/重复键;POST 无正文时表单编码、有正文时不把 Params 塞进 URL;本机 HttpServer 覆盖 200/404、重定向、超时、取消、10 MiB 超限。desktopTest 109/109

受影响范围