LarpixClient/electron/node_modules/@electron/rebuild/lib/fetcher.js
2026-07-09 22:38:33 +02:00

27 lines
No EOL
995 B
JavaScript

import debug from 'debug';
import { setTimeout as sleep } from 'node:timers/promises';
const d = debug('electron-rebuild');
export async function fetchUrl(url, responseType, retries = 3) {
if (retries === 0)
throw new Error('Failed to fetch a clang resource, run with DEBUG=electron-rebuild for more information');
d('downloading:', url);
try {
const response = await globalThis.fetch(url);
if (!response.ok) {
d('got bad status code:', response.status);
await sleep(2000);
return fetchUrl(url, responseType, retries - 1);
}
d('response came back OK');
if (responseType === 'buffer') {
return Buffer.from(await response.arrayBuffer());
}
return (await response.text());
}
catch (err) {
d('request failed for some reason', err);
await sleep(2000);
return fetchUrl(url, responseType, retries - 1);
}
}
//# sourceMappingURL=fetcher.js.map