#876·supertest

[fix] 有“ 头=” 的内容类型打破所有头端匹配符

作者: davidje13创建于 2026年1月7日更新于 2026年1月7日
标签bug

□ 描述错误

** Node.js版本:** v24.1.0.

** OS版本:** macOS 15.7.3

** 说明:**

如果答复中包含一个带有 " 标题=(任何内容) " 的 " Content-Type " 页眉,则页眉与 所有页眉相匹配。 这与文本/csv'答复有关,其中可包含标题=现在'或`标题=缺席'。

□ 实际行为

以“ ” 为标题字段的预期失败(见下文全部产出)

□ 预期行为

其他标题不受“内容类型”参数的影响。

□ 代码复制

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你来干什么? 从“ 超测试” 导入请求; 从“ node: http” 导入 {创建Server };

const s = 创建Server (( , res) ) {{ 第Setheader ("foo","a")号决议; setheader(“内容类型”、“text/csv;header=a”); 第17/33号决议,附件。

  • ; 等待新的承诺(( 解决) QQ s. listen( 0, “ 127. 0.0.1 ” , 解决) );

等待请求. get ('/').expect (200).expect ('foo','a');


> ```
> 错误: 需要“ foo” 页眉字段
> at file://[.]/ experiment.js:11:39 页面存档备份,存于互联网档案馆.
> 在进程. processTicks And Rejections(节点:内部/进程/任务 队列:105:5)
> -- -- -- -- 翻译:
> at Test. assert Header ([...]/node modules/supertest/lib/test.js:281:47) (中文(简体) ).
> 在[...]时 /node modules/supertest/lib/test.js:365:13 (中文(简体) ).
> at Test. assertFunction ([...]/node modules/supertest/lib/test.js:342:13) (中文(简体) ).
> at Test.assert ([.]/node modules/supertest/lib/test.js:195:23) (中文(简体) ).
> 在本地Assert([.]/node modules/supertest/lib/test.js:138:14)
> 在[...]时 /node modules/supertest/lib/test.js:15:6:7 (英语).
> at request.callback ([.]/node modules/superagent/lib/node/index.js:847:12) (中文(简体) ).
> incomingMessage.<匿名>(.)/node modules/superagent/lib/node/index.js:1102:18)
> IncomingMessage.emit(节点:活动:520:35)
> 在端可读NT(节点:内部/流/可读:1701:12)
> ```

在 " 内容类型 " 标题中去掉或更名 " 标题 " a " ,或将 " 内容类型 " 标题更名为任何其他名称,导致问题消失。

□ 核对表

- [x] 我搜索过GitHub问题 类似问题。
- [x] 我完全读 通过README和文档。
- [x] 我测试了我的代码 最新版本的Node.js 和这个包 并证实它仍然不起作用.

内容来源: forwardemail/supertest