ExpressJS:将标头附加到传入请求对象

Ben*_*ant 3 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) {
    console.log(req.get('px-test-header')); // always undefined
}, handler);
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?有可能吗?

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

小智 7

setHeader是对象响应类型的函数,而不是文档中的请求的函数

但是,如果您仍然想在请求中设置标头,那么您可以执行类似的操作

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

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

  • 请注意,标头名称必须小写 (3认同)