在中间件node.js表达框架中设置标头

时间:2017-01-25 08:53:24

标签: node.js express

我有一个中间件做了一些身份验证。在这个auth方法中,我需要设置响应头。

server.get('/api/users, auth(), getUsers);

我的身体方法:

module.exports = (isProduction) => {
  return function(req, res, next){
     ...

     next();

  }
}

如何在此身份验证功能中附加标题?

2 个答案:

答案 0 :(得分:4)

我假设你正在使用express.js。在express中,有一个set函数(文档here。您可以像这样使用它

res.set('<header name>', '<header value>')

在致电next()

之前

答案 1 :(得分:0)

这不是node.js核心问题,而是关于express.js的问题。

在这种情况下,您的参考是:http://expressjs.com/en/4x/api.html#res.set

set()函数的签名是:res.set(field [, value])

res对象是节点的本机http.response api的包装器。

您可以在express.js中间件中多次调用.set(),只要它们在调用next()函数之前发生,它会调用链中的以下中间件。

您可以使用对象,如文档示例所示:

res.set('Content-Type', 'text/plain');

res.set({
  'Content-Type': 'text/plain',
  'Content-Length': '123',
  'ETag': '12345'
});