无法使用Hapi.js回复设置标头

时间:2016-05-26 02:32:13

标签: node.js http-headers hapijs

当我在Hapi.js中为回复添加随机标题时,它可以正常工作。

但是,当我尝试添加到已经存在的标题时,它不会被发送。

这几乎就像我甚至没有添加它一样。

 reply("Hello World)
      .header("Random-Header", "Random Reply")
      .header("Access-Control-Expose-Headers","Authorization");

有没有办法添加Access-Control-Expose-Headers-Authorization?

1 个答案:

答案 0 :(得分:3)

如果要使用CORS标头,则应在route选项中启用/配置它们(默认情况下禁用CORS标头):

server.route({
  method: 'GET',
  path: '/',
  handler: function(request, reply) { ... },
  config: {
    cors: {
      origin: ['*'], // list of valid domains
      exposedHeaders: ['Authorization'] // 'Access-Control-Expose-Headers'
    }
  }
});

详细了解hapi documentation中的默认值和选项。

或者您可以在所有路线上启用CORS:

new Hapi.Server({
  connections: {
    routes: {
      cors: {
        origin: ['*'],
        exposedHeaders: ['Authorization']
      }
    }
  }
})