Javascript 如何从express req对象中删除标头?

Javascript 如何从express req对象中删除标头?,javascript,node.js,express,Javascript,Node.js,Express,我试图找出如何在express中从req对象中删除头。我相信这个res.disable(“Header Name”)会将其从res对象中删除,但对于req.headers来说,这并不适用,因为添加这个中间件非常简单: app.use(function(req, res, next) { delete req.headers['header-name']; // should be lowercase next(); }); 您只需从请求对象中删除标题,就像我下面所做的那样- conso

我试图找出如何在express中从
req
对象中删除头。我相信这个
res.disable(“Header Name”)
会将其从res对象中删除,但对于
req.headers

来说,这并不适用,因为添加这个中间件非常简单:

app.use(function(req, res, next) {
  delete req.headers['header-name']; // should be lowercase
  next();
});

您只需从
请求
对象中
删除
标题,就像我下面所做的那样-

console.log(req.headers)

// { host: 'localhost:8081',
//   connection: 'keep-alive',
//   auth_token: 'c79d2f80029c1a1382b2e831643e5447b902a6f9',
//   'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.100 Safari/537.36',
//   'postman-token': 'b2cef620-f85d-556c-acc1-8337da2d5e81',
//   'cache-control': 'no-cache',
//   api_key: 'FB499A4FF77901AFCD2278457658B7F7B17EAC112B489DAA304D3F2A059DFCC4',
//   'content-type': 'application/json',
//   accept: '*/*',
//   dnt: '1',
//   'accept-encoding': 'gzip, deflate, sdch, br',
//   'accept-language': 'en-US,en;q=0.8' }

// Now Delete the headers from your request object.

delete req.headers;

console.log(req.headers) // undefined
如果要从标头中删除任何键,请使用以下代码:

delete req.headers['auth_token'];

为什么要编辑req对象?它表示客户端发出的请求。您可以像删除普通JavaScript对象的任何其他属性一样删除它,但在任何情况下都不会影响实际请求。只有尚未进入请求路径的中间件才会看到这些头。