call method

Future<Response> call(
  1. RequestContext context
)

Route incoming requests to registered handlers.

This method allows a Router instance to be a Handler.

Implementation

Future<Response> call(RequestContext context) async {
  for (final route in _routes) {
    if (route.verb != context.request.method.value.toUpperCase() &&
        route.verb != 'ALL') {
      continue;
    }
    final params = route.match('/${context.request._request.url.path}');
    if (params != null) {
      final response = await route.invoke(context, params);
      if (response != routeNotFound) {
        return response;
      }
    }
  }
  return _notFoundHandler(context);
}