Merge pull request #247 from alibaba/split/pr-207-validate-url
fix: validate URL in fetchLlmsTxt
This commit is contained in:
@@ -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`
|
||||||
|
|||||||
Reference in New Issue
Block a user