diff --git a/src/lib/fetch-delay.js b/src/lib/fetch-delay.js index 02ac873..cd13d09 100644 --- a/src/lib/fetch-delay.js +++ b/src/lib/fetch-delay.js @@ -34,7 +34,9 @@ function matchGlob(pattern, string) { if (!pattern.includes("*")) { return pattern === string; } - return new RegExp(`^${pattern.replace(/\*/g, ".*")}$`).test(string); + // compile a glob pattern to a regular expression, also escape special characters + const rx = new RegExp(`^${pattern.replace(/[-/\\^$+?.()|[\]{}]/g, "\\$&").replace(/\*/g, ".*")}$`); + return rx.test(string); } export async function fetchDelay(url, cb) {