shouldCapture method
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;
}