Middlewares
Middleware это функция, которая вызывается до обработчиков роута. Middleware функции имеют доступ до объектов request и response в зависимости от фреймворков, и nextmiddleware функцию в цикле request-response.
Функция next middleware по умолчанию представлена переменнойnext.
Пример:
Для примера middleware которая выводит тело запроса на сервер в терминал - выглядит как:
const loggerMiddleware = (req, res, next) => {
console.log(req.body);
next();
};
module.exports = loggerMiddleware;Внедрение middleware
Вам нужно добавить middleware в хранилище ROUTER в файле вашего модуляindex.js.
const simpleMiddleware = (req, res) => {
console.log(req.headers);
next();
};
ROUTER.set('middlewares', { simpleMiddleware });Кроме того, вы можете прикрепить ACTIONS, просто добавив небольшую оболочку для инициализации middleware.
Middleware слои
Иногда вам нужно изменить порядок віполнения ваших middlewares. Для того чтобы это сделать вам нужно передать дополнительный аттрибут в метод ROUTER "set".
Где n - это число порядка middleware слоя. Это работает как "z-index" html аттрибут, просто назначте ваш middleware в слой нужного порядка относительно остальных.
По умолчанию все middlewares находятся в "нолевом слое".
Прикрепить middleware к роуту
Часто вы хотите вызвать какой-то middleware только перед некоторыми роутами. Вы можете сделать это, просто добавив к роутам внутри config.json специальный ключ «middleware» значение которого должно содержать имя middleware:
После этого вам нужно добавить middleware в ROUTER со специальным строковым параметром 'routes'.
Last updated
Was this helpful?