@just-every/mcp-read-website-fast
Version:
Markdown Content Preprocessor - Fetch web pages, extract content, convert to clean Markdown
32 lines (31 loc) • 945 B
JavaScript
export function normalizeUrl(url) {
try {
const parsed = new URL(url);
if (parsed.pathname !== '/' && parsed.pathname.endsWith('/')) {
parsed.pathname = parsed.pathname.slice(0, -1);
}
const params = Array.from(parsed.searchParams.entries());
params.sort(([a], [b]) => a.localeCompare(b));
parsed.search = '';
params.forEach(([key, value]) => parsed.searchParams.append(key, value));
if ((parsed.protocol === 'http:' && parsed.port === '80') ||
(parsed.protocol === 'https:' && parsed.port === '443')) {
parsed.port = '';
}
parsed.hash = '';
return parsed.href;
}
catch {
return url;
}
}
export function isSameOrigin(url1, url2) {
try {
const u1 = new URL(url1);
const u2 = new URL(url2);
return u1.origin === u2.origin;
}
catch {
return false;
}
}