(target, label)
| 100 | |
| 101 | // Try a candidate URL, return parsed result only when it looks like a real sitemap |
| 102 | const tryFetch = async (target, label) => { |
| 103 | try { |
| 104 | const parsed = await fetchSitemap(target); |
| 105 | if (isValidSitemap(parsed)) return parsed; |
| 106 | log.debug(`${label} parsed but lacked urlset/sitemapindex (${target})`); |
| 107 | } catch (error) { |
| 108 | log.debug(`${label} fetch failed (${target})`, error.message); |
| 109 | } |
| 110 | return null; |
| 111 | }; |
| 112 | |
| 113 | const sitemapHandler = async (url) => { |
| 114 | const origin = toOrigin(url); |
no test coverage detected