如何解决403 HTTP错误?

时间:2015-08-28 13:02:41

标签: node.js http-status-code-403 restify

我一直试图在解决问题时处理HTTP错误。这些是我到目前为止一直在尝试的代码:

function send403(req, res, err, cb) {
  console.log('Forbidden');
  res.end();
}

然后我在ForbiddenError事件中使用该函数:

server.on('ForbiddenError', send403);

我希望每次服务器收到没有authorization标题的请求时执行该功能

server.get('/resource', function (req, res, next) {
  if(typeof req.headers['authorization'] === 'undefined') {
    return next(new restify.ForbiddenError());
  }
  else {
    // HTTP 200
  }
});

每次我尝试访问网址时,我都会继续获取默认的JSON消息。

仅供参考我为404错误尝试了相同的方法,但它可以正常工作

server.on('NotFound', send404);

每次我尝试向不存在的网址发送请求时,都会执行send404功能。

1 个答案:

答案 0 :(得分:1)

我认为这可能就是你要找的东西。我注意到在“server.on”语句中,restify不想要“Error”部分。以下是一个完整的工作示例。

psql