我正在尝试将附加标头附加到传入请求,但它似乎无法正常工作。
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);
我做错了什么?它甚至可能吗?
注意 - 我不想用其他参数修改请求对象。
答案 0 :(得分:2)
setHeader
是一个函数,用于响应类型的对象而不是来自documentation
但是如果您仍然想在请求中设置标题,那么您可以执行类似
的操作app.get('/', function(req,res){
req.headers.abc ='xyz';
console.log(req);
});
req存储在req.headers中,因此您可以在此处为应用程序中间件添加自定义标头以供日后使用。
答案 1 :(得分:1)
您可以在路由前设置标头。 检查此代码
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)
});