向chai请求添加自定义http头

28

我正在使用node.js构建应用程序,并通过mocha + chai进行测试。有没有办法在我的GET和POST chai请求中添加自定义标头?

例如,我想要类似以下的东西(半伪代码):

chai.request(server)
  .get('/api/car/' + data.car_id)
  .headers({'some_custom_attribute':'some_value'})
  .end(function(err, res) {
    //do something
  });

同样地,对于“post”也是如此:

chai.request(server)
  .post('/api/car/')
  .headers({'some_custom_attribute':'some_value'})
  .send({car_id: 'some_car_id'})
  .end(function(err, res) {
    //do something
  });

有人可以帮忙吗?

提前感谢!

1个回答

67

使用set函数来设置HTTP头:

chai.request(server)
  .get('/api/car/' + data.car_id)
  .set('some_custom_attribute', 'some_value')
  .end(function(err, res) {
    //do something
  });

设置请求


如何在头部添加POST变量? - user269867
1
@user269867 可以使用 send 方法来实现。 - alexmac
请问你能否指导我如何更简单地在chai.request中添加多个头部?因为在我的情况下,我有超过10个头部。 - Nazir Ahmed
2
@NazirAhmed 尝试这样做:let headers = [{ name: 'h1', value: 'v1' }, /* 其他头部信息 */]; let chain = chai.request.get(/*你的请求*/); headers.forEach(headers, header => chain = chain.set(header.name, header.value)); chain.end(/* 做一些事情 */); - alexmac
4
请注意,set('header', value) 必须在 HTTP 方法(get、post 等)之后调用。 - Pedro Andrade
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接