@juzi/file-box 1.7.20 → 1.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/cjs/src/config.d.ts +5 -5
- package/dist/cjs/src/config.d.ts.map +1 -1
- package/dist/cjs/src/config.js +7 -9
- package/dist/cjs/src/config.js.map +1 -1
- package/dist/cjs/src/file-box.js +1 -1
- package/dist/cjs/src/file-box.js.map +1 -1
- package/dist/cjs/src/misc.d.ts.map +1 -1
- package/dist/cjs/src/misc.js +185 -69
- package/dist/cjs/src/misc.js.map +1 -1
- package/dist/cjs/src/misc.spec.js +26 -17
- package/dist/cjs/src/misc.spec.js.map +1 -1
- package/dist/cjs/src/version.d.ts.map +1 -1
- package/dist/cjs/src/version.js +1 -1
- package/dist/cjs/src/version.js.map +1 -1
- package/dist/cjs/tests/chunk-download.spec.js +62 -90
- package/dist/cjs/tests/chunk-download.spec.js.map +1 -1
- package/dist/cjs/tests/misc-error-handling.spec.js +134 -30
- package/dist/cjs/tests/misc-error-handling.spec.js.map +1 -1
- package/dist/cjs/tests/network-timeout.spec.js +101 -105
- package/dist/cjs/tests/network-timeout.spec.js.map +1 -1
- package/dist/esm/src/config.d.ts +5 -5
- package/dist/esm/src/config.d.ts.map +1 -1
- package/dist/esm/src/config.js +6 -8
- package/dist/esm/src/config.js.map +1 -1
- package/dist/esm/src/file-box.js +2 -2
- package/dist/esm/src/file-box.js.map +1 -1
- package/dist/esm/src/misc.d.ts.map +1 -1
- package/dist/esm/src/misc.js +187 -71
- package/dist/esm/src/misc.js.map +1 -1
- package/dist/esm/src/misc.spec.js +26 -17
- package/dist/esm/src/misc.spec.js.map +1 -1
- package/dist/esm/src/version.d.ts.map +1 -1
- package/dist/esm/src/version.js +1 -1
- package/dist/esm/src/version.js.map +1 -1
- package/dist/esm/tests/chunk-download.spec.js +62 -90
- package/dist/esm/tests/chunk-download.spec.js.map +1 -1
- package/dist/esm/tests/misc-error-handling.spec.js +134 -30
- package/dist/esm/tests/misc-error-handling.spec.js.map +1 -1
- package/dist/esm/tests/network-timeout.spec.js +103 -107
- package/dist/esm/tests/network-timeout.spec.js.map +1 -1
- package/package.json +2 -2
- package/src/config.ts +6 -12
- package/src/file-box.ts +2 -2
- package/src/misc.spec.ts +29 -14
- package/src/misc.ts +200 -75
- package/src/version.ts +1 -1
package/README.md
CHANGED
|
@@ -480,9 +480,11 @@ Environment variables can be used to control some behavior.
|
|
|
480
480
|
|
|
481
481
|
- `FILEBOX_HTTP_REQUEST_TIMEOUT` [default=10000] The timeout period for establishing a communication request with the server. For example, if the network is unavailable or the delay is too high, communication cannot be successfully established.
|
|
482
482
|
- `FILEBOX_HTTP_RESPONSE_TIMEOUT` [default=60000] Socket idle timeout when FileBox downloads data from URL. For example, when the network is temporarily interrupted, the request will be considered as failed after waiting for a specified time.
|
|
483
|
+
- `FILEBOX_READY_RETRY` [default=3] Maximum retry count when calling `ready()` method. If an error occurs while preparing the FileBox (e.g., fetching remote file metadata), it will retry up to this number of times before throwing an error.
|
|
483
484
|
- ~~`FILEBOX_HTTP_TIMEOUT` [default=60000]~~ **Deprecated!** Please use `FILEBOX_HTTP_RESPONSE_TIMEOUT`.
|
|
484
|
-
- `
|
|
485
|
-
- `
|
|
485
|
+
- ~~`FILE_BOX_READY_RETRY` [default=3]~~ **Deprecated!** Please use `FILEBOX_READY_RETRY` (with underscore naming for consistency).
|
|
486
|
+
- ~~`FILEBOX_NO_SLICE_DOWN` [default=false]~~ **Removed!** Chunked download now automatically falls back to non-chunked mode when servers don't support range requests. No manual configuration needed.
|
|
487
|
+
- ~~`FILEBOX_HTTP_CHUNK_SIZE` [default=524288]~~ **Deprecated!** Chunk size is no longer configurable. The implementation now uses open-ended range requests (`bytes=start-`) for automatic chunk management.
|
|
486
488
|
|
|
487
489
|
## SCHEMAS
|
|
488
490
|
|
package/dist/cjs/src/config.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/// <reference path="../../../src/typings.d.ts" />
|
|
2
2
|
export { VERSION } from './version.js';
|
|
3
|
-
export declare const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
export declare const CONFIG: {
|
|
4
|
+
HTTP_REQUEST_TIMEOUT: number;
|
|
5
|
+
HTTP_RESPONSE_TIMEOUT: number;
|
|
6
|
+
READY_RETRY: number;
|
|
7
|
+
};
|
|
8
8
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,eAAO,MAAM,MAAM;;;;CAIlB,CAAA"}
|
package/dist/cjs/src/config.js
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.CONFIG = exports.VERSION = void 0;
|
|
4
4
|
/// <reference path="./typings.d.ts" />
|
|
5
5
|
var version_js_1 = require("./version.js");
|
|
6
6
|
Object.defineProperty(exports, "VERSION", { enumerable: true, get: function () { return version_js_1.VERSION; } });
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|| 60 * 1000
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|| 1024 * 512;
|
|
14
|
-
exports.READY_RETRY = Number(process.env['FILE_BOX_READY_RETRY']) || 3;
|
|
7
|
+
// 导出可变配置对象,支持测试时动态修改
|
|
8
|
+
exports.CONFIG = {
|
|
9
|
+
HTTP_REQUEST_TIMEOUT: Number(process.env['FILEBOX_HTTP_REQUEST_TIMEOUT']) || 10 * 1000,
|
|
10
|
+
HTTP_RESPONSE_TIMEOUT: Number(process.env['FILEBOX_HTTP_RESPONSE_TIMEOUT'] ?? process.env['FILEBOX_HTTP_TIMEOUT']) || 60 * 1000,
|
|
11
|
+
READY_RETRY: Number(process.env['FILEBOX_READY_RETRY'] ?? process.env['FILE_BOX_READY_RETRY']) || 3,
|
|
12
|
+
};
|
|
15
13
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AACvC,2CAAsC;AAA7B,qGAAA,OAAO,OAAA;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AACvC,2CAAsC;AAA7B,qGAAA,OAAO,OAAA;AAEhB,qBAAqB;AACR,QAAA,MAAM,GAAG;IACpB,oBAAoB,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI;IACtF,qBAAqB,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI;IAC/H,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC;CACpG,CAAA"}
|
package/dist/cjs/src/file-box.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-box.js","sourceRoot":"","sources":["../../../src/file-box.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file-box.js","sourceRoot":"","sources":["../../../src/file-box.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../src/misc.ts"],"names":[],"mappings":";;;;AAKA,OAAO,IAAwB,MAAM,MAAM,CAAA;AAK3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../src/misc.ts"],"names":[],"mappings":";;;;AAKA,OAAO,IAAwB,MAAM,MAAM,CAAA;AAK3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAiCtC,wBAAgB,eAAe,CAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,mBAAwB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CA6B/I;AAED,wBAAgB,oBAAoB,CAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,MAAM,CAetF;AAED,wBAAsB,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,mBAAwB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAwB3H;AA4SD,wBAAsB,cAAc,CAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAMvE"}
|
package/dist/cjs/src/misc.js
CHANGED
|
@@ -14,6 +14,9 @@ const https_1 = __importDefault(require("https"));
|
|
|
14
14
|
const https_proxy_agent_1 = require("https-proxy-agent");
|
|
15
15
|
const os_1 = require("os");
|
|
16
16
|
const path_1 = require("path");
|
|
17
|
+
const stream_1 = require("stream");
|
|
18
|
+
const promises_2 = require("stream/promises");
|
|
19
|
+
const promises_3 = require("timers/promises");
|
|
17
20
|
const url_1 = require("url");
|
|
18
21
|
const config_js_1 = require("./config.js");
|
|
19
22
|
const protocolMap = {
|
|
@@ -22,6 +25,13 @@ const protocolMap = {
|
|
|
22
25
|
};
|
|
23
26
|
const noop = () => { };
|
|
24
27
|
const unsupportedRangeDomains = new Set();
|
|
28
|
+
// 自定义 Error:标记需要回退到非分片下载
|
|
29
|
+
class FallbackError extends Error {
|
|
30
|
+
constructor(reason) {
|
|
31
|
+
super(`Fallback required: ${reason}`);
|
|
32
|
+
this.name = 'FallbackError';
|
|
33
|
+
}
|
|
34
|
+
}
|
|
25
35
|
function getProtocol(protocol) {
|
|
26
36
|
(0, assert_1.default)(protocolMap[protocol], new Error('unknown protocol: ' + protocol));
|
|
27
37
|
return protocolMap[protocol];
|
|
@@ -55,7 +65,6 @@ async function httpHeadHeader(url, headers = {}, proxyUrl) {
|
|
|
55
65
|
}
|
|
56
66
|
return res.headers;
|
|
57
67
|
}
|
|
58
|
-
// console.log('302 found for ' + url)
|
|
59
68
|
if (!res.headers.location) {
|
|
60
69
|
throw new Error('302 found but no location!');
|
|
61
70
|
}
|
|
@@ -82,22 +91,22 @@ async function httpStream(url, headers = {}, proxyUrl) {
|
|
|
82
91
|
if (headHeaders.location) {
|
|
83
92
|
url = headHeaders.location;
|
|
84
93
|
}
|
|
85
|
-
const { protocol, hostname } = new url_1.URL(url);
|
|
94
|
+
const { protocol, hostname, port } = new url_1.URL(url);
|
|
86
95
|
getProtocol(protocol);
|
|
87
96
|
const options = {
|
|
88
97
|
headers: { ...headers },
|
|
89
98
|
method: 'GET',
|
|
90
99
|
};
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
100
|
+
// 使用 hostname:port 作为域名标识,避免不同端口的服务互相影响
|
|
101
|
+
const defaultPort = protocol === 'https:' ? '443' : '80';
|
|
102
|
+
const hostKey = `${hostname}:${port || defaultPort}`;
|
|
103
|
+
// 直接尝试分片下载,不检查 Accept-Ranges 和 fileSize
|
|
104
|
+
// 原因:
|
|
105
|
+
// 1. 有些服务器 HEAD 不返回 Accept-Ranges 但实际支持分片
|
|
106
|
+
// 2. 有些服务器 HEAD 返回 fileSize=0 但实际支持分片
|
|
107
|
+
// downloadFileInChunks 内部有完善的回退机制处理不支持的情况
|
|
108
|
+
const result = await downloadFileInChunks(url, options, proxyUrl, hostKey);
|
|
109
|
+
return result;
|
|
101
110
|
}
|
|
102
111
|
exports.httpStream = httpStream;
|
|
103
112
|
async function fetch(url, options, proxyUrl) {
|
|
@@ -131,11 +140,11 @@ async function fetch(url, options, proxyUrl) {
|
|
|
131
140
|
req.off('error', noop);
|
|
132
141
|
})
|
|
133
142
|
// request timeout:只用于“拿到 response 之前”(连接/握手/首包)
|
|
134
|
-
.setTimeout(config_js_1.HTTP_REQUEST_TIMEOUT, () => {
|
|
143
|
+
.setTimeout(config_js_1.CONFIG.HTTP_REQUEST_TIMEOUT, () => {
|
|
135
144
|
// 已经拿到 response 时,不要再用 request timeout 误伤(会导致 aborted/ECONNRESET)
|
|
136
145
|
if (res)
|
|
137
146
|
return;
|
|
138
|
-
abortController.abort(new Error(`FileBox: Http request timeout (${config_js_1.HTTP_REQUEST_TIMEOUT})!`));
|
|
147
|
+
abortController.abort(new Error(`FileBox: Http request timeout (${config_js_1.CONFIG.HTTP_REQUEST_TIMEOUT})!`));
|
|
139
148
|
})
|
|
140
149
|
.end();
|
|
141
150
|
try {
|
|
@@ -151,7 +160,6 @@ async function fetch(url, options, proxyUrl) {
|
|
|
151
160
|
signal.throwIfAborted();
|
|
152
161
|
}
|
|
153
162
|
catch (e) {
|
|
154
|
-
// once(...) 被 signal abort 时通常会抛 AbortError;优先抛出 abort(reason) 的真实原因
|
|
155
163
|
const reason = signal.reason;
|
|
156
164
|
const err = reason instanceof Error
|
|
157
165
|
? reason
|
|
@@ -190,14 +198,38 @@ async function fetch(url, options, proxyUrl) {
|
|
|
190
198
|
signal.removeEventListener('abort', onAbort);
|
|
191
199
|
res.off('error', noop);
|
|
192
200
|
})
|
|
193
|
-
.setTimeout(config_js_1.HTTP_RESPONSE_TIMEOUT, () => {
|
|
194
|
-
abortController.abort(new Error(`FileBox: Http response timeout (${config_js_1.HTTP_RESPONSE_TIMEOUT})!`));
|
|
201
|
+
.setTimeout(config_js_1.CONFIG.HTTP_RESPONSE_TIMEOUT, () => {
|
|
202
|
+
abortController.abort(new Error(`FileBox: Http response timeout (${config_js_1.CONFIG.HTTP_RESPONSE_TIMEOUT})!`));
|
|
195
203
|
});
|
|
196
204
|
return res;
|
|
197
205
|
}
|
|
198
|
-
|
|
206
|
+
function createSkipTransform(skipBytes) {
|
|
207
|
+
let skipped = 0;
|
|
208
|
+
return new stream_1.Transform({
|
|
209
|
+
transform(chunk, _encoding, callback) {
|
|
210
|
+
if (skipped < skipBytes) {
|
|
211
|
+
const remaining = skipBytes - skipped;
|
|
212
|
+
if (chunk.length <= remaining) {
|
|
213
|
+
// 整个 chunk 都需要跳过
|
|
214
|
+
skipped += chunk.length;
|
|
215
|
+
callback();
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
// 跳过部分 chunk
|
|
220
|
+
skipped = skipBytes;
|
|
221
|
+
callback(null, chunk.subarray(remaining));
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
// 已经跳过足够的字节,直接传递
|
|
226
|
+
callback(null, chunk);
|
|
227
|
+
},
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
async function downloadFileInChunks(url, options, proxyUrl, hostname) {
|
|
199
231
|
const tmpFile = (0, path_1.join)((0, os_1.tmpdir)(), `filebox-${(0, crypto_1.randomUUID)()}`);
|
|
200
|
-
|
|
232
|
+
let writeStream = (0, fs_1.createWriteStream)(tmpFile);
|
|
201
233
|
const writeAbortController = new AbortController();
|
|
202
234
|
const signal = writeAbortController.signal;
|
|
203
235
|
const onWriteError = (err) => {
|
|
@@ -209,81 +241,165 @@ async function downloadFileInChunks(url, options, fileSize, chunkSize = config_j
|
|
|
209
241
|
headers: {},
|
|
210
242
|
...options,
|
|
211
243
|
};
|
|
212
|
-
|
|
244
|
+
// 预期文件大小(初始为 null,从首次 206 响应中获取)
|
|
245
|
+
let expectedTotal = null;
|
|
213
246
|
let start = 0;
|
|
214
|
-
let end = 0;
|
|
215
247
|
let downSize = 0;
|
|
216
248
|
let retries = 3;
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
249
|
+
// 控制是否使用 Range 请求(根据域名黑名单初始化)
|
|
250
|
+
let useRange = !unsupportedRangeDomains.has(hostname);
|
|
251
|
+
let useChunked = false;
|
|
252
|
+
do {
|
|
253
|
+
// 每次循环前检查文件实际大小,作为真实的下载进度
|
|
254
|
+
// 这样在重试时可以从实际写入的位置继续,避免数据重复
|
|
255
|
+
const fileStats = await (0, promises_1.stat)(tmpFile).then(stats => stats.size).catch(() => 0);
|
|
256
|
+
if (fileStats !== downSize) {
|
|
257
|
+
// 文件实际大小与记录的不一致,使用实际大小
|
|
258
|
+
downSize = fileStats;
|
|
259
|
+
start = fileStats;
|
|
260
|
+
}
|
|
220
261
|
const requestOptions = Object.assign({}, requestBaseOptions);
|
|
221
262
|
(0, assert_1.default)(requestOptions.headers, 'Errors that should not happen: Invalid headers');
|
|
222
|
-
|
|
263
|
+
const headers = requestOptions.headers;
|
|
264
|
+
// 根据 useRange flag 决定是否添加 Range header
|
|
265
|
+
if (useRange) {
|
|
266
|
+
const range = `bytes=${start}-`;
|
|
267
|
+
headers['Range'] = range;
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
delete headers['Range'];
|
|
271
|
+
}
|
|
272
|
+
let res;
|
|
223
273
|
try {
|
|
224
|
-
|
|
274
|
+
res = await fetch(url, requestOptions, proxyUrl);
|
|
225
275
|
if (res.statusCode === 416) {
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
writeStream.destroy();
|
|
229
|
-
try {
|
|
230
|
-
await (0, events_1.once)(writeStream, 'close', { signal });
|
|
231
|
-
}
|
|
232
|
-
catch { }
|
|
233
|
-
await (0, promises_1.rm)(tmpFile, { force: true });
|
|
234
|
-
return await fetch(url, requestBaseOptions, proxyUrl);
|
|
276
|
+
// 416: Range Not Satisfiable,服务器不支持此范围或文件大小不匹配
|
|
277
|
+
throw new FallbackError('416 Range Not Satisfiable');
|
|
235
278
|
}
|
|
236
279
|
(0, assert_1.default)(allowStatusCode.includes(res.statusCode ?? 0), `Request failed with status code ${res.statusCode}`);
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
280
|
+
const contentLength = Number(res.headers['content-length']) || 0;
|
|
281
|
+
(0, assert_1.default)(contentLength >= 0, `Server returned ${contentLength} bytes of data`);
|
|
282
|
+
// 206: 部分内容,继续分片下载
|
|
283
|
+
// 200: 完整内容,服务器不支持 range 或返回全部数据
|
|
284
|
+
if (res.statusCode === 206) {
|
|
285
|
+
// 206 响应必须包含有效的 Content-Range 头(RFC 7233)
|
|
286
|
+
const contentRange = res.headers['content-range'];
|
|
287
|
+
if (!contentRange) {
|
|
288
|
+
// Content-Range 缺失,服务器不规范,回退到非分片下载
|
|
289
|
+
throw new FallbackError('Missing Content-Range header');
|
|
290
|
+
}
|
|
291
|
+
let end;
|
|
292
|
+
let total;
|
|
293
|
+
let actualStart;
|
|
294
|
+
try {
|
|
295
|
+
const parsed = parseContentRange(contentRange);
|
|
296
|
+
actualStart = parsed.start;
|
|
297
|
+
end = parsed.end;
|
|
298
|
+
total = parsed.total;
|
|
299
|
+
}
|
|
300
|
+
catch (error) {
|
|
301
|
+
// Content-Range 格式错误,服务器不规范,回退到非分片下载
|
|
302
|
+
throw new FallbackError(`Invalid Content-Range: ${contentRange}`);
|
|
303
|
+
}
|
|
304
|
+
if (expectedTotal === null) {
|
|
305
|
+
// 首次获得文件总大小
|
|
241
306
|
// 某些云服务商(如腾讯云)在 head 方法中返回的 size 是原图大小,但下载时返回的是压缩后的图片,会比原图小。
|
|
242
|
-
// 这种在首次下载时虽然请求了原图大小的范围,可能比缩略图大,但会一次性返回完整的原图,而不是报错 416,通过修正
|
|
243
|
-
|
|
307
|
+
// 这种在首次下载时虽然请求了原图大小的范围,可能比缩略图大,但会一次性返回完整的原图,而不是报错 416,通过修正 expectedTotal 跳出循环即可。
|
|
308
|
+
expectedTotal = total;
|
|
244
309
|
}
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
310
|
+
else if (total !== expectedTotal) {
|
|
311
|
+
// 服务器返回的文件总大小出现了变化
|
|
312
|
+
throw new Error(`File size mismatch: expected ${expectedTotal}, but server returned ${total}`);
|
|
313
|
+
}
|
|
314
|
+
// 标记使用了分片下载
|
|
315
|
+
useChunked = true;
|
|
316
|
+
// 验证服务器返回的范围是否与请求匹配
|
|
317
|
+
if (actualStart !== start) {
|
|
318
|
+
if (actualStart > start) {
|
|
319
|
+
// 服务器跳过了部分数据,这是严重错误
|
|
320
|
+
throw new Error(`Range mismatch: requested start=${start}, but server returned start=${actualStart} (gap detected)`);
|
|
253
321
|
}
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
322
|
+
else {
|
|
323
|
+
// actualStart < start: 服务器返回了重叠数据,需要跳过前面的字节
|
|
324
|
+
const skipBytes = start - actualStart;
|
|
325
|
+
const skipTransform = createSkipTransform(skipBytes);
|
|
326
|
+
await (0, promises_2.pipeline)(res, skipTransform, writeStream, { end: false, signal });
|
|
327
|
+
// 更新进度时使用我们请求的范围,而不是服务器返回的范围
|
|
328
|
+
downSize += end - actualStart + 1 - skipBytes;
|
|
329
|
+
start = downSize;
|
|
330
|
+
retries = 3; // 成功后重置重试次数
|
|
331
|
+
continue;
|
|
257
332
|
}
|
|
258
333
|
}
|
|
334
|
+
// 使用 pipeline,但不关闭 writeStream(继续下载下一个分片)
|
|
335
|
+
await (0, promises_2.pipeline)(res, writeStream, { end: false, signal });
|
|
336
|
+
// pipeline 成功后才更新下载进度
|
|
337
|
+
// end 是最后一个字节的索引,下次从 end+1 开始
|
|
338
|
+
downSize += end - start + 1;
|
|
339
|
+
start = downSize;
|
|
259
340
|
}
|
|
260
|
-
res.
|
|
341
|
+
else if (res.statusCode === 200) {
|
|
342
|
+
// 200: 服务器返回完整文件
|
|
343
|
+
if (useChunked || start > 0) {
|
|
344
|
+
// 之前以分片模式下载过数据
|
|
345
|
+
writeStream.destroy();
|
|
346
|
+
await (0, promises_1.rm)(tmpFile, { force: true }).catch(() => { });
|
|
347
|
+
writeStream = (0, fs_1.createWriteStream)(tmpFile);
|
|
348
|
+
writeStream.on('error', onWriteError);
|
|
349
|
+
start = 0;
|
|
350
|
+
downSize = 0;
|
|
351
|
+
}
|
|
352
|
+
// 处理完整文件响应
|
|
353
|
+
expectedTotal = contentLength;
|
|
354
|
+
await (0, promises_2.pipeline)(res, writeStream, { end: false, signal });
|
|
355
|
+
downSize = contentLength;
|
|
356
|
+
break;
|
|
357
|
+
}
|
|
358
|
+
else {
|
|
359
|
+
throw new Error(`Unexpected status code: ${res.statusCode}`);
|
|
360
|
+
}
|
|
361
|
+
// 成功后重置重试次数
|
|
362
|
+
retries = 3;
|
|
261
363
|
}
|
|
262
364
|
catch (error) {
|
|
365
|
+
if (error instanceof FallbackError) {
|
|
366
|
+
// 回退逻辑:记录域名、重置状态,在下次循环中以非 range 模式请求
|
|
367
|
+
unsupportedRangeDomains.add(hostname);
|
|
368
|
+
// 关闭当前写入流
|
|
369
|
+
writeStream.destroy();
|
|
370
|
+
await (0, promises_1.rm)(tmpFile, { force: true }).catch(() => { });
|
|
371
|
+
// 检查是否已经是非 Range 模式,避免无限回退
|
|
372
|
+
if (!useRange) {
|
|
373
|
+
// 已经是非 Range 模式还失败,无法继续
|
|
374
|
+
throw new Error(`Download failed even in non-chunked mode: ${error.message}`);
|
|
375
|
+
}
|
|
376
|
+
writeStream = (0, fs_1.createWriteStream)(tmpFile);
|
|
377
|
+
writeStream.once('error', onWriteError);
|
|
378
|
+
// 重置所有状态
|
|
379
|
+
expectedTotal = null;
|
|
380
|
+
downSize = 0;
|
|
381
|
+
start = 0;
|
|
382
|
+
useChunked = false;
|
|
383
|
+
useRange = false;
|
|
384
|
+
retries = 3;
|
|
385
|
+
continue;
|
|
386
|
+
}
|
|
387
|
+
// 普通错误:重试
|
|
263
388
|
const err = error instanceof Error ? error : new Error(String(error));
|
|
264
389
|
if (--retries <= 0) {
|
|
265
390
|
writeStream.destroy();
|
|
266
|
-
|
|
391
|
+
await (0, promises_1.rm)(tmpFile, { force: true }).catch(() => { });
|
|
267
392
|
throw new Error(`Download file with chunk failed! ${err.message}`, { cause: err });
|
|
268
393
|
}
|
|
394
|
+
// 失败后等待一小段时间再重试
|
|
395
|
+
await (0, promises_3.setTimeout)(100);
|
|
269
396
|
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
writeStream.end();
|
|
274
|
-
try {
|
|
397
|
+
} while (expectedTotal === null || downSize < expectedTotal);
|
|
398
|
+
if (!writeStream.destroyed && !writeStream.writableFinished) {
|
|
399
|
+
writeStream.end();
|
|
275
400
|
await (0, events_1.once)(writeStream, 'finish', { signal });
|
|
276
401
|
}
|
|
277
|
-
|
|
278
|
-
const reason = signal.reason;
|
|
279
|
-
if (reason instanceof Error) {
|
|
280
|
-
throw reason;
|
|
281
|
-
}
|
|
282
|
-
throw e;
|
|
283
|
-
}
|
|
284
|
-
finally {
|
|
285
|
-
writeStream.off('error', onWriteError);
|
|
286
|
-
}
|
|
402
|
+
writeStream.off('error', onWriteError);
|
|
287
403
|
const readStream = (0, fs_1.createReadStream)(tmpFile);
|
|
288
404
|
readStream.once('close', () => {
|
|
289
405
|
(0, promises_1.rm)(tmpFile, { force: true }).catch(() => { });
|
package/dist/cjs/src/misc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../src/misc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../src/misc.ts"],"names":[],"mappings":"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"}
|