@hyperttp/core 1.2.6 → 1.3.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/Core/HyperCore.d.ts +145 -23
- package/Core/HyperCore.d.ts.map +1 -1
- package/Core/HyperCore.js +325 -231
- package/Core/HyperCore.js.map +1 -1
- package/package.json +6 -3
- package/transports/manager.d.ts +102 -0
- package/transports/manager.d.ts.map +1 -0
- package/transports/manager.js +293 -0
- package/transports/manager.js.map +1 -0
- package/transports/node.d.ts +40 -10
- package/transports/node.d.ts.map +1 -1
- package/transports/node.js +106 -325
- package/transports/node.js.map +1 -1
- package/utils/decompress.d.ts +29 -0
- package/utils/decompress.d.ts.map +1 -0
- package/utils/decompress.js +117 -0
- package/utils/decompress.js.map +1 -0
- package/utils/normalize.d.ts +28 -1
- package/utils/normalize.d.ts.map +1 -1
- package/utils/normalize.js +173 -61
- package/utils/normalize.js.map +1 -1
- package/utils/pipeline.d.ts +51 -10
- package/utils/pipeline.d.ts.map +1 -1
- package/utils/pipeline.js +126 -21
- package/utils/pipeline.js.map +1 -1
- package/utils/response.d.ts +0 -3
- package/utils/response.d.ts.map +1 -1
- package/utils/response.js +0 -3
- package/utils/response.js.map +1 -1
- package/utils/retryUtils.d.ts +20 -0
- package/utils/retryUtils.d.ts.map +1 -1
- package/utils/retryUtils.js +24 -0
- package/utils/retryUtils.js.map +1 -1
package/transports/node.js
CHANGED
|
@@ -1,171 +1,21 @@
|
|
|
1
1
|
import http from "node:http";
|
|
2
2
|
import https from "node:https";
|
|
3
|
-
import zlib from "node:zlib";
|
|
4
3
|
import { Readable } from "node:stream";
|
|
5
4
|
import { ReadableStream } from "node:stream/web";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"ETIMEDOUT",
|
|
11
|
-
"ECONNRESET",
|
|
12
|
-
"EPIPE",
|
|
13
|
-
];
|
|
14
|
-
export function isRedirect(status) {
|
|
15
|
-
return REDIRECT_STATUS_CODES.has(status);
|
|
16
|
-
}
|
|
17
|
-
export function shouldRetry(status, retryOptions) {
|
|
18
|
-
const codes = retryOptions.retryStatusCodes;
|
|
19
|
-
if (codes && codes.length > 0) {
|
|
20
|
-
return codes.includes(status);
|
|
21
|
-
}
|
|
22
|
-
return DEFAULT_RETRY_STATUS_CODES.includes(status);
|
|
23
|
-
}
|
|
24
|
-
export function sleep(ms) {
|
|
25
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
26
|
-
}
|
|
27
|
-
export function calcDelay(attempt, retryOptions) {
|
|
28
|
-
const { baseDelay = 1000, maxDelay = 10000, jitter = true } = retryOptions;
|
|
29
|
-
const base = Math.min(baseDelay * Math.pow(2, attempt), maxDelay);
|
|
30
|
-
return jitter ? base * (0.75 + Math.random() * 0.5) : base;
|
|
31
|
-
}
|
|
32
|
-
class NodeTransportResponse {
|
|
33
|
-
status;
|
|
34
|
-
headers;
|
|
35
|
-
url;
|
|
36
|
-
baseUrl;
|
|
37
|
-
_decodedStream;
|
|
38
|
-
_cachedBuffer;
|
|
39
|
-
_cachedText;
|
|
40
|
-
_cachedJson;
|
|
41
|
-
_cachedJsonReady = false;
|
|
42
|
-
_cachedWebStream;
|
|
43
|
-
constructor(status, headers, url, rawStream) {
|
|
44
|
-
this.status = status;
|
|
45
|
-
this.headers = headers;
|
|
46
|
-
this.url = url;
|
|
47
|
-
this.baseUrl = url;
|
|
48
|
-
let stream = rawStream;
|
|
49
|
-
const contentEncoding = headers["content-encoding"];
|
|
50
|
-
if (typeof contentEncoding === "string") {
|
|
51
|
-
const encoding = contentEncoding.toLowerCase();
|
|
52
|
-
if (encoding.includes("gzip")) {
|
|
53
|
-
stream = stream.pipe(zlib.createGunzip());
|
|
54
|
-
}
|
|
55
|
-
else if (encoding.includes("deflate")) {
|
|
56
|
-
stream = stream.pipe(zlib.createInflate());
|
|
57
|
-
}
|
|
58
|
-
else if (encoding.includes("br")) {
|
|
59
|
-
stream = stream.pipe(zlib.createBrotliDecompress());
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
this._decodedStream = stream;
|
|
63
|
-
}
|
|
64
|
-
get body() {
|
|
65
|
-
if (!this._cachedWebStream) {
|
|
66
|
-
let webStream;
|
|
67
|
-
if (this._cachedBuffer) {
|
|
68
|
-
const buf = this._cachedBuffer;
|
|
69
|
-
webStream = new ReadableStream({
|
|
70
|
-
start(controller) {
|
|
71
|
-
controller.enqueue(new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength));
|
|
72
|
-
controller.close();
|
|
73
|
-
},
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
webStream = Readable.toWeb(this._decodedStream);
|
|
78
|
-
}
|
|
79
|
-
Object.defineProperty(webStream, "dump", {
|
|
80
|
-
value: () => this.dump(),
|
|
81
|
-
writable: false,
|
|
82
|
-
enumerable: false,
|
|
83
|
-
configurable: true,
|
|
84
|
-
});
|
|
85
|
-
this._cachedWebStream = webStream;
|
|
86
|
-
}
|
|
87
|
-
return this._cachedWebStream;
|
|
88
|
-
}
|
|
89
|
-
async _getBuffer() {
|
|
90
|
-
if (this._cachedBuffer)
|
|
91
|
-
return this._cachedBuffer;
|
|
92
|
-
if (this._cachedWebStream) {
|
|
93
|
-
const reader = this._cachedWebStream.getReader();
|
|
94
|
-
const chunks = [];
|
|
95
|
-
while (true) {
|
|
96
|
-
const { done, value } = await reader.read();
|
|
97
|
-
if (done)
|
|
98
|
-
break;
|
|
99
|
-
if (value)
|
|
100
|
-
chunks.push(value);
|
|
101
|
-
}
|
|
102
|
-
let totalLength = 0;
|
|
103
|
-
for (const chunk of chunks)
|
|
104
|
-
totalLength += chunk.byteLength;
|
|
105
|
-
const merged = new Uint8Array(totalLength);
|
|
106
|
-
let offset = 0;
|
|
107
|
-
for (const chunk of chunks) {
|
|
108
|
-
merged.set(chunk, offset);
|
|
109
|
-
offset += chunk.byteLength;
|
|
110
|
-
}
|
|
111
|
-
this._cachedBuffer = Buffer.from(merged.buffer, merged.byteOffset, merged.byteLength);
|
|
112
|
-
return this._cachedBuffer;
|
|
113
|
-
}
|
|
114
|
-
return new Promise((resolve, reject) => {
|
|
115
|
-
const chunks = [];
|
|
116
|
-
const onData = (chunk) => {
|
|
117
|
-
chunks.push(chunk);
|
|
118
|
-
};
|
|
119
|
-
const onEnd = () => {
|
|
120
|
-
cleanup();
|
|
121
|
-
this._cachedBuffer = Buffer.concat(chunks);
|
|
122
|
-
resolve(this._cachedBuffer);
|
|
123
|
-
};
|
|
124
|
-
const onError = (err) => {
|
|
125
|
-
cleanup();
|
|
126
|
-
reject(err);
|
|
127
|
-
};
|
|
128
|
-
const cleanup = () => {
|
|
129
|
-
this._decodedStream.removeListener("data", onData);
|
|
130
|
-
this._decodedStream.removeListener("end", onEnd);
|
|
131
|
-
this._decodedStream.removeListener("error", onError);
|
|
132
|
-
};
|
|
133
|
-
this._decodedStream.on("data", onData);
|
|
134
|
-
this._decodedStream.on("end", onEnd);
|
|
135
|
-
this._decodedStream.on("error", onError);
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
async text() {
|
|
139
|
-
if (this._cachedText === undefined) {
|
|
140
|
-
const buf = await this._getBuffer();
|
|
141
|
-
this._cachedText = buf.toString("utf-8");
|
|
142
|
-
}
|
|
143
|
-
return this._cachedText;
|
|
144
|
-
}
|
|
145
|
-
async json() {
|
|
146
|
-
if (this._cachedJsonReady) {
|
|
147
|
-
return this._cachedJson;
|
|
148
|
-
}
|
|
149
|
-
const text = await this.text();
|
|
150
|
-
if (!text.trim()) {
|
|
151
|
-
this._cachedJson = null;
|
|
152
|
-
this._cachedJsonReady = true;
|
|
153
|
-
return null;
|
|
154
|
-
}
|
|
155
|
-
this._cachedJson = JSON.parse(text);
|
|
156
|
-
this._cachedJsonReady = true;
|
|
157
|
-
return this._cachedJson;
|
|
158
|
-
}
|
|
159
|
-
async dump() {
|
|
160
|
-
if (this._cachedBuffer)
|
|
161
|
-
return;
|
|
162
|
-
this._decodedStream.resume();
|
|
163
|
-
}
|
|
164
|
-
}
|
|
5
|
+
/**
|
|
6
|
+
* @ru Реализация HTTP-транспорта на основе встроенных модулей Node.js (http/https). Поддерживает keep-alive, пулы соединений, автоматический Content-Length, обработку abort-сигналов.
|
|
7
|
+
* @en HTTP transport implementation based on Node.js built-in modules (http/https). Supports keep-alive, connection pools, automatic Content-Length, and abort signal handling.
|
|
8
|
+
*/
|
|
165
9
|
export class NodeTransport {
|
|
10
|
+
/** @ru Конфигурация транспорта. @en Transport configuration. */
|
|
166
11
|
config;
|
|
167
12
|
httpAgent;
|
|
168
13
|
httpsAgent;
|
|
14
|
+
/**
|
|
15
|
+
* @ru Создаёт экземпляр NodeTransport.
|
|
16
|
+
* @en Creates a NodeTransport instance.
|
|
17
|
+
* @param config - Transport configuration.
|
|
18
|
+
*/
|
|
169
19
|
constructor(config) {
|
|
170
20
|
this.config = config;
|
|
171
21
|
const agentOptions = {
|
|
@@ -178,213 +28,144 @@ export class NodeTransport {
|
|
|
178
28
|
this.httpAgent = new http.Agent(agentOptions);
|
|
179
29
|
this.httpsAgent = new https.Agent(agentOptions);
|
|
180
30
|
}
|
|
181
|
-
get
|
|
182
|
-
return this.config.
|
|
183
|
-
}
|
|
184
|
-
logRetry(reason, attempt, maxRetries) {
|
|
185
|
-
this.config.logger?.("warn", `Retrying request: ${reason}. Attempt ${attempt}/${maxRetries}`);
|
|
31
|
+
get baseUrl() {
|
|
32
|
+
return this.config.baseUrl ?? "http://localhost:3000";
|
|
186
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* @ru Выполняет HTTP-запрос.
|
|
36
|
+
* @en Executes an HTTP request.
|
|
37
|
+
* @param req - Request parameters (url, method, headers, body, signal).
|
|
38
|
+
* @returns Promise with the transport response.
|
|
39
|
+
* @throws If the request is aborted (AbortError).
|
|
40
|
+
* @throws If localhost URL is used in production environment.
|
|
41
|
+
* @throws On network or protocol errors.
|
|
42
|
+
*/
|
|
187
43
|
async execute(req) {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
timeoutMs: this.timeout,
|
|
207
|
-
});
|
|
208
|
-
if ((this.config.network?.followRedirects ?? true) &&
|
|
209
|
-
isRedirect(result.status)) {
|
|
210
|
-
result.body.resume();
|
|
211
|
-
if (redirects >= maxRedirects) {
|
|
212
|
-
throw new Error("Too many redirects");
|
|
213
|
-
}
|
|
214
|
-
const location = result.headers["location"];
|
|
215
|
-
const locationStr = Array.isArray(location) ? location[0] : location;
|
|
216
|
-
if (typeof locationStr !== "string") {
|
|
217
|
-
throw new Error("Invalid redirect location");
|
|
218
|
-
}
|
|
219
|
-
const nextUrl = new URL(locationStr, fullUrl.toString()).toString();
|
|
220
|
-
let nextMethod = currentMethod;
|
|
221
|
-
if (result.status === 303 ||
|
|
222
|
-
((result.status === 301 || result.status === 302) &&
|
|
223
|
-
currentMethod === "POST")) {
|
|
224
|
-
nextMethod = "GET";
|
|
225
|
-
}
|
|
226
|
-
currentUrl = nextUrl;
|
|
227
|
-
currentMethod = nextMethod;
|
|
228
|
-
currentBody =
|
|
229
|
-
nextMethod === "GET" || isStreamBody ? undefined : currentBody;
|
|
230
|
-
const nextHeaders = { ...currentHeaders };
|
|
231
|
-
if (nextMethod === "GET") {
|
|
232
|
-
delete nextHeaders["content-type"];
|
|
233
|
-
delete nextHeaders["content-length"];
|
|
234
|
-
}
|
|
235
|
-
currentHeaders = nextHeaders;
|
|
236
|
-
redirects += 1;
|
|
237
|
-
continue;
|
|
238
|
-
}
|
|
239
|
-
if (!isStreamBody &&
|
|
240
|
-
shouldRetry(result.status, this.config.retry ?? {})) {
|
|
241
|
-
if (attempt < maxRetries) {
|
|
242
|
-
result.body.resume();
|
|
243
|
-
await sleep(calcDelay(attempt, this.config.retry ?? {}));
|
|
244
|
-
attempt += 1;
|
|
245
|
-
continue;
|
|
246
|
-
}
|
|
44
|
+
const fullUrl = new URL(req.url, this.baseUrl);
|
|
45
|
+
if (process.env.NODE_ENV === "production" &&
|
|
46
|
+
fullUrl.hostname === "localhost") {
|
|
47
|
+
throw new Error("Localhost URL detected in production environment");
|
|
48
|
+
}
|
|
49
|
+
if (req.signal?.aborted) {
|
|
50
|
+
const abortError = req.signal.reason || new Error("The operation was aborted.");
|
|
51
|
+
if (abortError instanceof Error && !abortError.name)
|
|
52
|
+
abortError.name = "AbortError";
|
|
53
|
+
throw abortError;
|
|
54
|
+
}
|
|
55
|
+
const headers = { ...req.headers };
|
|
56
|
+
const hasHeader = (name) => Object.keys(headers).some((k) => k.toLowerCase() === name.toLowerCase());
|
|
57
|
+
let finalBody = req.body;
|
|
58
|
+
if (finalBody !== undefined && finalBody !== null) {
|
|
59
|
+
if (Buffer.isBuffer(finalBody)) {
|
|
60
|
+
if (!hasHeader("content-length")) {
|
|
61
|
+
headers["Content-Length"] = String(finalBody.byteLength);
|
|
247
62
|
}
|
|
248
|
-
return new NodeTransportResponse(result.status, result.headers, fullUrl.toString(), result.body);
|
|
249
63
|
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
if (req.signal?.aborted) {
|
|
254
|
-
throw error;
|
|
255
|
-
}
|
|
256
|
-
const msg = `Request timeout after ${this.timeout}ms`;
|
|
257
|
-
this.config.logger?.("error", msg);
|
|
258
|
-
const timeoutErr = new Error(msg);
|
|
259
|
-
timeoutErr.name = "AbortError";
|
|
260
|
-
timeoutErr.code = "TIMEOUT";
|
|
261
|
-
timeoutErr.request = {
|
|
262
|
-
url: req.url,
|
|
263
|
-
method: req.method,
|
|
264
|
-
headers: req.headers,
|
|
265
|
-
};
|
|
266
|
-
timeoutErr.meta = {
|
|
267
|
-
retryCount: attempt - 1,
|
|
268
|
-
isRetryable: false,
|
|
269
|
-
duration: Date.now() - startTime,
|
|
270
|
-
};
|
|
271
|
-
throw timeoutErr;
|
|
64
|
+
else if (typeof finalBody === "string") {
|
|
65
|
+
if (!hasHeader("content-length")) {
|
|
66
|
+
headers["Content-Length"] = String(Buffer.byteLength(finalBody, "utf-8"));
|
|
272
67
|
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
await sleep(calcDelay(attempt, this.config.retry ?? {}));
|
|
279
|
-
attempt += 1;
|
|
280
|
-
continue;
|
|
68
|
+
}
|
|
69
|
+
else if (!(finalBody instanceof ReadableStream)) {
|
|
70
|
+
finalBody = JSON.stringify(finalBody);
|
|
71
|
+
if (!hasHeader("content-length")) {
|
|
72
|
+
headers["Content-Length"] = String(Buffer.byteLength(finalBody, "utf-8"));
|
|
281
73
|
}
|
|
282
|
-
error.code = error.code ?? "NETWORK_ERROR";
|
|
283
|
-
error.request = {
|
|
284
|
-
url: req.url,
|
|
285
|
-
method: req.method,
|
|
286
|
-
headers: req.headers,
|
|
287
|
-
};
|
|
288
|
-
error.meta = {
|
|
289
|
-
retryCount: attempt - 1,
|
|
290
|
-
isRetryable: false,
|
|
291
|
-
duration: Date.now() - startTime,
|
|
292
|
-
};
|
|
293
|
-
throw error;
|
|
294
74
|
}
|
|
295
75
|
}
|
|
296
|
-
}
|
|
297
|
-
dispatchOnce(url, options) {
|
|
298
76
|
return new Promise((resolve, reject) => {
|
|
299
|
-
const isHttps =
|
|
77
|
+
const isHttps = fullUrl.protocol === "https:";
|
|
300
78
|
const requestFn = isHttps ? https.request : http.request;
|
|
301
79
|
const agent = isHttps ? this.httpsAgent : this.httpAgent;
|
|
302
80
|
let isDone = false;
|
|
303
|
-
let
|
|
81
|
+
let nodeResInstance = null;
|
|
304
82
|
const reqOptions = {
|
|
305
|
-
method:
|
|
306
|
-
headers:
|
|
83
|
+
method: req.method,
|
|
84
|
+
headers: headers,
|
|
307
85
|
agent,
|
|
308
86
|
};
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
87
|
+
const nodeReq = requestFn(fullUrl, reqOptions, (nodeRes) => {
|
|
88
|
+
nodeResInstance = nodeRes;
|
|
89
|
+
nodeRes.on("end", () => {
|
|
90
|
+
isDone = true;
|
|
91
|
+
cleanupSignal();
|
|
92
|
+
});
|
|
93
|
+
nodeRes.on("close", () => {
|
|
94
|
+
isDone = true;
|
|
95
|
+
cleanupSignal();
|
|
96
|
+
});
|
|
97
|
+
const webStream = Readable.toWeb(nodeRes);
|
|
98
|
+
const dump = async () => {
|
|
99
|
+
isDone = true;
|
|
100
|
+
cleanupSignal();
|
|
101
|
+
nodeRes.destroy();
|
|
102
|
+
};
|
|
103
|
+
const bodyPayload = Object.assign(webStream, {
|
|
104
|
+
dump,
|
|
105
|
+
});
|
|
319
106
|
resolve({
|
|
320
|
-
status:
|
|
321
|
-
headers:
|
|
322
|
-
|
|
107
|
+
status: nodeRes.statusCode ?? 200,
|
|
108
|
+
headers: nodeRes.headers,
|
|
109
|
+
url: fullUrl.toString(),
|
|
110
|
+
body: bodyPayload,
|
|
323
111
|
});
|
|
324
112
|
});
|
|
325
|
-
|
|
326
|
-
|
|
113
|
+
let onAbort;
|
|
114
|
+
if (req.signal) {
|
|
115
|
+
onAbort = () => {
|
|
327
116
|
if (isDone)
|
|
328
117
|
return;
|
|
329
118
|
isDone = true;
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
let onExternalAbort;
|
|
338
|
-
if (options.externalSignal) {
|
|
339
|
-
onExternalAbort = () => {
|
|
340
|
-
if (isDone)
|
|
341
|
-
return;
|
|
342
|
-
isDone = true;
|
|
343
|
-
if (timer)
|
|
344
|
-
clearTimeout(timer);
|
|
345
|
-
req.destroy();
|
|
346
|
-
const err = new Error("The operation was aborted.");
|
|
347
|
-
err.name = "AbortError";
|
|
119
|
+
nodeReq.destroy();
|
|
120
|
+
if (nodeResInstance) {
|
|
121
|
+
nodeResInstance.destroy();
|
|
122
|
+
}
|
|
123
|
+
const err = req.signal?.reason || new Error("The operation was aborted.");
|
|
124
|
+
if (err instanceof Error && !err.name)
|
|
125
|
+
err.name = "AbortError";
|
|
348
126
|
reject(err);
|
|
349
127
|
};
|
|
350
|
-
|
|
351
|
-
once: true,
|
|
352
|
-
});
|
|
128
|
+
req.signal.addEventListener("abort", onAbort, { once: true });
|
|
353
129
|
}
|
|
354
|
-
function
|
|
355
|
-
if (
|
|
356
|
-
|
|
130
|
+
function cleanupSignal() {
|
|
131
|
+
if (req.signal && onAbort) {
|
|
132
|
+
req.signal.removeEventListener("abort", onAbort);
|
|
357
133
|
}
|
|
358
134
|
}
|
|
359
|
-
|
|
135
|
+
nodeReq.on("error", (err) => {
|
|
360
136
|
if (isDone)
|
|
361
137
|
return;
|
|
362
138
|
isDone = true;
|
|
363
|
-
|
|
364
|
-
clearTimeout(timer);
|
|
365
|
-
cleanupExternalSignal();
|
|
139
|
+
cleanupSignal();
|
|
366
140
|
reject(err);
|
|
367
141
|
});
|
|
368
|
-
if (
|
|
369
|
-
if (Buffer.isBuffer(
|
|
370
|
-
|
|
371
|
-
}
|
|
372
|
-
else if (options.body instanceof ReadableStream) {
|
|
373
|
-
Readable.fromWeb(options.body).pipe(req);
|
|
142
|
+
if (finalBody !== undefined && finalBody !== null) {
|
|
143
|
+
if (Buffer.isBuffer(finalBody) || typeof finalBody === "string") {
|
|
144
|
+
nodeReq.end(finalBody);
|
|
374
145
|
}
|
|
375
|
-
else {
|
|
376
|
-
|
|
146
|
+
else if (finalBody instanceof ReadableStream) {
|
|
147
|
+
Readable.fromWeb(finalBody).pipe(nodeReq);
|
|
377
148
|
}
|
|
378
149
|
}
|
|
379
150
|
else {
|
|
380
|
-
|
|
151
|
+
nodeReq.end();
|
|
381
152
|
}
|
|
382
153
|
});
|
|
383
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* @ru Закрывает все активные соединения (graceful shutdown). Уничтожает HTTP/HTTPS агенты.
|
|
157
|
+
* @en Closes all active connections (graceful shutdown). Destroys HTTP/HTTPS agents.
|
|
158
|
+
* @returns Promise that resolves after closing.
|
|
159
|
+
*/
|
|
384
160
|
async close() {
|
|
385
161
|
this.httpAgent.destroy();
|
|
386
162
|
this.httpsAgent.destroy();
|
|
387
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* @ru Принудительно уничтожает транспорт (аналог close).
|
|
166
|
+
* @en Forcefully destroys the transport (alias for close).
|
|
167
|
+
* @returns Promise that resolves after destruction.
|
|
168
|
+
*/
|
|
388
169
|
async destroy() {
|
|
389
170
|
await this.close();
|
|
390
171
|
}
|
package/transports/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/transports/node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/transports/node.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAiBjD;;;GAGG;AACH,MAAM,OAAO,aAAa;IACxB,gEAAgE;IACzD,MAAM,CAAsB;IAClB,SAAS,CAAa;IACtB,UAAU,CAAc;IAEzC;;;;OAIG;IACH,YAAY,MAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,YAAY,GAAsB;YACtC,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,gBAAgB,IAAI,KAAK;YACzD,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,aAAa,IAAI,GAAG;YAChD,cAAc,EAAE,IAAI,CAAC,GAAG,CACtB,GAAG,EACH,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CACvD;YACD,UAAU,EAAE,MAAM;SACnB,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC;IAED,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,uBAAuB,CAAC;IACxD,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,OAAO,CAAC,GAAqB;QACxC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/C,IACE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;YACrC,OAAO,CAAC,QAAQ,KAAK,WAAW,EAChC,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACxB,MAAM,UAAU,GACd,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC/D,IAAI,UAAU,YAAY,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI;gBACjD,UAAU,CAAC,IAAI,GAAG,YAAY,CAAC;YACjC,MAAM,UAAU,CAAC;QACnB,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAuC,CAAC;QAExE,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CACjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAE3E,IAAI,SAAS,GAAQ,GAAG,CAAC,IAAI,CAAC;QAE9B,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAClD,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACzC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAChC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CACtC,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,CAAC,SAAS,YAAY,cAAc,CAAC,EAAE,CAAC;gBAClD,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAChC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CACtC,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;YAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YACzD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YAEzD,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI,eAAe,GAAgC,IAAI,CAAC;YAExD,MAAM,UAAU,GAAwB;gBACtC,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,OAAmC;gBAC5C,KAAK;aACN,CAAC;YAEF,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;gBACzD,eAAe,GAAG,OAAO,CAAC;gBAE1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACrB,MAAM,GAAG,IAAI,CAAC;oBACd,aAAa,EAAE,CAAC;gBAClB,CAAC,CAAC,CAAC;gBAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACvB,MAAM,GAAG,IAAI,CAAC;oBACd,aAAa,EAAE,CAAC;gBAClB,CAAC,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAA+B,CAAC;gBAExE,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;oBACrC,MAAM,GAAG,IAAI,CAAC;oBACd,aAAa,EAAE,CAAC;oBAChB,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,CAAC,CAAC;gBAEF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE;oBAC3C,IAAI;iBACL,CAAwC,CAAC;gBAE1C,OAAO,CAAC;oBACN,MAAM,EAAE,OAAO,CAAC,UAAU,IAAI,GAAG;oBACjC,OAAO,EAAE,OAAO,CAAC,OAA4C;oBAC7D,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE;oBACvB,IAAI,EAAE,WAAW;iBAClB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,OAAiC,CAAC;YACtC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,OAAO,GAAG,GAAG,EAAE;oBACb,IAAI,MAAM;wBAAE,OAAO;oBACnB,MAAM,GAAG,IAAI,CAAC;oBAEd,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClB,IAAI,eAAe,EAAE,CAAC;wBACpB,eAAe,CAAC,OAAO,EAAE,CAAC;oBAC5B,CAAC;oBAED,MAAM,GAAG,GACP,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;oBAChE,IAAI,GAAG,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI;wBAAE,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC;oBAC/D,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC,CAAC;gBACF,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAChE,CAAC;YAED,SAAS,aAAa;gBACpB,IAAI,GAAG,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC1B,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YAED,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;gBACjC,IAAI,MAAM;oBAAE,OAAO;gBACnB,MAAM,GAAG,IAAI,CAAC;gBACd,aAAa,EAAE,CAAC;gBAChB,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBAClD,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;oBAChE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACzB,CAAC;qBAAM,IAAI,SAAS,YAAY,cAAc,EAAE,CAAC;oBAC/C,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAK;QAChB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO;QAClB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { TransportStreamExtensions } from "@hyperttp/types";
|
|
2
|
+
/**
|
|
3
|
+
* @ru Тип потока с расширениями транспорта (метод dump).
|
|
4
|
+
* @en Stream type with transport extensions (dump method).
|
|
5
|
+
*/
|
|
6
|
+
type StreamPayload = ReadableStream<Uint8Array> & TransportStreamExtensions;
|
|
7
|
+
/**
|
|
8
|
+
* @ru Тип буфера с расширениями транспорта (метод dump).
|
|
9
|
+
* @en Buffer type with transport extensions (dump method).
|
|
10
|
+
*/
|
|
11
|
+
type BufferPayload = Uint8Array & TransportStreamExtensions;
|
|
12
|
+
/**
|
|
13
|
+
* @ru Декомпрессирует буфер, последовательно применяя все кодировки из Content-Encoding.
|
|
14
|
+
* @en Decompresses a buffer by sequentially applying all encodings from Content-Encoding.
|
|
15
|
+
* @param body - Compressed buffer (Uint8Array).
|
|
16
|
+
* @param encoding - Content-Encoding header value (e.g., 'gzip, deflate').
|
|
17
|
+
* @returns Decompressed buffer with a no-op dump method.
|
|
18
|
+
*/
|
|
19
|
+
export declare function decompressBuffer(body: Uint8Array, encoding: string): BufferPayload;
|
|
20
|
+
/**
|
|
21
|
+
* @ru Создаёт декомпрессирующий поток для тела ответа, поддерживая цепочку кодировок. Использует DecompressionStream (если доступен) или Node.js zlib.
|
|
22
|
+
* @en Creates a decompressing stream for the response body, supporting chained encodings. Uses DecompressionStream (if available) or Node.js zlib.
|
|
23
|
+
* @param body - Source compressed stream.
|
|
24
|
+
* @param encoding - Content-Encoding header value.
|
|
25
|
+
* @returns Transformed stream with a dump method that cancels the stream.
|
|
26
|
+
*/
|
|
27
|
+
export declare function createDecompressStream(body: ReadableStream<Uint8Array>, encoding: string): StreamPayload;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=decompress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../../src/utils/decompress.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAEjE;;;GAGG;AACH,KAAK,aAAa,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,yBAAyB,CAAC;AAE5E;;;GAGG;AACH,KAAK,aAAa,GAAG,UAAU,GAAG,yBAAyB,CAAC;AAuE5D;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,MAAM,GACf,aAAa,CAQf;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,EAChC,QAAQ,EAAE,MAAM,GACf,aAAa,CA0Df"}
|