test method

  1. @override
bool test(
  1. Request request
)

check if the request should be handled by this handler

Implementation

@override
bool test(Request request) {
  if (_options.once && _usedCount > 0) {
    return false;
  }

  if (!_method.matches(request.method)) {
    return false;
  }

  final requestPath = _normalizePath(request.url.path);
  final requestSegments = requestPath.split('/');

  if (requestSegments.length != _pathSegments.length) {
    return false;
  }

  for (var i = 0; i < _pathSegments.length; i++) {
    final segment = _pathSegments[i];
    final requestSegment = requestSegments[i];

    if (!segment.startsWith(':') && segment != requestSegment) {
      return false;
    }
  }

  return true;
}