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);


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

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 23:00
5000 руб./за проект
19 апр. 2024, в 20:43
20000 руб./за проект