OpChan/src/lib/utils/urlLoads.ts
2025-08-28 19:07:26 +05:30

20 lines
513 B
TypeScript

/**
* Utility to check if a URL loads successfully within a timeout
*/
export async function urlLoads(url: string, timeoutMs: number = 5000): Promise<boolean> {
try {
const controller = new AbortController();
const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
const response = await fetch(url, {
method: 'HEAD',
signal: controller.signal,
cache: 'no-cache'
});
clearTimeout(timeoutId);
return response.ok;
} catch {
return false;
}
}