addConditional method

void addConditional(
  1. MiddlewareHandler handler, {
  2. required bool condition(
    1. Request request
    ),
  3. MiddlewarePriority priority = MiddlewarePriority.business,
  4. String? name,
})

Executes middleware conditionally based on a predicate.

Implementation

void addConditional(
  MiddlewareHandler handler, {
  required bool Function(Request request) condition,
  MiddlewarePriority priority = MiddlewarePriority.business,
  String? name,
}) {
  add(
    (req, res, next) async {
      if (condition(req)) {
        await handler(req, res, next);
      } else {
        await next();
      }
    },
    priority: priority,
    name: name,
  );
}