如果我在我的 express 端点实现中使用 node http(s) 库来查询外部服务,它会在我的标头中添加大量 'undefined: undefined' 尾随垃圾。如果我在 express 之外执行以下代码:
let resp = ''
https.get({
protocol: 'https:',
host: 'my-favorite-app-behind-cloudfront',
path: '/my-favorite-endpoint',
headers: {
'Authorization': 'Bearer some-token',
'x-my-favorite-header': 'my-value'
}
}, (res) => {
res.setEncoding('utf8')
res.on('data', (chunk) => {
resp += chunk
})
res.on('end', () => {
console.log(res.req._header);
})
}
).on('error', (err) => {
console.log(err)
})
我得到了预期的输出:
GET /products HTTP/1.1
Authorization: Bearer some-token
x-my-favorite-header: my-value
Host: my-favorite-app-behind-cloudfront
Connection: close
但是,当我在快速端点处理程序中执行相同操作时,我得到了以下信息:
GET /products HTTP/1.1
Authorization: Bearer some-token
x-my-favorite-header: my-value
Host: my-favorite-app-behind-cloudfront
undefined: undefined
[...ditto 42 times...]
undefined: undefined
Connection: close
Express.js 版本:4.15.5 和 4.16.x Node.js 版本:8.9.1 操作系统:Darwin 内核版本 16.7.0:2017 年 10 月 4 日星期三 00:17:00 PDT;root:xnu-3789.71.6~1/RELEASE_X86_64