Node.js ExpressJS:将头追加到传入请求对象

Node.js ExpressJS:将头追加到传入请求对象,node.js,express,Node.js,Express,我正在尝试向传入的请求附加额外的头,它似乎无法工作 server.get('/', function md1(req, res, next) { req.setHeader('px-test-header', 1234); // Error - "req.setHeader is not a function" req.headers['px-test-header'] = 1234; // nothing happens }, function (req, res, next

我正在尝试向传入的请求附加额外的头,它似乎无法工作

server.get('/', function md1(req, res, next) {
    req.setHeader('px-test-header', 1234); // Error - "req.setHeader is not a function"
    req.headers['px-test-header'] = 1234; // nothing happens
 }, function (req, res, next) {
    console.log(req.get('px-test-header')); // always undefined
}, handler);
我做错了什么?有可能吗


注意-我不想改为使用附加参数修改请求对象。

您可以在路由之前设置标头。 检查此代码

var router = express.Router();

router.use(function(req, res, next) {
   // set the header you wish to append
   req.headers('px-test-header', 1234);
   next();
});


router.get('/', function(req, res){
    console.log(req.headers)
});

setHeader
是用于响应类型的对象的函数,而不是来自

但是,如果您仍然希望在请求中设置头,那么您可以执行以下操作

app.get('/', function(req,res){
    req.headers.abc ='xyz'; 
    console.log(req);
});

req存储在req.headers中,因此您可以在此处添加自定义头,以便应用程序中间件稍后使用。

谢谢!我非常需要这个。我知道有一个简单的答案。请注意,标题名称必须较低-cased@RomanKishchenko你的评论救了我一天,谢谢!请求还有一个
setHeader
,根据文档,此答案不正确或过时。req.headers()不是函数。