gpt4 book ai didi

javascript - 如何将自定义 HTTP header 注入(inject) SuperAgent 发出的每个请求?

转载 作者:行者123 更新时间:2023-12-03 22:59:48 25 4
gpt4 key购买 nike

显然 SuperAgent支持自定义 HTTP header :

request
.post('/api/pet')
.send({ name: 'Manny', species: 'cat' })
.set('X-API-Key', 'foobar')
.set('Accept', 'application/json')
.end(function(err, res){
if (res.ok) {
alert('yay got ' + JSON.stringify(res.body));
} else {
alert('Oh no! error ' + res.text);
}
});

我的问题:
  • 如果我通过 npm 拉下 SuperAgent,我如何在 SuperAgent 发出的所有请求中注入(inject)我自己的 HTTP header ?
  • 注意:如有必要,我完全愿意创建一个扩展 SuperAgent 的新 npm 包。
  • 最佳答案

    我只是用这样的东西制作一个单独的模块:

    我的代理.js

    var superagent = require('superagent');

    var defaultHeaders = {};
    function isObject(obj) { return Object(obj) === obj; };

    function request(method, url) {
    return superagent(method, url).set(defaultHeaders);
    }

    request.set = function (field, value) {
    if (isObject(field)) {
    for(var key in field) this.set(key, field[key]);
    return this;
    }
    defaultHeaders[field] = value;
    return this;
    }
    module.exports = request;

    用法
    var request = require('./myagent');
    request.set({'X-My-Header': 'foo'}); // sets the default

    request.get('/bar').send() // will send the default header

    该模块的行为方式与 superagent 相同,但在返回 Request 之前设置默认 header 。目的。见 here

    关于javascript - 如何将自定义 HTTP header 注入(inject) SuperAgent 发出的每个请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31059462/

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