2016-04-27 35 views
-1

我想追加額外的頭到傳入的請求,它似乎無法正常工作。ExpressJS:追加頭到傳入的請求對象

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); 

我在做什麼錯?它甚至有可能嗎?

注 - 我不想用附加參數修改請求對象。

回答

1

您可以在路由之前設置標題。 檢查這個代碼

var router = express.Router(); 

router.use(function(req, res, next) { 
    re.headers('px-test-header', 1234); 
    next(); 
}); 


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

setHeader爲對象的響應類型的函數不要求從documentation

但是,如果你仍然想設置的請求頭,那麼你可以做這樣的事情

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

req存儲在req.headers中,因此您可以在這裏爲應用程序中間件添加自定義標題以供稍後使用。