Veneomin
@Veneomin

Как правильно переписать такой кусок кода?

Есть такой кусок кода, который повторяется много раз в разных роутах:
var auth = require('..//config/authenticate.js');

myRouter.get('/:query', function(req, res) {
     if (auth.isLogin(req, res)){
          //my code there
     }
})


Как мне правильно переписать это, чтобы каждый раз не писать if?
  • Вопрос задан
  • 202 просмотра
Решения вопроса 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
По всей видимости, это express. В этом случае сделайте middleware, в которой будет эта проверка, и делайте редирект или возвращайте 401. Примерно так:

var auth = require('../config/authenticate.js');
function authMiddleware(req, res, next) {
    if (!auth.isLogin(req, res)) {
        res.redirect('/login'); // или res.status(401).send('Залогиньтесь')
    } else {
        next(); // продолжаем обработку запроса
    }
}

myRouter.use(authMiddleware);


Проверка прав делается примерно так же.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы