One-shot public wrapper: normalizes domain and each string entry in
allowedDomains (case/trailing-dot) then delegates to domainAllowed for
the match, for a single normalized comparison without keeping a normalized
allowlist. A domain or entry that is not a string matching
EGRESS_HOSTNAME_PATTERN, or a list that is not an array, matches nothing:
this wrapper refuses no list, an object could answer the matcher's string
methods itself, and an empty host would otherwise match an empty entry. The
list is read by index into a fresh array, so a method of the caller's
container cannot answer for it.
One-shot public wrapper: normalizes
domainand each string entry inallowedDomains(case/trailing-dot) then delegates todomainAllowedfor the match, for a single normalized comparison without keeping a normalized allowlist. Adomainor entry that is not a string matching EGRESS_HOSTNAME_PATTERN, or a list that is not an array, matches nothing: this wrapper refuses no list, an object could answer the matcher's string methods itself, and an empty host would otherwise match an empty entry. The list is read by index into a fresh array, so a method of the caller's container cannot answer for it.