From d00b1422313ae89ecc15c73d2cbe48fe36c1a2f9 Mon Sep 17 00:00:00 2001 From: enes Date: Fri, 17 Jan 2025 12:51:52 +0100 Subject: [PATCH] fix(download): add checkUrlForFile timeout Fix #164 --- src/utils/url.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/utils/url.ts b/src/utils/url.ts index f713fa8..c64815c 100644 --- a/src/utils/url.ts +++ b/src/utils/url.ts @@ -127,8 +127,15 @@ export const downloadFile = (url: string, filename: string) => { */ export const checkUrlForFile = async (url: string) => { try { + const controller = new AbortController() + const timeoutId = setTimeout(() => controller.abort(), 2000) + // HTTP HEAD request to get headers without downloading the full content - const response = await fetch(url, { method: 'HEAD' }) + const response = await fetch(url, { + method: 'HEAD', + signal: controller.signal + }) + clearTimeout(timeoutId) // Check Content-Disposition header const contentDisposition = response.headers.get('content-disposition')