Промежуточное ПО будет простым. Рассмотрим этот сценарий

Давайте рассмотрим повседневный пример промежуточного программного обеспечения, которое проверяет, достиг ли пользователь совершеннолетия для доступа к определенному веб-сайту 😜.

Теперь, чтобы ограничить пользователей моложе 18 лет, мы можем подумать, что если бы у нас была функция, которая выполняется, когда пользователь запрашивает этот конкретный веб-сайт…

Здесь, когда появляется промежуточное ПО →

Давайте посмотрим код промежуточного программного обеспечения для проверки возраста: (Не волнуйтесь, мы разберемся в деталях 😌)

function ageVerificationMiddleware(req, res, next) {
  const age = req.query.age; // Assuming the age is provided in the query string
  if (age && parseInt(age) >= 18) {
    // User is of legal age, proceed to the next middleware or route handler
    next();
  } else {
    // User is not of legal age, display an error message
    res.send('Sorry, you must be 18 years or older to access this website.');
  }
}

Посмотрим теперь →

В этом примере функция ageVerificationMiddleware определена как промежуточное ПО. Он принимает параметры req (запрос), res (ответ) и next.

Внутри функции промежуточного программного обеспечения мы получаем возраст пользователя из строки запроса, используя req.query.age. Мы предполагаем, что возраст предоставляется в качестве параметра запроса.

Затем мы проверяем, существует ли age и больше или равно 18. Если условия соблюдены, мы вызываем next(), чтобы передать управление следующему промежуточному программному обеспечению или обработчику маршрута.

Если возраст пользователя не указан или ему меньше 18 лет, мы отправляем пользователю сообщение об ошибке с помощью res.send(), указывающее, что для доступа к веб-сайту ему должно быть не менее 18 лет.

Итак, мы написали промежуточное программное обеспечение, теперь, когда пользователь запрашивает, эта функция должна вызываться, теперь давайте посмотрим, как мы можем ее реализовать.

Чтобы применить это промежуточное ПО для проверки возраста, вы можете добавить его к определенным маршрутам или применить глобально, используя app.use():

app.use(ageVerificationMiddleware);
app.get('/restricted-page', (req, res) => {
  // Route handler logic for the restricted page
  res.send('Welcome to the restricted page!');
});

В приведенном выше коде ageVerificationMiddleware применяется глобально с помощью app.use(). Он будет выполняться для каждого входящего запроса, и если пользователь не достиг совершеннолетия, он получит сообщение об ошибке. Если пользователь достиг совершеннолетия, управление будет передано последующему промежуточному программному обеспечению или обработчику маршрута.

Используя это промежуточное программное обеспечение для проверки возраста, мы можем гарантировать, что пользователи достигли совершеннолетия, прежде чем предоставлять им доступ к определенным частям вашего веб-сайта или приложения.

Спасибо за прочтение 😃