140
*/
141
export function getMatchingPattern(
143
>
approvedUrls: Record<string, boolean | IUrlApprovalSettings>
144
>
): string | undefined {
145
>
const normalizedUrlStr = normalizeURL(url);
146
>
const normalizedUrl = URI.parse(normalizedUrlStr);
147
>
const patterns = extractUrlPatterns(url);
148
>
149
>
// Check patterns in order of specificity (most specific first)
150
>
for (const pattern of patterns) {
151
>
for (const approvedPattern of Object.keys(approvedUrls)) {
152
>
if (testUrlMatchesGlob(normalizedUrl, approvedPattern) && testUrlMatchesGlob(URI.parse(pattern), approvedPattern)) {
153
return approvedPattern;
154
}
156
}
157