gpt4 book ai didi

javascript - Nock 不返回设置的 header

转载 作者:搜寻专家 更新时间:2023-11-01 00:48:08 24 4
gpt4 key购买 nike

我正在使用 Nock 拦截 http 请求。

测试.js:

const nock = require('nock');
const server = require('../server');
const request = require('request');

describe('My test', () =>{
it('Should returns the customized header', () => {
nock('url')
.get('/test')
.reply(302, {
'user-agent': 'Mozilla'
})

const { headers } = await request(server).get('/test');
expect(headers['user-agent']).to.include('Mozilla');

}
})

当我运行测试时,它失败了,request 收到的 header 日志是这样的:

 { 

'user-agent': 'node-superagent/3.8.3',
location: 'undefined',
vary: 'Accept, Accept-Encoding',
'content-type': 'text/plain; charset=utf-8',
'content-length': '31',
date: 'Fri, 24 May 2019 09:15:46 GMT',
connection: 'close'
}

我是否遗漏了什么或者这是 Nock 的正常行为?

最佳答案

问题在于您将 header 传递给回复函数的方式。 header 是该方法的第三个参数,但您将它们作为第二个参数提供,这意味着具有 user-agent 键的对象被用作正文。由于它是一个 302 并且您可能想要一个空主体,因此您应该传递一个空字符串作为第二个参数。

nock('url')
.get('/test')
.reply(302, '', {
'user-agent': 'Mozilla'
})

Related docs.

关于javascript - Nock 不返回设置的 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56289822/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com