mirror of
https://github.com/SukkaW/Surge.git
synced 2025-12-14 18:20:35 +08:00
Fix: make fetch-retry relax more
This commit is contained in:
parent
c75f7fcc76
commit
d0b58bb78c
@ -91,16 +91,33 @@ function createFetchRetry($fetch: typeof fetch): FetchWithRetry {
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
} catch (err: unknown) {
|
} catch (err: unknown) {
|
||||||
if (err instanceof Error && (
|
const mayBailError = (err: unknown) => {
|
||||||
|
if (typeof err === 'object' && err !== null && 'name' in err) {
|
||||||
|
if ((
|
||||||
err.name === 'AbortError'
|
err.name === 'AbortError'
|
||||||
|| ('digest' in err && err.digest === 'AbortError')
|
|| ('digest' in err && err.digest === 'AbortError')
|
||||||
) && !retryOpts.retryOnAborted) {
|
) && !retryOpts.retryOnAborted) {
|
||||||
console.log(picocolors.gray('[fetch abort]'), url);
|
console.log(picocolors.gray('[fetch abort]'), url);
|
||||||
return bail(err) as never;
|
return bail(err) as never;
|
||||||
}
|
}
|
||||||
|
if (err.name === 'Custom304NotModifiedError') {
|
||||||
|
return bail(err) as never;
|
||||||
|
}
|
||||||
|
if (err.name === 'CustomNoETagFallbackError') {
|
||||||
|
return bail(err) as never;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (isClientError(err)) {
|
if (isClientError(err)) {
|
||||||
return bail(err) as never;
|
return bail(err) as never;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
mayBailError(err);
|
||||||
|
if (err instanceof AggregateError) {
|
||||||
|
for (const e of err.errors) {
|
||||||
|
mayBailError(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
console.log(picocolors.gray('[fetch fail]'), url, err);
|
console.log(picocolors.gray('[fetch fail]'), url, err);
|
||||||
const newErr = new Error('Fetch failed');
|
const newErr = new Error('Fetch failed');
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user