diff --git a/server/api/contributors.get.ts b/server/api/contributors.get.ts index 7ce2c29fa1..5b54e4a08b 100644 --- a/server/api/contributors.get.ts +++ b/server/api/contributors.get.ts @@ -15,7 +15,7 @@ export default defineCachedEventHandler( { headers: { 'Accept': 'application/vnd.github.v3+json', - 'User-Agent': 'npmx.dev', + 'User-Agent': 'npmx', }, }, ) diff --git a/server/utils/docs/client.ts b/server/utils/docs/client.ts index 2fac829c2d..e347bb8e6e 100644 --- a/server/utils/docs/client.ts +++ b/server/utils/docs/client.ts @@ -84,7 +84,9 @@ function createLoader(): ( let url: URL try { url = new URL(specifier) - } catch { + } catch (e) { + // eslint-disable-next-line no-console + console.error(e) return undefined } @@ -93,21 +95,18 @@ function createLoader(): ( return undefined } - const controller = new AbortController() - const timeoutId = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS) - try { - const response = await fetch(url.toString(), { + const response = await $fetch.raw(url.toString(), { + method: 'GET', + timeout: FETCH_TIMEOUT_MS, redirect: 'follow', - signal: controller.signal, }) - clearTimeout(timeoutId) if (response.status !== 200) { return undefined } - const content = await response.text() + const content = (await response._data?.text()) ?? '' const headers: Record = {} for (const [key, value] of response.headers) { headers[key.toLowerCase()] = value @@ -119,8 +118,9 @@ function createLoader(): ( headers, content, } - } catch { - clearTimeout(timeoutId) + } catch (e) { + // eslint-disable-next-line no-console + console.error(e) return undefined } } @@ -161,18 +161,15 @@ function createResolver(): (specifier: string, referrer: string) => string { async function getTypesUrl(packageName: string, version: string): Promise { const url = `https://esm.sh/${packageName}@${version}` - const controller = new AbortController() - const timeoutId = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS) - try { - const response = await fetch(url, { + const response = await $fetch.raw(url, { method: 'HEAD', - signal: controller.signal, + timeout: FETCH_TIMEOUT_MS, }) - clearTimeout(timeoutId) return response.headers.get('x-typescript-types') - } catch { - clearTimeout(timeoutId) + } catch (e) { + // eslint-disable-next-line no-console + console.error(e) return null } }