Upload via GUI (7543 Dateien)
This commit is contained in:
+27
@@ -0,0 +1,27 @@
|
||||
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
|
||||
Reference in New Issue
Block a user