@hyperttp/core 1.2.0 → 1.2.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 +13 -161
- package/Core/HyperCore.d.ts.map +1 -1
- package/Core/HyperCore.js +162 -272
- package/Core/HyperCore.js.map +1 -1
- package/package.json +3 -4
- package/transports/node.d.ts +1 -8
- package/transports/node.d.ts.map +1 -1
- package/transports/node.js +232 -113
- package/transports/node.js.map +1 -1
- package/utils/normalize.d.ts +6 -0
- package/utils/normalize.d.ts.map +1 -0
- package/utils/normalize.js +96 -0
- package/utils/normalize.js.map +1 -0
- package/utils/pipeline.d.ts +42 -0
- package/utils/pipeline.d.ts.map +1 -0
- package/utils/pipeline.js +86 -0
- package/utils/pipeline.js.map +1 -0
- package/utils/response.d.ts +4 -0
- package/utils/response.d.ts.map +1 -1
- package/utils/response.js +7 -0
- package/utils/response.js.map +1 -1
package/transports/node.d.ts
CHANGED
|
@@ -1,22 +1,15 @@
|
|
|
1
1
|
import type { HttpClientOptions, HyperTransport, RetryOptions, TransportRequest, TransportResponse } from "@hyperttp/types";
|
|
2
2
|
export declare function isRedirect(status: number): boolean;
|
|
3
|
-
export declare function combineSignal(signal: AbortSignal | undefined, timeoutMs: number): {
|
|
4
|
-
signal?: AbortSignal;
|
|
5
|
-
cancelTimer: () => void;
|
|
6
|
-
isTimeoutAbort: () => boolean;
|
|
7
|
-
};
|
|
8
3
|
export declare function shouldRetry(status: number, retryOptions: RetryOptions): boolean;
|
|
9
4
|
export declare function sleep(ms: number): Promise<void>;
|
|
10
5
|
export declare function calcDelay(attempt: number, retryOptions: RetryOptions): number;
|
|
11
|
-
/**
|
|
12
|
-
* @ru Высокопроизводительный транспорт на базе классических модулей http/https Node.js.
|
|
13
|
-
*/
|
|
14
6
|
export declare class NodeTransport implements HyperTransport {
|
|
15
7
|
config: HttpClientOptions;
|
|
16
8
|
private readonly httpAgent;
|
|
17
9
|
private readonly httpsAgent;
|
|
18
10
|
constructor(config: HttpClientOptions);
|
|
19
11
|
private get timeout();
|
|
12
|
+
private logRetry;
|
|
20
13
|
execute(req: TransportRequest): Promise<TransportResponse>;
|
|
21
14
|
private dispatchOnce;
|
|
22
15
|
close(): Promise<void>;
|
package/transports/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/transports/node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/transports/node.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EAEd,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,iBAAiB,CAAC;AAWzB,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,GACzB,OAAO,CAMT;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,MAAM,CAI7E;AAgKD,qBAAa,aAAc,YAAW,cAAc;IAC3C,MAAM,EAAE,iBAAiB,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;gBAE7B,MAAM,EAAE,iBAAiB;IAkBrC,OAAO,KAAK,OAAO,GAElB;IAED,OAAO,CAAC,QAAQ;IAOH,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkJvE,OAAO,CAAC,YAAY;IAsGP,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGtC"}
|
package/transports/node.js
CHANGED
|
@@ -1,41 +1,19 @@
|
|
|
1
1
|
import http from "node:http";
|
|
2
2
|
import https from "node:https";
|
|
3
|
+
import zlib from "node:zlib";
|
|
3
4
|
import { Readable } from "node:stream";
|
|
5
|
+
import { ReadableStream } from "node:stream/web";
|
|
4
6
|
const REDIRECT_STATUS_CODES = new Set([301, 302, 303, 307, 308]);
|
|
5
7
|
const DEFAULT_RETRY_STATUS_CODES = [502, 503, 504];
|
|
8
|
+
const RETRYABLE_NETWORK_CODES = [
|
|
9
|
+
"ECONNREFUSED",
|
|
10
|
+
"ETIMEDOUT",
|
|
11
|
+
"ECONNRESET",
|
|
12
|
+
"EPIPE",
|
|
13
|
+
];
|
|
6
14
|
export function isRedirect(status) {
|
|
7
15
|
return REDIRECT_STATUS_CODES.has(status);
|
|
8
16
|
}
|
|
9
|
-
export function combineSignal(signal, timeoutMs) {
|
|
10
|
-
if (timeoutMs <= 0) {
|
|
11
|
-
return {
|
|
12
|
-
signal,
|
|
13
|
-
cancelTimer: () => { },
|
|
14
|
-
isTimeoutAbort: () => false,
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
const timeoutController = new AbortController();
|
|
18
|
-
const timer = setTimeout(() => timeoutController.abort(), timeoutMs);
|
|
19
|
-
let combinedSignal;
|
|
20
|
-
if (signal) {
|
|
21
|
-
if (typeof AbortSignal.any === "function") {
|
|
22
|
-
combinedSignal = AbortSignal.any([signal, timeoutController.signal]);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
const onAbort = () => timeoutController.abort();
|
|
26
|
-
signal.addEventListener("abort", onAbort, { once: true });
|
|
27
|
-
combinedSignal = timeoutController.signal;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
combinedSignal = timeoutController.signal;
|
|
32
|
-
}
|
|
33
|
-
return {
|
|
34
|
-
signal: combinedSignal,
|
|
35
|
-
cancelTimer: () => clearTimeout(timer),
|
|
36
|
-
isTimeoutAbort: () => timeoutController.signal.aborted,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
17
|
export function shouldRetry(status, retryOptions) {
|
|
40
18
|
const codes = retryOptions.retryStatusCodes;
|
|
41
19
|
if (codes && codes.length > 0) {
|
|
@@ -48,40 +26,119 @@ export function sleep(ms) {
|
|
|
48
26
|
}
|
|
49
27
|
export function calcDelay(attempt, retryOptions) {
|
|
50
28
|
const { baseDelay = 1000, maxDelay = 10000, jitter = true } = retryOptions;
|
|
51
|
-
const base = Math.min(baseDelay * 2
|
|
29
|
+
const base = Math.min(baseDelay * Math.pow(2, attempt), maxDelay);
|
|
52
30
|
return jitter ? base * (0.75 + Math.random() * 0.5) : base;
|
|
53
31
|
}
|
|
54
|
-
/**
|
|
55
|
-
* @ru Реализация ответа для стандартного Node.js транспорта.
|
|
56
|
-
*/
|
|
57
32
|
class NodeTransportResponse {
|
|
58
33
|
status;
|
|
59
34
|
headers;
|
|
60
35
|
url;
|
|
61
|
-
body;
|
|
62
36
|
baseUrl;
|
|
63
|
-
|
|
37
|
+
_decodedStream;
|
|
38
|
+
_cachedBuffer;
|
|
64
39
|
_cachedText;
|
|
65
40
|
_cachedJson;
|
|
66
41
|
_cachedJsonReady = false;
|
|
67
|
-
|
|
42
|
+
_cachedWebStream;
|
|
43
|
+
constructor(status, headers, url, rawStream) {
|
|
68
44
|
this.status = status;
|
|
69
45
|
this.headers = headers;
|
|
70
46
|
this.url = url;
|
|
71
|
-
this._rawBody = rawBody;
|
|
72
47
|
this.baseUrl = url;
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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);
|
|
79
136
|
});
|
|
80
|
-
this.body = stream;
|
|
81
137
|
}
|
|
82
138
|
async text() {
|
|
83
139
|
if (this._cachedText === undefined) {
|
|
84
|
-
|
|
140
|
+
const buf = await this._getBuffer();
|
|
141
|
+
this._cachedText = buf.toString("utf-8");
|
|
85
142
|
}
|
|
86
143
|
return this._cachedText;
|
|
87
144
|
}
|
|
@@ -99,10 +156,12 @@ class NodeTransportResponse {
|
|
|
99
156
|
this._cachedJsonReady = true;
|
|
100
157
|
return this._cachedJson;
|
|
101
158
|
}
|
|
159
|
+
async dump() {
|
|
160
|
+
if (this._cachedBuffer)
|
|
161
|
+
return;
|
|
162
|
+
this._decodedStream.resume();
|
|
163
|
+
}
|
|
102
164
|
}
|
|
103
|
-
/**
|
|
104
|
-
* @ru Высокопроизводительный транспорт на базе классических модулей http/https Node.js.
|
|
105
|
-
*/
|
|
106
165
|
export class NodeTransport {
|
|
107
166
|
config;
|
|
108
167
|
httpAgent;
|
|
@@ -122,57 +181,65 @@ export class NodeTransport {
|
|
|
122
181
|
get timeout() {
|
|
123
182
|
return this.config.network?.timeout ?? 30000;
|
|
124
183
|
}
|
|
184
|
+
logRetry(reason, attempt, maxRetries) {
|
|
185
|
+
this.config.logger?.("warn", `Retrying request: ${reason}. Attempt ${attempt}/${maxRetries}`);
|
|
186
|
+
}
|
|
125
187
|
async execute(req) {
|
|
126
188
|
let currentUrl = req.url;
|
|
127
189
|
let currentMethod = req.method;
|
|
128
190
|
let currentHeaders = { ...req.headers };
|
|
129
191
|
let currentBody = req.body;
|
|
130
192
|
let redirects = 0;
|
|
131
|
-
|
|
193
|
+
const startTime = Date.now();
|
|
194
|
+
let attempt = 1;
|
|
132
195
|
const maxRedirects = this.config.network?.maxRedirects ?? 5;
|
|
133
196
|
const maxRetries = this.config.retry?.maxRetries ?? 3;
|
|
134
|
-
const isStreamBody = currentBody instanceof
|
|
197
|
+
const isStreamBody = currentBody instanceof ReadableStream;
|
|
135
198
|
while (true) {
|
|
136
|
-
const { signal, cancelTimer, isTimeoutAbort } = combineSignal(req.signal, this.timeout);
|
|
137
199
|
try {
|
|
138
200
|
const fullUrl = new URL(currentUrl);
|
|
139
201
|
const result = await this.dispatchOnce(fullUrl, {
|
|
140
202
|
method: currentMethod,
|
|
141
203
|
headers: currentHeaders,
|
|
142
204
|
body: currentBody,
|
|
143
|
-
signal,
|
|
205
|
+
externalSignal: req.signal,
|
|
206
|
+
timeoutMs: this.timeout,
|
|
144
207
|
});
|
|
145
208
|
if ((this.config.network?.followRedirects ?? true) &&
|
|
146
209
|
isRedirect(result.status)) {
|
|
210
|
+
result.body.resume();
|
|
147
211
|
if (redirects >= maxRedirects) {
|
|
148
212
|
throw new Error("Too many redirects");
|
|
149
213
|
}
|
|
150
214
|
const location = result.headers["location"];
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
currentBody =
|
|
162
|
-
nextMethod === "GET" || isStreamBody ? undefined : currentBody;
|
|
163
|
-
const nextHeaders = { ...currentHeaders };
|
|
164
|
-
if (nextMethod === "GET") {
|
|
165
|
-
delete nextHeaders["content-type"];
|
|
166
|
-
delete nextHeaders["content-length"];
|
|
167
|
-
}
|
|
168
|
-
currentHeaders = nextHeaders;
|
|
169
|
-
redirects += 1;
|
|
170
|
-
continue;
|
|
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";
|
|
171
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;
|
|
172
238
|
}
|
|
173
239
|
if (!isStreamBody &&
|
|
174
240
|
shouldRetry(result.status, this.config.retry ?? {})) {
|
|
175
241
|
if (attempt < maxRetries) {
|
|
242
|
+
result.body.resume();
|
|
176
243
|
await sleep(calcDelay(attempt, this.config.retry ?? {}));
|
|
177
244
|
attempt += 1;
|
|
178
245
|
continue;
|
|
@@ -181,33 +248,49 @@ export class NodeTransport {
|
|
|
181
248
|
return new NodeTransportResponse(result.status, result.headers, fullUrl.toString(), result.body);
|
|
182
249
|
}
|
|
183
250
|
catch (err) {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
throw new Error(`Request timeout after ${this.timeout}ms`, {
|
|
189
|
-
cause: err,
|
|
190
|
-
});
|
|
251
|
+
const error = err;
|
|
252
|
+
if (error.name === "AbortError") {
|
|
253
|
+
if (req.signal?.aborted) {
|
|
254
|
+
throw error;
|
|
191
255
|
}
|
|
192
|
-
|
|
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;
|
|
193
272
|
}
|
|
194
|
-
const retryableCodes = [
|
|
195
|
-
"ECONNREFUSED",
|
|
196
|
-
"ETIMEDOUT",
|
|
197
|
-
"ECONNRESET",
|
|
198
|
-
"EPIPE",
|
|
199
|
-
];
|
|
200
273
|
if (!isStreamBody &&
|
|
201
274
|
attempt < maxRetries &&
|
|
202
|
-
|
|
275
|
+
error.code &&
|
|
276
|
+
RETRYABLE_NETWORK_CODES.includes(error.code)) {
|
|
277
|
+
this.logRetry(`due to ${error.code}`, attempt, maxRetries);
|
|
203
278
|
await sleep(calcDelay(attempt, this.config.retry ?? {}));
|
|
204
279
|
attempt += 1;
|
|
205
280
|
continue;
|
|
206
281
|
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
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;
|
|
211
294
|
}
|
|
212
295
|
}
|
|
213
296
|
}
|
|
@@ -216,50 +299,86 @@ export class NodeTransport {
|
|
|
216
299
|
const isHttps = url.protocol === "https:";
|
|
217
300
|
const requestFn = isHttps ? https.request : http.request;
|
|
218
301
|
const agent = isHttps ? this.httpsAgent : this.httpAgent;
|
|
302
|
+
let isDone = false;
|
|
303
|
+
let timer;
|
|
219
304
|
const reqOptions = {
|
|
220
305
|
method: options.method,
|
|
221
306
|
headers: options.headers,
|
|
222
307
|
agent,
|
|
223
|
-
signal: options.signal,
|
|
224
308
|
};
|
|
225
|
-
if (options.
|
|
309
|
+
if (options.externalSignal?.aborted) {
|
|
226
310
|
const abortError = new Error("The operation was aborted.");
|
|
227
311
|
abortError.name = "AbortError";
|
|
228
312
|
return reject(abortError);
|
|
229
313
|
}
|
|
230
314
|
const req = requestFn(url, reqOptions, (res) => {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
headers: res.headers,
|
|
240
|
-
body,
|
|
241
|
-
});
|
|
315
|
+
if (timer)
|
|
316
|
+
clearTimeout(timer);
|
|
317
|
+
cleanupExternalSignal();
|
|
318
|
+
isDone = true;
|
|
319
|
+
resolve({
|
|
320
|
+
status: res.statusCode ?? 200,
|
|
321
|
+
headers: res.headers,
|
|
322
|
+
body: res,
|
|
242
323
|
});
|
|
243
|
-
|
|
324
|
+
});
|
|
325
|
+
if (options.timeoutMs > 0) {
|
|
326
|
+
timer = setTimeout(() => {
|
|
327
|
+
if (isDone)
|
|
328
|
+
return;
|
|
329
|
+
isDone = true;
|
|
330
|
+
cleanupExternalSignal();
|
|
331
|
+
req.destroy();
|
|
332
|
+
const err = new Error("The operation was aborted.");
|
|
333
|
+
err.name = "AbortError";
|
|
334
|
+
reject(err);
|
|
335
|
+
}, options.timeoutMs);
|
|
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";
|
|
244
348
|
reject(err);
|
|
349
|
+
};
|
|
350
|
+
options.externalSignal.addEventListener("abort", onExternalAbort, {
|
|
351
|
+
once: true,
|
|
245
352
|
});
|
|
246
|
-
}
|
|
353
|
+
}
|
|
354
|
+
function cleanupExternalSignal() {
|
|
355
|
+
if (options.externalSignal && onExternalAbort) {
|
|
356
|
+
options.externalSignal.removeEventListener("abort", onExternalAbort);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
247
359
|
req.on("error", (err) => {
|
|
360
|
+
if (isDone)
|
|
361
|
+
return;
|
|
362
|
+
isDone = true;
|
|
363
|
+
if (timer)
|
|
364
|
+
clearTimeout(timer);
|
|
365
|
+
cleanupExternalSignal();
|
|
248
366
|
reject(err);
|
|
249
367
|
});
|
|
250
368
|
if (options.body !== undefined && options.body !== null) {
|
|
251
369
|
if (Buffer.isBuffer(options.body) || typeof options.body === "string") {
|
|
252
|
-
req.
|
|
370
|
+
req.end(options.body);
|
|
253
371
|
}
|
|
254
|
-
else if (options.body instanceof
|
|
255
|
-
options.body.pipe(req);
|
|
256
|
-
return; // Управление потоком передано pipe
|
|
372
|
+
else if (options.body instanceof ReadableStream) {
|
|
373
|
+
Readable.fromWeb(options.body).pipe(req);
|
|
257
374
|
}
|
|
258
375
|
else {
|
|
259
|
-
req.
|
|
376
|
+
req.end(JSON.stringify(options.body));
|
|
260
377
|
}
|
|
261
378
|
}
|
|
262
|
-
|
|
379
|
+
else {
|
|
380
|
+
req.end();
|
|
381
|
+
}
|
|
263
382
|
});
|
|
264
383
|
}
|
|
265
384
|
async close() {
|
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":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Method, RequestBodyData } from "@hyperttp/types";
|
|
2
|
+
export type NormalizedBody = string | Uint8Array | ArrayBuffer | FormData | URLSearchParams | ReadableStream | Blob | null | undefined;
|
|
3
|
+
export declare function normalizeHeaders(headers: unknown): Record<string, string>;
|
|
4
|
+
export declare function normalizeMethod(method: string): Method;
|
|
5
|
+
export declare function normalizeBody(method: Method, body: RequestBodyData | undefined): RequestBodyData | undefined;
|
|
6
|
+
//# sourceMappingURL=normalize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/utils/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE/D,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,UAAU,GACV,WAAW,GACX,QAAQ,GACR,eAAe,GACf,cAAc,GACd,IAAI,GACJ,IAAI,GACJ,SAAS,CAAC;AA+Bd,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiEzE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,eAAe,GAAG,SAAS,GAChC,eAAe,GAAG,SAAS,CAQ7B"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
const SINGLE_VALUE_HEADERS = new Set([
|
|
2
|
+
"content-type",
|
|
3
|
+
"content-length",
|
|
4
|
+
"content-encoding",
|
|
5
|
+
"content-disposition",
|
|
6
|
+
"host",
|
|
7
|
+
"authorization",
|
|
8
|
+
"proxy-authorization",
|
|
9
|
+
"user-agent",
|
|
10
|
+
"referer",
|
|
11
|
+
"origin",
|
|
12
|
+
"location",
|
|
13
|
+
"etag",
|
|
14
|
+
"last-modified",
|
|
15
|
+
]);
|
|
16
|
+
const MULTI_VALUE_HEADERS = new Set([
|
|
17
|
+
"set-cookie",
|
|
18
|
+
"accept",
|
|
19
|
+
"accept-encoding",
|
|
20
|
+
"accept-language",
|
|
21
|
+
"cache-control",
|
|
22
|
+
"pragma",
|
|
23
|
+
"vary",
|
|
24
|
+
"warning",
|
|
25
|
+
"www-authenticate",
|
|
26
|
+
"proxy-authenticate",
|
|
27
|
+
]);
|
|
28
|
+
export function normalizeHeaders(headers) {
|
|
29
|
+
const out = Object.create(null);
|
|
30
|
+
if (!headers)
|
|
31
|
+
return out;
|
|
32
|
+
const appendHeader = (key, rawValue) => {
|
|
33
|
+
const lower = key.toLowerCase();
|
|
34
|
+
if (!lower)
|
|
35
|
+
return;
|
|
36
|
+
if (rawValue === undefined || rawValue === null)
|
|
37
|
+
return;
|
|
38
|
+
const value = typeof rawValue === "string" ? rawValue : String(rawValue);
|
|
39
|
+
if (SINGLE_VALUE_HEADERS.has(lower)) {
|
|
40
|
+
out[lower] = value;
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const existing = out[lower];
|
|
44
|
+
if (existing === undefined) {
|
|
45
|
+
out[lower] = value;
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (lower === "cookie" || lower === "cookie2") {
|
|
49
|
+
out[lower] = `${existing}; ${value}`;
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (lower === "set-cookie") {
|
|
53
|
+
out[lower] = `${existing}\n${value}`;
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (MULTI_VALUE_HEADERS.has(lower)) {
|
|
57
|
+
out[lower] = `${existing}, ${value}`;
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
out[lower] = value;
|
|
61
|
+
};
|
|
62
|
+
if (Array.isArray(headers)) {
|
|
63
|
+
for (let i = 0; i < headers.length; i += 2) {
|
|
64
|
+
const key = headers[i];
|
|
65
|
+
const value = headers[i + 1];
|
|
66
|
+
if (typeof key !== "string" || !key)
|
|
67
|
+
continue;
|
|
68
|
+
appendHeader(key, value);
|
|
69
|
+
}
|
|
70
|
+
return out;
|
|
71
|
+
}
|
|
72
|
+
const headerObj = headers;
|
|
73
|
+
for (const [key, val] of Object.entries(headerObj)) {
|
|
74
|
+
if (val === undefined)
|
|
75
|
+
continue;
|
|
76
|
+
if (Array.isArray(val)) {
|
|
77
|
+
for (const item of val)
|
|
78
|
+
appendHeader(key, item);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
appendHeader(key, val);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return out;
|
|
85
|
+
}
|
|
86
|
+
export function normalizeMethod(method) {
|
|
87
|
+
return method.toUpperCase();
|
|
88
|
+
}
|
|
89
|
+
export function normalizeBody(method, body) {
|
|
90
|
+
const upper = method.toUpperCase();
|
|
91
|
+
if (upper === "GET" || upper === "HEAD") {
|
|
92
|
+
return undefined;
|
|
93
|
+
}
|
|
94
|
+
return body ?? undefined;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=normalize.js.map
|