Merge pull request #247 from alibaba/split/pr-207-validate-url

fix: validate URL in fetchLlmsTxt
This commit is contained in:
Simon
2026-03-13 21:05:10 +08:00
committed by GitHub

View File

@@ -61,7 +61,15 @@ const llmsTxtCache = new Map<string, string | null>()
/** Fetch /llms.txt for a URL's origin. Cached per origin, `null` = tried and not found. */ /** Fetch /llms.txt for a URL's origin. Cached per origin, `null` = tried and not found. */
export async function fetchLlmsTxt(url: string): Promise<string | null> { export async function fetchLlmsTxt(url: string): Promise<string | null> {
const origin = new URL(url).origin let origin: string
try {
origin = new URL(url).origin
} catch {
return null // Invalid URL
}
// about:blank, data:, file:
if (origin === 'null') return null
if (llmsTxtCache.has(origin)) return llmsTxtCache.get(origin)! if (llmsTxtCache.has(origin)) return llmsTxtCache.get(origin)!
const endpoint = `${origin}/llms.txt` const endpoint = `${origin}/llms.txt`