Существует два способа достижения необязательного поведения промежуточного ПО:
1) Создайте другое промежуточное ПО, которое проверяет состояние и затем передает все параметры в желаемое промежуточное ПО.Пример:
const middlewareStrategy = (req,res,next) => {
if(req.body.token1){
return middleware1(req,res,next);
}
return middleware2(req,res,next);
};
router.post("/findAvailableAgents", middlewareStrategy, handler);
2) Выполнение логики промежуточного программного обеспечения на основе условий.Пример:
const middleware1 = (req,res,next) => {
if(req.body.token){
// execute some logic, then
return next();
}
// skip this middleware
next();
};
router.post("/findAvailableAgents", middleware1, middleware2, handler);