runPipeline<RequestContextType extends RequestContext, ResponseContextType extends ResponseContext> static method

Future<void> runPipeline<RequestContextType extends RequestContext, ResponseContextType extends ResponseContext>(
  1. MiddlewarePipelineIterator<RequestHandler> it,
  2. RequestContextType req,
  3. ResponseContextType res,
  4. Angel app,
)

Implementation

static Future<void> runPipeline<RequestContextType extends RequestContext,
        ResponseContextType extends ResponseContext>(
    MiddlewarePipelineIterator<RequestHandler> it,
    RequestContextType req,
    ResponseContextType res,
    Angel app) async {
  var broken = false;
  while (it.moveNext()) {
    var current = it.current.handlers.iterator;

    while (!broken && current.moveNext()) {
      var result = await app.executeHandler(current.current, req, res);
      if (result != true) {
        broken = true;
        break;
      }
    }
  }
}