shouldCapture method

bool shouldCapture(
  1. Set<String> urlBlacklist
)

Check if request should be captured based on URL patterns with wildcard support Supports wildcards (*) in patterns for flexible matching

Examples:

  • "*.google.com" matches "api.google.com", "analytics.google.com", etc.
  • "/analytics/" matches any URL containing "/analytics/"
  • "example.com" matches URLs containing "example.com"

Implementation

bool shouldCapture(Set<String> urlBlacklist) {
  final urlString = url.toString();

  // Skip common tracking/analytics URLs by default (with wildcards)
  const defaultSkipPatterns = [
    '*google-analytics*',
    '*googletagmanager*',
    '*facebook.com/tr*',
    '*doubleclick*',
    '*mixpanel*',
    '*amplitude*',
    '*segment.com*',
  ];

  // Check default patterns with wildcard support
  if (WildcardMatcher.matchesAny(urlString, defaultSkipPatterns)) {
    return false;
  }

  // Check user-defined blacklist with wildcard support
  if (WildcardMatcher.matchesAny(urlString, urlBlacklist)) {
    return false;
  }

  return true;
}