@hyperttp/core 1.4.4 → 1.4.6
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/Core/HyperCore.d.ts.map +1 -1
- package/Core/HyperCore.js +35 -18
- package/Core/HyperCore.js.map +1 -1
- package/package.json +1 -4
- package/transports/browser.d.ts +27 -218
- package/transports/browser.d.ts.map +1 -1
- package/transports/browser.js +65 -440
- package/transports/browser.js.map +1 -1
- package/transports/manager.d.ts +19 -1
- package/transports/manager.d.ts.map +1 -1
- package/transports/manager.js +44 -63
- package/transports/manager.js.map +1 -1
- package/utils/normalize.d.ts.map +1 -1
- package/utils/normalize.js +3 -5
- package/utils/normalize.js.map +1 -1
- package/utils/pipeline.d.ts.map +1 -1
- package/utils/pipeline.js +7 -5
- package/utils/pipeline.js.map +1 -1
- package/utils/response.d.ts +82 -0
- package/utils/response.d.ts.map +1 -1
- package/utils/response.js +120 -13
- package/utils/response.js.map +1 -1
- package/utils/decompress.d.ts +0 -25
- package/utils/decompress.d.ts.map +0 -1
- package/utils/decompress.js +0 -208
- package/utils/decompress.js.map +0 -1
package/utils/response.js
CHANGED
|
@@ -57,12 +57,36 @@ const STATIC_DECODER = new TextDecoder();
|
|
|
57
57
|
* @en Frozen empty headers object to avoid redundant allocations.
|
|
58
58
|
*/
|
|
59
59
|
const EMPTY_HEADERS = Object.freeze({});
|
|
60
|
+
/**
|
|
61
|
+
* @ru Быстрая проверка, является ли значение ReadableStream.
|
|
62
|
+
* @en Fast check to determine if a value is a ReadableStream.
|
|
63
|
+
* @param value - The value to check.
|
|
64
|
+
* @returns True if the value is a ReadableStream.
|
|
65
|
+
*/
|
|
60
66
|
function isReadableStream(value) {
|
|
61
|
-
return (typeof value === "object" &&
|
|
67
|
+
return (typeof value === "object" &&
|
|
68
|
+
value !== null &&
|
|
69
|
+
"getReader" in value &&
|
|
70
|
+
typeof value.getReader === "function");
|
|
62
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* @ru Быстрая проверка, является ли значение Blob.
|
|
74
|
+
* @en Fast check to determine if a value is a Blob.
|
|
75
|
+
* @param value - The value to check.
|
|
76
|
+
* @returns True if the value is a Blob.
|
|
77
|
+
*/
|
|
63
78
|
function isBlob(value) {
|
|
64
79
|
return typeof Blob !== "undefined" && value instanceof Blob;
|
|
65
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* @ru Высокопроизводительное глубокое клонирование тела ответа.
|
|
83
|
+
* Избегает накладных расходов structuredClone для простых объектов.
|
|
84
|
+
* @en High-performance deep cloning of the response body.
|
|
85
|
+
* Avoids structuredClone overhead for simple objects.
|
|
86
|
+
* @template T - The type of the body.
|
|
87
|
+
* @param body - The body to clone.
|
|
88
|
+
* @returns The cloned body.
|
|
89
|
+
*/
|
|
66
90
|
export const cloneBodyFast = (body) => {
|
|
67
91
|
if (typeof body !== "object" || body === null)
|
|
68
92
|
return body;
|
|
@@ -72,6 +96,10 @@ export const cloneBodyFast = (body) => {
|
|
|
72
96
|
typeof obj.getReader === "function") {
|
|
73
97
|
return body;
|
|
74
98
|
}
|
|
99
|
+
const proto = Object.getPrototypeOf(body);
|
|
100
|
+
if (proto === Object.prototype || proto === null) {
|
|
101
|
+
return { ...body };
|
|
102
|
+
}
|
|
75
103
|
try {
|
|
76
104
|
return structuredClone(body);
|
|
77
105
|
}
|
|
@@ -105,12 +133,23 @@ export class HyperHttpResponse {
|
|
|
105
133
|
[JSON_CACHE] = undefined;
|
|
106
134
|
[ARRAY_BUFFER_CACHE] = undefined;
|
|
107
135
|
_bodyConsumed = false;
|
|
136
|
+
_raw;
|
|
137
|
+
/**
|
|
138
|
+
* @ru Создаёт экземпляр ответа из сырых данных транспорта.
|
|
139
|
+
* @en Creates a response instance from raw transport data.
|
|
140
|
+
* @param rawResponse - The raw response from the transport layer.
|
|
141
|
+
*/
|
|
108
142
|
constructor(rawResponse) {
|
|
109
143
|
this.status = rawResponse.status;
|
|
110
144
|
this.headers = rawResponse.headers || EMPTY_HEADERS;
|
|
111
145
|
this.body = rawResponse.body;
|
|
112
146
|
this.url = rawResponse.url ?? "";
|
|
147
|
+
this._raw = rawResponse._raw;
|
|
113
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* @ru Лениво вычитывает и кэширует тело ответа в виде ArrayBuffer и текста.
|
|
151
|
+
* @en Lazily consumes and caches the response body as ArrayBuffer and text.
|
|
152
|
+
*/
|
|
114
153
|
async _consumeBody() {
|
|
115
154
|
if (this._bodyConsumed)
|
|
116
155
|
return;
|
|
@@ -135,12 +174,7 @@ export class HyperHttpResponse {
|
|
|
135
174
|
this[TEXT_CACHE] = STATIC_DECODER.decode(body);
|
|
136
175
|
return;
|
|
137
176
|
}
|
|
138
|
-
if (
|
|
139
|
-
const buf = await body.arrayBuffer();
|
|
140
|
-
this[ARRAY_BUFFER_CACHE] = buf;
|
|
141
|
-
this[TEXT_CACHE] = STATIC_DECODER.decode(buf);
|
|
142
|
-
}
|
|
143
|
-
else if (isReadableStream(body) || isBlob(body)) {
|
|
177
|
+
if (isReadableStream(body) || isBlob(body)) {
|
|
144
178
|
if (isReadableStream(body) && body.locked) {
|
|
145
179
|
throw new Error("[Hyperttp] Stream is locked.");
|
|
146
180
|
}
|
|
@@ -153,6 +187,11 @@ export class HyperHttpResponse {
|
|
|
153
187
|
this.body = new Uint8Array(this[ARRAY_BUFFER_CACHE]);
|
|
154
188
|
}
|
|
155
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* @ru Возвращает тело ответа как ArrayBuffer. Результат кэшируется.
|
|
192
|
+
* @en Returns the response body as an ArrayBuffer. Result is cached.
|
|
193
|
+
* @returns Promise resolving to the ArrayBuffer or SharedArrayBuffer.
|
|
194
|
+
*/
|
|
156
195
|
async arrayBuffer() {
|
|
157
196
|
if (this[ARRAY_BUFFER_CACHE] !== undefined)
|
|
158
197
|
return this[ARRAY_BUFFER_CACHE];
|
|
@@ -166,8 +205,16 @@ export class HyperHttpResponse {
|
|
|
166
205
|
if (body instanceof ArrayBuffer) {
|
|
167
206
|
return (this[ARRAY_BUFFER_CACHE] = body);
|
|
168
207
|
}
|
|
169
|
-
if (
|
|
170
|
-
|
|
208
|
+
if (this._raw && body === this._raw.body && typeof this._raw.arrayBuffer === "function") {
|
|
209
|
+
this._bodyConsumed = true;
|
|
210
|
+
return (this[ARRAY_BUFFER_CACHE] = await this._raw.arrayBuffer());
|
|
211
|
+
}
|
|
212
|
+
if (CURRENT_RUNTIME === "bun" && body && typeof body === "object" && "arrayBuffer" in body) {
|
|
213
|
+
const bunBody = body;
|
|
214
|
+
if (typeof bunBody.arrayBuffer === "function") {
|
|
215
|
+
this._bodyConsumed = true;
|
|
216
|
+
return (this[ARRAY_BUFFER_CACHE] = await bunBody.arrayBuffer());
|
|
217
|
+
}
|
|
171
218
|
}
|
|
172
219
|
if (isBlob(body)) {
|
|
173
220
|
return (this[ARRAY_BUFFER_CACHE] = await body.arrayBuffer());
|
|
@@ -175,6 +222,11 @@ export class HyperHttpResponse {
|
|
|
175
222
|
await this._consumeBody();
|
|
176
223
|
return this[ARRAY_BUFFER_CACHE];
|
|
177
224
|
}
|
|
225
|
+
/**
|
|
226
|
+
* @ru Возвращает тело ответа как текст. Результат кэшируется.
|
|
227
|
+
* @en Returns the response body as text. Result is cached.
|
|
228
|
+
* @returns Promise resolving to the text string.
|
|
229
|
+
*/
|
|
178
230
|
async text() {
|
|
179
231
|
if (this[TEXT_CACHE] !== undefined)
|
|
180
232
|
return this[TEXT_CACHE];
|
|
@@ -191,9 +243,16 @@ export class HyperHttpResponse {
|
|
|
191
243
|
this._bodyConsumed = true;
|
|
192
244
|
return (this[TEXT_CACHE] = STATIC_DECODER.decode(body));
|
|
193
245
|
}
|
|
194
|
-
if (
|
|
246
|
+
if (this._raw && body === this._raw.body && typeof this._raw.text === "function") {
|
|
195
247
|
this._bodyConsumed = true;
|
|
196
|
-
return (this[TEXT_CACHE] = await
|
|
248
|
+
return (this[TEXT_CACHE] = await this._raw.text());
|
|
249
|
+
}
|
|
250
|
+
if (CURRENT_RUNTIME === "bun" && body && typeof body === "object" && "text" in body) {
|
|
251
|
+
const bunBody = body;
|
|
252
|
+
if (typeof bunBody.text === "function") {
|
|
253
|
+
this._bodyConsumed = true;
|
|
254
|
+
return (this[TEXT_CACHE] = await bunBody.text());
|
|
255
|
+
}
|
|
197
256
|
}
|
|
198
257
|
if (isBlob(body)) {
|
|
199
258
|
this._bodyConsumed = true;
|
|
@@ -202,6 +261,12 @@ export class HyperHttpResponse {
|
|
|
202
261
|
await this._consumeBody();
|
|
203
262
|
return this[TEXT_CACHE];
|
|
204
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* @ru Парсит тело ответа как JSON. Результат кэшируется.
|
|
266
|
+
* @en Parses the response body as JSON. Result is cached.
|
|
267
|
+
* @template TJson - Expected type of the parsed JSON.
|
|
268
|
+
* @returns Promise resolving to the parsed JSON object.
|
|
269
|
+
*/
|
|
205
270
|
async json() {
|
|
206
271
|
if (this[JSON_CACHE] !== undefined)
|
|
207
272
|
return this[JSON_CACHE];
|
|
@@ -217,12 +282,25 @@ export class HyperHttpResponse {
|
|
|
217
282
|
!(body instanceof ArrayBuffer)) {
|
|
218
283
|
return (this[JSON_CACHE] = body);
|
|
219
284
|
}
|
|
220
|
-
if (
|
|
221
|
-
|
|
285
|
+
if (this._raw && body === this._raw.body && typeof this._raw.json === "function") {
|
|
286
|
+
this._bodyConsumed = true;
|
|
287
|
+
return (this[JSON_CACHE] = await this._raw.json());
|
|
288
|
+
}
|
|
289
|
+
if (CURRENT_RUNTIME === "bun" && body && typeof body === "object" && "json" in body) {
|
|
290
|
+
const bunBody = body;
|
|
291
|
+
if (typeof bunBody.json === "function") {
|
|
292
|
+
this._bodyConsumed = true;
|
|
293
|
+
return (this[JSON_CACHE] = await bunBody.json());
|
|
294
|
+
}
|
|
222
295
|
}
|
|
223
296
|
const str = await this.text();
|
|
224
297
|
return (this[JSON_CACHE] = JSON.parse(str));
|
|
225
298
|
}
|
|
299
|
+
/**
|
|
300
|
+
* @ru Отбрасывает тело ответа для освобождения ресурсов (сокета).
|
|
301
|
+
* @en Discards the response body to free up resources (socket).
|
|
302
|
+
* @returns Promise that resolves when the body is drained.
|
|
303
|
+
*/
|
|
226
304
|
async dump() {
|
|
227
305
|
if (this._bodyConsumed)
|
|
228
306
|
return;
|
|
@@ -236,6 +314,13 @@ export class HyperHttpResponse {
|
|
|
236
314
|
await body.arrayBuffer();
|
|
237
315
|
}
|
|
238
316
|
}
|
|
317
|
+
/**
|
|
318
|
+
* @ru Создаёт глубокую изолированную копию ответа.
|
|
319
|
+
* Для стримов использует tee() для безопасного раздвоения потока.
|
|
320
|
+
* @en Creates a deep isolated copy of the response.
|
|
321
|
+
* Uses tee() for streams to safely duplicate the flow.
|
|
322
|
+
* @returns A new HttpResponse instance with cloned data.
|
|
323
|
+
*/
|
|
239
324
|
clone() {
|
|
240
325
|
const cloned = Object.create(HyperHttpResponse.prototype);
|
|
241
326
|
cloned.status = this.status;
|
|
@@ -243,6 +328,7 @@ export class HyperHttpResponse {
|
|
|
243
328
|
cloned.url = this.url;
|
|
244
329
|
cloned.data = this.data ? cloneBodyFast(this.data) : null;
|
|
245
330
|
cloned._bodyConsumed = this._bodyConsumed;
|
|
331
|
+
cloned._raw = this._bodyConsumed ? undefined : this._raw;
|
|
246
332
|
cloned[TEXT_CACHE] = this[TEXT_CACHE];
|
|
247
333
|
cloned[JSON_CACHE] = this[JSON_CACHE];
|
|
248
334
|
cloned[ARRAY_BUFFER_CACHE] = this[ARRAY_BUFFER_CACHE];
|
|
@@ -262,15 +348,36 @@ export class HyperHttpResponse {
|
|
|
262
348
|
return cloned;
|
|
263
349
|
}
|
|
264
350
|
}
|
|
351
|
+
/**
|
|
352
|
+
* @ru Быстрое создание экземпляра HyperHttpResponse из сырого ответа транспорта.
|
|
353
|
+
* @en Fast creation of a HyperHttpResponse instance from a raw transport response.
|
|
354
|
+
* @param rawResponse - The raw transport response.
|
|
355
|
+
* @returns A new HyperHttpResponse instance.
|
|
356
|
+
*/
|
|
265
357
|
export const mapResponseFast = (rawResponse) => {
|
|
266
358
|
return new HyperHttpResponse(rawResponse);
|
|
267
359
|
};
|
|
360
|
+
/**
|
|
361
|
+
* @ru Быстрое создание объекта StreamResponse без overhead-а классов.
|
|
362
|
+
* @en Fast creation of a StreamResponse object without class overhead.
|
|
363
|
+
* @param rawResponse - The raw transport response.
|
|
364
|
+
* @returns A lightweight StreamResponse object.
|
|
365
|
+
*/
|
|
268
366
|
export const mapStreamFast = (rawResponse) => ({
|
|
269
367
|
status: rawResponse.status,
|
|
270
368
|
headers: rawResponse.headers,
|
|
271
369
|
body: rawResponse.body,
|
|
272
370
|
url: rawResponse.url ?? "",
|
|
273
371
|
});
|
|
372
|
+
/**
|
|
373
|
+
* @ru Оптимизированное слияние заголовков.
|
|
374
|
+
* Использует ранний возврат при первой итерации цикла, что быстрее, чем Object.keys().length > 0.
|
|
375
|
+
* @en Optimized headers merging.
|
|
376
|
+
* Uses early return on the first loop iteration, which is faster than Object.keys().length > 0.
|
|
377
|
+
* @param base - Base headers object.
|
|
378
|
+
* @param override - Headers to override or add.
|
|
379
|
+
* @returns Merged headers object.
|
|
380
|
+
*/
|
|
274
381
|
export const mergeHeadersFast = (base, override) => {
|
|
275
382
|
if (!override)
|
|
276
383
|
return base;
|
package/utils/response.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/utils/response.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/utils/response.ts"],"names":[],"mappings":"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"}
|
package/utils/decompress.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { TransportStreamExtensions } from "@hyperttp/types";
|
|
2
|
-
type StreamPayload = ReadableStream<Uint8Array> & TransportStreamExtensions;
|
|
3
|
-
type BufferPayload = Uint8Array & TransportStreamExtensions;
|
|
4
|
-
/**
|
|
5
|
-
* @ru Декомпрессирует буфер с поддержкой множественных кодировок.
|
|
6
|
-
* Сначала пытается Web API, затем fallback на node:zlib для серверных сред.
|
|
7
|
-
* @en Decompresses a buffer with support for multiple encodings.
|
|
8
|
-
* Tries Web API first, then falls back to node:zlib for server environments.
|
|
9
|
-
* @param body - The compressed Uint8Array.
|
|
10
|
-
* @param encoding - The Content-Encoding header value (e.g., 'gzip, br').
|
|
11
|
-
* @returns The decompressed buffer with dump() method attached.
|
|
12
|
-
*/
|
|
13
|
-
export declare function decompressBuffer(body: Uint8Array, encoding: string): Promise<BufferPayload>;
|
|
14
|
-
/**
|
|
15
|
-
* @ru Создаёт декомпрессированный стрим с поддержкой множественных кодировок.
|
|
16
|
-
* Использует DecompressionStream для Web и node:zlib для Node.js.
|
|
17
|
-
* @en Creates a decompressed stream with support for multiple encodings.
|
|
18
|
-
* Uses DecompressionStream for Web and node:zlib for Node.js.
|
|
19
|
-
* @param body - The compressed ReadableStream.
|
|
20
|
-
* @param encoding - The Content-Encoding header value (e.g., 'gzip, br').
|
|
21
|
-
* @returns The decompressed stream with dump() method attached.
|
|
22
|
-
*/
|
|
23
|
-
export declare function createDecompressStream(body: ReadableStream<Uint8Array>, encoding: string): Promise<StreamPayload>;
|
|
24
|
-
export {};
|
|
25
|
-
//# sourceMappingURL=decompress.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../../src/utils/decompress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAGjE,KAAK,aAAa,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,yBAAyB,CAAC;AAC5E,KAAK,aAAa,GAAG,UAAU,GAAG,yBAAyB,CAAC;AAiJ5D;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAsBjG;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,EAChC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,CAAC,CAoCxB"}
|
package/utils/decompress.js
DELETED
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
import { runtimeImport } from "../transports/manager.js";
|
|
2
|
-
/**
|
|
3
|
-
* @ru Флаг серверного окружения (Node.js/Bun/Deno).
|
|
4
|
-
* @en Server environment flag (Node.js/Bun/Deno).
|
|
5
|
-
*/
|
|
6
|
-
const IS_SERVER = typeof window === "undefined" && typeof self === "undefined";
|
|
7
|
-
/**
|
|
8
|
-
* @ru No-op функция для dump() буферов. Буферы не требуют освобождения ресурсов.
|
|
9
|
-
* @en No-op function for buffer dump(). Buffers don't require resource cleanup.
|
|
10
|
-
*/
|
|
11
|
-
const NOOP_DUMP = async () => { };
|
|
12
|
-
/**
|
|
13
|
-
* @ru Парсит строку Content-Encoding в массив кодировок.
|
|
14
|
-
* Игнорирует 'identity' (без сжатия) и пустые значения.
|
|
15
|
-
* @en Parses Content-Encoding string into an array of encodings.
|
|
16
|
-
* Ignores 'identity' (no compression) and empty values.
|
|
17
|
-
* @param encoding - The Content-Encoding header value.
|
|
18
|
-
* @returns Array of normalized encoding names.
|
|
19
|
-
*/
|
|
20
|
-
function parseEncodings(encoding) {
|
|
21
|
-
return encoding
|
|
22
|
-
.split(",")
|
|
23
|
-
.map((part) => part.trim().toLowerCase())
|
|
24
|
-
.filter((part) => part.length > 0 && part !== "identity");
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* @ru Добавляет no-op метод dump() к буферу.
|
|
28
|
-
* @en Attaches a no-op dump() method to the buffer.
|
|
29
|
-
* @param buffer - The Uint8Array to extend.
|
|
30
|
-
* @returns The buffer with dump() method attached.
|
|
31
|
-
*/
|
|
32
|
-
function attachNoopDump(buffer) {
|
|
33
|
-
const payload = buffer;
|
|
34
|
-
payload.dump = NOOP_DUMP;
|
|
35
|
-
return payload;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* @ru Добавляет метод dump() к стриму для отмены и освобождения сокета.
|
|
39
|
-
* @en Attaches a dump() method to the stream for cancellation and socket release.
|
|
40
|
-
* @param stream - The ReadableStream to extend.
|
|
41
|
-
* @returns The stream with dump() method attached.
|
|
42
|
-
*/
|
|
43
|
-
function attachStreamDump(stream) {
|
|
44
|
-
const payload = stream;
|
|
45
|
-
payload.dump = async () => {
|
|
46
|
-
try {
|
|
47
|
-
await payload.cancel();
|
|
48
|
-
}
|
|
49
|
-
catch {
|
|
50
|
-
//
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
return payload;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* @ru Декомпрессирует буфер с использованием Web API (DecompressionStream).
|
|
57
|
-
* Поддерживает gzip и deflate. Возвращает исходный буфер, если декомпрессия невозможна.
|
|
58
|
-
* @en Decompresses a buffer using Web API (DecompressionStream).
|
|
59
|
-
* Supports gzip and deflate. Returns the original buffer if decompression is not possible.
|
|
60
|
-
* @param input - The compressed Uint8Array.
|
|
61
|
-
* @param encoding - The compression encoding ('gzip', 'deflate').
|
|
62
|
-
* @returns The decompressed Uint8Array, or the original input if not applicable.
|
|
63
|
-
*/
|
|
64
|
-
async function decompressOnceWeb(input, encoding) {
|
|
65
|
-
const enc = encoding.trim().toLowerCase();
|
|
66
|
-
if (typeof globalThis.DecompressionStream === "undefined")
|
|
67
|
-
return input;
|
|
68
|
-
const isGzip = enc === "gzip" || enc === "x-gzip";
|
|
69
|
-
const isDeflate = enc === "deflate";
|
|
70
|
-
if (!isGzip && !isDeflate)
|
|
71
|
-
return input;
|
|
72
|
-
const format = isGzip ? "gzip" : "deflate";
|
|
73
|
-
const inputStream = new ReadableStream({
|
|
74
|
-
start(controller) {
|
|
75
|
-
controller.enqueue(input);
|
|
76
|
-
controller.close();
|
|
77
|
-
},
|
|
78
|
-
});
|
|
79
|
-
const decompressedStream = inputStream.pipeThrough(new globalThis.DecompressionStream(format));
|
|
80
|
-
const reader = decompressedStream.getReader();
|
|
81
|
-
const chunks = [];
|
|
82
|
-
let totalLength = 0;
|
|
83
|
-
try {
|
|
84
|
-
while (true) {
|
|
85
|
-
const { done, value } = await reader.read();
|
|
86
|
-
if (done)
|
|
87
|
-
break;
|
|
88
|
-
if (value) {
|
|
89
|
-
chunks.push(value);
|
|
90
|
-
totalLength += value.byteLength;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
finally {
|
|
95
|
-
reader.releaseLock();
|
|
96
|
-
}
|
|
97
|
-
if (chunks.length === 0)
|
|
98
|
-
return new Uint8Array(0);
|
|
99
|
-
if (chunks.length === 1)
|
|
100
|
-
return chunks[0];
|
|
101
|
-
const result = new Uint8Array(totalLength);
|
|
102
|
-
let offset = 0;
|
|
103
|
-
for (const chunk of chunks) {
|
|
104
|
-
result.set(chunk, offset);
|
|
105
|
-
offset += chunk.byteLength;
|
|
106
|
-
}
|
|
107
|
-
return result;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* @ru Декомпрессирует буфер с использованием node:zlib.
|
|
111
|
-
* Поддерживает gzip, deflate и brotli.
|
|
112
|
-
* @en Decompresses a buffer using node:zlib.
|
|
113
|
-
* Supports gzip, deflate, and brotli.
|
|
114
|
-
* @param input - The compressed Uint8Array.
|
|
115
|
-
* @param encoding - The compression encoding.
|
|
116
|
-
* @returns The decompressed Uint8Array.
|
|
117
|
-
*/
|
|
118
|
-
async function decompressOnceNode(input, encoding) {
|
|
119
|
-
const enc = encoding.trim().toLowerCase();
|
|
120
|
-
const zlib = await runtimeImport("node:zlib");
|
|
121
|
-
const buffer = Buffer.from(input.buffer, input.byteOffset, input.byteLength);
|
|
122
|
-
switch (enc) {
|
|
123
|
-
case "gzip":
|
|
124
|
-
case "x-gzip":
|
|
125
|
-
return new Uint8Array(zlib.gunzipSync(buffer));
|
|
126
|
-
case "deflate":
|
|
127
|
-
return new Uint8Array(zlib.inflateSync(buffer));
|
|
128
|
-
case "br":
|
|
129
|
-
return new Uint8Array(zlib.brotliDecompressSync(buffer));
|
|
130
|
-
default:
|
|
131
|
-
return input;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* @ru Декомпрессирует буфер с поддержкой множественных кодировок.
|
|
136
|
-
* Сначала пытается Web API, затем fallback на node:zlib для серверных сред.
|
|
137
|
-
* @en Decompresses a buffer with support for multiple encodings.
|
|
138
|
-
* Tries Web API first, then falls back to node:zlib for server environments.
|
|
139
|
-
* @param body - The compressed Uint8Array.
|
|
140
|
-
* @param encoding - The Content-Encoding header value (e.g., 'gzip, br').
|
|
141
|
-
* @returns The decompressed buffer with dump() method attached.
|
|
142
|
-
*/
|
|
143
|
-
export async function decompressBuffer(body, encoding) {
|
|
144
|
-
let current = body;
|
|
145
|
-
const encodings = parseEncodings(encoding);
|
|
146
|
-
for (let i = 0; i < encodings.length; i++) {
|
|
147
|
-
const enc = encodings[i];
|
|
148
|
-
const webResult = await decompressOnceWeb(current, enc);
|
|
149
|
-
if (webResult !== current) {
|
|
150
|
-
current = webResult;
|
|
151
|
-
continue;
|
|
152
|
-
}
|
|
153
|
-
if (IS_SERVER && (enc === "br" || enc === "gzip" || enc === "deflate" || enc === "x-gzip")) {
|
|
154
|
-
try {
|
|
155
|
-
current = await decompressOnceNode(current, enc);
|
|
156
|
-
}
|
|
157
|
-
catch {
|
|
158
|
-
continue;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
return attachNoopDump(current);
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* @ru Создаёт декомпрессированный стрим с поддержкой множественных кодировок.
|
|
166
|
-
* Использует DecompressionStream для Web и node:zlib для Node.js.
|
|
167
|
-
* @en Creates a decompressed stream with support for multiple encodings.
|
|
168
|
-
* Uses DecompressionStream for Web and node:zlib for Node.js.
|
|
169
|
-
* @param body - The compressed ReadableStream.
|
|
170
|
-
* @param encoding - The Content-Encoding header value (e.g., 'gzip, br').
|
|
171
|
-
* @returns The decompressed stream with dump() method attached.
|
|
172
|
-
*/
|
|
173
|
-
export async function createDecompressStream(body, encoding) {
|
|
174
|
-
const encodings = parseEncodings(encoding);
|
|
175
|
-
if (encodings.length === 0)
|
|
176
|
-
return attachStreamDump(body);
|
|
177
|
-
let current = body;
|
|
178
|
-
for (let i = 0; i < encodings.length; i++) {
|
|
179
|
-
const enc = encodings[i];
|
|
180
|
-
const isGzip = enc === "gzip" || enc === "x-gzip";
|
|
181
|
-
const isDeflate = enc === "deflate";
|
|
182
|
-
const isBrotli = enc === "br";
|
|
183
|
-
if ((isGzip || isDeflate) && typeof globalThis.DecompressionStream !== "undefined") {
|
|
184
|
-
const format = isGzip ? "gzip" : "deflate";
|
|
185
|
-
current = current.pipeThrough(new globalThis.DecompressionStream(format));
|
|
186
|
-
}
|
|
187
|
-
else if (IS_SERVER) {
|
|
188
|
-
try {
|
|
189
|
-
const { Readable } = await runtimeImport("node:stream");
|
|
190
|
-
const zlib = await runtimeImport("node:zlib");
|
|
191
|
-
const nodeReadableStream = Readable.fromWeb(current);
|
|
192
|
-
let transformer = nodeReadableStream;
|
|
193
|
-
if (isGzip)
|
|
194
|
-
transformer = nodeReadableStream.pipe(zlib.createGunzip());
|
|
195
|
-
else if (isDeflate)
|
|
196
|
-
transformer = nodeReadableStream.pipe(zlib.createInflate());
|
|
197
|
-
else if (isBrotli)
|
|
198
|
-
transformer = nodeReadableStream.pipe(zlib.createBrotliDecompress());
|
|
199
|
-
current = Readable.toWeb(transformer);
|
|
200
|
-
}
|
|
201
|
-
catch {
|
|
202
|
-
continue;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
return attachStreamDump(current);
|
|
207
|
-
}
|
|
208
|
-
//# sourceMappingURL=decompress.js.map
|
package/utils/decompress.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decompress.js","sourceRoot":"","sources":["../../src/utils/decompress.ts"],"names":[],"mappings":"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"}
|