compose static method

Handler compose(
  1. List<Middleware> middlewares,
  2. Handler handler
)

Composes a list of middlewares and a final handler into a single Handler. This pre-builds the execution chain for better performance.

Implementation

static Handler compose(List<Middleware> middlewares, Handler handler) {
  return (Context ctx) {
    var index = 0;

    Future<Response> next() {
      if (index < middlewares.length) {
        return middlewares[index++](ctx, next);
      }
      return handler(ctx);
    }

    return next();
  };
}