call method

FutureOr<Response> call(
  1. Request request
)

Process incoming request

Implementation

FutureOr<Response> call(Request request) {
  if (!_routeAdded && _middlewareList.isNotEmpty) {
    /// If no route has been added and middleware is present, just evaluate
    /// the middleware.
    var pipeline = Pipeline();

    for (final middleware in _middlewareList) {
      pipeline = pipeline.addMiddleware(middleware);
    }

    // If middleware doesn't return a response, it's a 404.
    return pipeline.addHandler((_) => Response(404)).call(request);
  }

  /// Delegate to shelf_router
  return shelfRouter.call(request);
}