Я пытался обработать HTTP-ошибку в рефите. эти коды я пытался до сих пор:Как обрабатывать 403 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
}
});
Everytime я пытаюсь получить доступ к URL я получаю, что по умолчанию restify JSON сообщений.
FYI я пробовал один и тот же метод для 404 ошибки, и она работает
server.on('NotFound', send404);
Everytime я пытаюсь отправить запрос на несуществующий URL, функция send404
будет выполнена.
Если вы хотите получить значение из заголовка или тела, я предлагаю вам использовать var urVaribleHere = req.body.varible || ''; также какую часть, которую вы не понимаете, переосмыслить? потому что каждый раз пользователь отправляет URL-адрес, который не существует, не будет выполнен и будет отправлен 404 webPage Notfound. –
@GujaratSantana Ужасно жаль, если вопрос вводит в заблуждение, я не английский. Поведение по умолчанию для исправления ошибки HTTP - это отправить ответ в формате JSON. В основном, я пытаюсь сделать это, чтобы заставить его делать что-то еще, например, сделать журнал для конкретной ошибки HTTP. Я пробовал событие 'server.on ('NotFound', fn)', и он работает, но 'server.on ('ForbiddenError', fn)' не работает. – sad301
, поэтому вы пытаетесь отправить JSON с server.on ('ForbiddenError', fn) клиенту. Я не могу помочь вам с кодом, но, возможно, эта ссылка поможет вам лучше понять http://thejackalofjavascript.com/architecting-a-restful-node-js-app/ –