我使用臭名昭着的request library发送请求。
其中一个请求要求我发送标头multipart/mixed; boundary={myboundary}
。
请求正在使用form-data library来处理此类请求,但它未正确设置Content-Type
标头。因此,我需要这样设置:
let req = request.post({url: "https://..."}, formData: formData)
req.setHeader('Content-Type', `multipart/mixed; boundary=${req.form().getBoundary()}`)
遗憾的是,我无法在触发请求后添加/更改任何标头。因此,我想知道是否有办法拦截发送,所以我可以更改标题?
答案 0 :(得分:1)
您需要使用multipart
option代替formData
来使用其他任意multipart/*
内容类型。 multipart
数组中的每个对象都包含要在该部分中发送的标头。唯一的例外是body
属性,该属性用作该部分的实际主体。
request.post({
url: 'https://...',
multipart: [
{ 'X-Foo-Header': 'bar', body: 'baz' },
// ...
],
headers: { 'Content-Type': 'multipart/mixed' }
});
应为现有的显式Content-Type
标头自动附加边界。 This request
test明确测试此行为。