isKnownSuffix static method
Checks if suffix
is a known url suffix
For example, co.uk
might be known but not example
.
suffixRules
can be used to specify which suffix list to
check, otherwise DefaultSuffixRules.rules is used.
Throws a StateError if suffixRules
is null and
DefaultSuffixRules has not been initialised.
Implementation
static bool isKnownSuffix(String suffix, {SuffixRules? suffixRules}) {
suffixRules ??= DefaultSuffixRules.rulesOrThrow();
var split = suffix.split('.');
var rules = suffixRules.ruleMap[split.last] ?? [];
var isKnown = false;
for (var rule in rules) {
if (rule.labels.split('.').length == split.length &&
rule.matches(suffix)) {
isKnown = true;
break;
}
}
return isKnown;
}