@lordprotein

Как установить запрет на использование post и put в express.js?

Как запретить использовать POST и PUT запросы в express.js? Express.js подключен к СУБД MySQL. Нужно сделать так, чтобы эти запросы мог получать только пользователи, которые имеются в БД.
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Что нибудь вроде такого:
const mysql = require('some-mysql-library');
const app = express();
// ...
function getUserFromMysqlMiddleware(req, res, next) {
  mysql.query('SELECT * FROM `users` WHERE `id`=? LIMIT 1', [req.query.userid]).then(([user]) => {
    if(!user) {
      const err = new Error('Access denied');
      err.status = 403;
      return next(err);
    }
    req.user = user;
    next();
  }).catch(next);
}
app.post('/some/route', getUserFromMysqlMiddleware, (req, res) => {
  // Ваш код с гарантированным наличием req.user
});
app.put('/some/route', getUserFromMysqlMiddleware, (req, res) => {
  // Ваш код с гарантированным наличием req.user
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
if(user_has_rigth){

// Ваш код
}
else{
// вы не оплатили премиум тариф, но можете оплатить его на этой странице
}
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы