PassFront
  1. PassFront
  2. База знаний
  3. Продвинутые темы

Что такое Middleware?

Продвинутые темы

Middleware (промежуточное ПО) — это функция, которая встраивается в конвейер обработки между входом и итоговым действием и может читать, изменять запрос/данные, выполнять побочные эффекты или прерывать поток.

Идея

Middleware образуют «цепочку»: каждое звено получает управление, что-то делает и передаёт дальше (next) или прерывает.

На сервере (Express/Nest)

app.use((req, res, next) => {
  console.log(`${req.method} ${req.url}`); // логирование
  next(); // передать управление дальше
});

Применение: логирование, аутентификация, парсинг тела, обработка ошибок, CORS.

В Redux

Middleware стоит между dispatch и reducer — перехватывает action:

const logger = (store) => (next) => (action) => {
  console.log('dispatch', action);
  return next(action);
};

Применение: асинхронность (redux-thunk, redux-saga), логи, аналитика.

Общий паттерн

Middleware реализует принцип «конвейера»/цепочки ответственности: переиспользуемые слои обработки, которые легко комбинировать.

Коротко для собеседования

Middleware — промежуточная функция в конвейере обработки, которая может изменить запрос/action, выполнить побочный эффект и передать управление дальше (next) или прервать. На сервере — логи/авторизация, в Redux — асинхронность и логирование.

Другие вопросы раздела