mirror of
https://github.com/SukkaW/Surge.git
synced 2025-12-12 01:00:34 +08:00
Make reject filter download abortable
This commit is contained in:
parent
685427472b
commit
2c4d5a33a5
@ -133,11 +133,19 @@ async function processFilterRules(filterRulesUrl, fallbackUrls, includeThirdPart
|
||||
|
||||
let filterRules;
|
||||
try {
|
||||
const controller = new AbortController();
|
||||
const signal = controller.signal;
|
||||
|
||||
/** @type string[] */
|
||||
filterRules = (
|
||||
await Promise.any(
|
||||
[filterRulesUrl, ...(fallbackUrls || [])].map(
|
||||
async url => (await fetchWithRetry(url)).text()
|
||||
url => fetchWithRetry(url, { signal })
|
||||
.then(r => r.text())
|
||||
.then(text => {
|
||||
controller.abort();
|
||||
return text;
|
||||
})
|
||||
)
|
||||
)
|
||||
).split('\n').map(line => line.trim());
|
||||
|
||||
@ -135,5 +135,10 @@
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.0.0"
|
||||
},
|
||||
"pnpm": {
|
||||
"patchedDependencies": {
|
||||
"@vercel/fetch-retry@5.1.3": "patches/@vercel__fetch-retry@5.1.3.patch"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
13
patches/@vercel__fetch-retry@5.1.3.patch
Normal file
13
patches/@vercel__fetch-retry@5.1.3.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/index.js b/index.js
|
||||
index e5eeb353f6da8968d926cb4e502207912b6c3594..eb1370dc19030404e3def46ce13938d34a9e6214 100644
|
||||
--- a/index.js
|
||||
+++ b/index.js
|
||||
@@ -66,7 +66,7 @@ function setup(fetch) {
|
||||
return res;
|
||||
}
|
||||
} catch (err) {
|
||||
- if (err.type === 'aborted') {
|
||||
+ if (err.type === 'aborted' || err.name === 'AbortError') {
|
||||
return bail(err);
|
||||
}
|
||||
const clientError = isClientError(err);
|
||||
10
pnpm-lock.yaml
generated
10
pnpm-lock.yaml
generated
@ -4,6 +4,11 @@ settings:
|
||||
autoInstallPeers: true
|
||||
excludeLinksFromLockfile: false
|
||||
|
||||
patchedDependencies:
|
||||
'@vercel/fetch-retry@5.1.3':
|
||||
hash: jczsp2gadg65vd4ekschpibzda
|
||||
path: patches/@vercel__fetch-retry@5.1.3.patch
|
||||
|
||||
dependencies:
|
||||
'@cliqz/adblocker':
|
||||
specifier: ^1.26.6
|
||||
@ -13,7 +18,7 @@ dependencies:
|
||||
version: 0.2.0
|
||||
'@vercel/fetch-retry':
|
||||
specifier: ^5.1.3
|
||||
version: 5.1.3(node-fetch@2.6.11)
|
||||
version: 5.1.3(patch_hash=jczsp2gadg65vd4ekschpibzda)(node-fetch@2.6.11)
|
||||
ci-info:
|
||||
specifier: ^3.8.0
|
||||
version: 3.8.0
|
||||
@ -248,7 +253,7 @@ packages:
|
||||
resolution: {integrity: sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==}
|
||||
dev: true
|
||||
|
||||
/@vercel/fetch-retry@5.1.3(node-fetch@2.6.11):
|
||||
/@vercel/fetch-retry@5.1.3(patch_hash=jczsp2gadg65vd4ekschpibzda)(node-fetch@2.6.11):
|
||||
resolution: {integrity: sha512-UIbFc4VsEZHOr6dWuE+kxY4NxnOLXFMCWm0fSKRRHUEtrIzaJLzHpWk2QskCXTSzFgFvhkLAvSrBK2XZg7NSzg==}
|
||||
peerDependencies:
|
||||
node-fetch: ^2.6.7
|
||||
@ -259,6 +264,7 @@ packages:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
patched: true
|
||||
|
||||
/acorn-jsx@5.3.2(acorn@8.9.0):
|
||||
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user