findAllMatches method

List<RouteMatchResult> findAllMatches(
  1. String method,
  2. String path
)

Finds all routes that match the given method and path. Useful for debugging or advanced routing scenarios.

Implementation

List<RouteMatchResult> findAllMatches(String method, String path) {
  final matches = <RouteMatchResult>[];
  final normalizedPath = _normalizePath(path);

  // Check static routes
  if (_staticRoutes[method]?.containsKey(normalizedPath) ?? false) {
    final route = _staticRoutes[method]![normalizedPath]!;
    matches.add(
      RouteMatchResult(
        handler: route.handler,
        params: {},
        middleware: route.middleware,
      ),
    );
  }

  // Check dynamic routes
  for (final route in _dynamicRoutes) {
    if (route.matches(method, path)) {
      matches.add(
        RouteMatchResult(
          handler: route.handler,
          params: route.extractParams(path),
          middleware: route.middleware,
        ),
      );
    }
  }

  return matches;
}