mirror of
https://git.mirrors.martin98.com/https://github.com/sub-store-org/Sub-Store.git
synced 2025-08-11 21:09:05 +08:00
feat: 处理传入 httpClient 的 timeout 参数
This commit is contained in:
parent
e3a514d1fb
commit
0efed4f1a0
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "sub-store",
|
"name": "sub-store",
|
||||||
"version": "2.14.262",
|
"version": "2.14.263",
|
||||||
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.",
|
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.",
|
||||||
"main": "src/main.js",
|
"main": "src/main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
24
backend/src/vendor/open-api.js
vendored
24
backend/src/vendor/open-api.js
vendored
@ -323,9 +323,19 @@ export function HTTP(defaultOptions = { baseURL: '' }) {
|
|||||||
const request = isNode
|
const request = isNode
|
||||||
? eval("require('request')")
|
? eval("require('request')")
|
||||||
: $httpClient;
|
: $httpClient;
|
||||||
request[method.toLowerCase()](
|
const opts = JSON.parse(JSON.stringify(options));
|
||||||
JSON.parse(JSON.stringify(options)),
|
if (!isNode && opts.timeout) {
|
||||||
(err, response, body) => {
|
opts.timeout++;
|
||||||
|
let unit = 'ms';
|
||||||
|
// 这些客户端单位为 s
|
||||||
|
if (isSurge || isStash || isShadowRocket) {
|
||||||
|
opts.timeout = Math.ceil(opts.timeout / 1000);
|
||||||
|
unit = 's';
|
||||||
|
}
|
||||||
|
// Loon 为 ms
|
||||||
|
// console.log(`[httpClient timeout] ${opts.timeout}${unit}`);
|
||||||
|
}
|
||||||
|
request[method.toLowerCase()](opts, (err, response, body) => {
|
||||||
// if (err) {
|
// if (err) {
|
||||||
// console.log(err);
|
// console.log(err);
|
||||||
// } else {
|
// } else {
|
||||||
@ -340,19 +350,19 @@ export function HTTP(defaultOptions = { baseURL: '' }) {
|
|||||||
if (err) reject(err);
|
if (err) reject(err);
|
||||||
else
|
else
|
||||||
resolve({
|
resolve({
|
||||||
statusCode:
|
statusCode: response.status || response.statusCode,
|
||||||
response.status || response.statusCode,
|
|
||||||
headers: response.headers,
|
headers: response.headers,
|
||||||
body,
|
body,
|
||||||
});
|
});
|
||||||
},
|
});
|
||||||
);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
let timeoutid;
|
let timeoutid;
|
||||||
|
|
||||||
const timer = timeout
|
const timer = timeout
|
||||||
? new Promise((_, reject) => {
|
? new Promise((_, reject) => {
|
||||||
|
// console.log(`[request timeout] ${timeout}ms`);
|
||||||
timeoutid = setTimeout(() => {
|
timeoutid = setTimeout(() => {
|
||||||
events.onTimeout();
|
events.onTimeout();
|
||||||
return reject(
|
return reject(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user