@hyperttp/core 1.1.12 → 1.2.5

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.
Files changed (99) hide show
  1. package/Core/HyperCore.d.ts +21 -9
  2. package/Core/HyperCore.d.ts.map +1 -1
  3. package/Core/HyperCore.js +187 -116
  4. package/Core/HyperCore.js.map +1 -1
  5. package/Core/index.d.ts +0 -1
  6. package/Core/index.d.ts.map +1 -1
  7. package/Core/index.js +0 -1
  8. package/Core/index.js.map +1 -1
  9. package/LICENSE +21 -0
  10. package/README.md +178 -0
  11. package/defaultConfig.d.ts +1 -1
  12. package/defaultConfig.d.ts.map +1 -1
  13. package/defaultConfig.js +0 -1
  14. package/defaultConfig.js.map +1 -1
  15. package/index.d.ts +1 -4
  16. package/index.d.ts.map +1 -1
  17. package/index.js +1 -1
  18. package/index.js.map +1 -1
  19. package/package.json +19 -6
  20. package/transports/node.d.ts +11 -7
  21. package/transports/node.d.ts.map +1 -1
  22. package/transports/node.js +367 -135
  23. package/transports/node.js.map +1 -1
  24. package/utils/errors.d.ts +49 -0
  25. package/utils/errors.d.ts.map +1 -0
  26. package/utils/errors.js +63 -0
  27. package/utils/errors.js.map +1 -0
  28. package/utils/merge.d.ts +8 -1
  29. package/utils/merge.d.ts.map +1 -1
  30. package/utils/merge.js +27 -13
  31. package/utils/merge.js.map +1 -1
  32. package/utils/pipeline.d.ts +42 -0
  33. package/utils/pipeline.d.ts.map +1 -0
  34. package/utils/pipeline.js +86 -0
  35. package/utils/pipeline.js.map +1 -0
  36. package/utils/response.d.ts +44 -0
  37. package/utils/response.d.ts.map +1 -0
  38. package/utils/response.js +86 -0
  39. package/utils/response.js.map +1 -0
  40. package/utils/retryUtils.d.ts +5 -0
  41. package/utils/retryUtils.d.ts.map +1 -0
  42. package/utils/retryUtils.js +35 -0
  43. package/utils/retryUtils.js.map +1 -0
  44. package/Core/RequestExecutor.d.ts +0 -64
  45. package/Core/RequestExecutor.d.ts.map +0 -1
  46. package/Core/RequestExecutor.js +0 -213
  47. package/Core/RequestExecutor.js.map +0 -1
  48. package/transports/bun.d.ts +0 -16
  49. package/transports/bun.d.ts.map +0 -1
  50. package/transports/bun.js +0 -181
  51. package/transports/bun.js.map +0 -1
  52. package/types/errors.d.ts +0 -20
  53. package/types/errors.d.ts.map +0 -1
  54. package/types/errors.js +0 -28
  55. package/types/errors.js.map +0 -1
  56. package/types/http.d.ts +0 -5
  57. package/types/http.d.ts.map +0 -1
  58. package/types/http.js +0 -2
  59. package/types/http.js.map +0 -1
  60. package/types/hyper.d.ts +0 -34
  61. package/types/hyper.d.ts.map +0 -1
  62. package/types/hyper.js +0 -2
  63. package/types/hyper.js.map +0 -1
  64. package/types/index.d.ts +0 -12
  65. package/types/index.d.ts.map +0 -1
  66. package/types/index.js +0 -12
  67. package/types/index.js.map +0 -1
  68. package/types/metrics.d.ts +0 -65
  69. package/types/metrics.d.ts.map +0 -1
  70. package/types/metrics.js +0 -2
  71. package/types/metrics.js.map +0 -1
  72. package/types/network.d.ts +0 -65
  73. package/types/network.d.ts.map +0 -1
  74. package/types/network.js +0 -2
  75. package/types/network.js.map +0 -1
  76. package/types/options.d.ts +0 -51
  77. package/types/options.d.ts.map +0 -1
  78. package/types/options.js +0 -2
  79. package/types/options.js.map +0 -1
  80. package/types/plugins.d.ts +0 -47
  81. package/types/plugins.d.ts.map +0 -1
  82. package/types/plugins.js +0 -2
  83. package/types/plugins.js.map +0 -1
  84. package/types/request.d.ts +0 -114
  85. package/types/request.d.ts.map +0 -1
  86. package/types/request.js +0 -2
  87. package/types/request.js.map +0 -1
  88. package/types/retry.d.ts +0 -28
  89. package/types/retry.d.ts.map +0 -1
  90. package/types/retry.js +0 -2
  91. package/types/retry.js.map +0 -1
  92. package/types/stream.d.ts +0 -39
  93. package/types/stream.d.ts.map +0 -1
  94. package/types/stream.js +0 -2
  95. package/types/stream.js.map +0 -1
  96. package/types/transport.d.ts +0 -25
  97. package/types/transport.d.ts.map +0 -1
  98. package/types/transport.js +0 -2
  99. package/types/transport.js.map +0 -1
@@ -1,160 +1,392 @@
1
- import { compose, Readable } from "node:stream";
1
+ import http from "node:http";
2
+ import https from "node:https";
2
3
  import zlib from "node:zlib";
3
- import { CookieAgent } from "http-cookie-agent/undici";
4
- import { RequestExecutor } from "../Core/RequestExecutor.js";
5
- export class NodeTransport {
6
- agent;
7
- executor;
8
- isClosed = false;
9
- constructor(config) {
10
- const concurrency = config.network?.maxConcurrent === 0
11
- ? Infinity
12
- : (config.network?.maxConcurrent ?? 500);
13
- const allowH2 = config.network?.allowHttp2 ?? true;
14
- const pipelining = config.network?.pipelining !== undefined
15
- ? config.network.pipelining === 0
16
- ? 256
17
- : config.network.pipelining
18
- : allowH2
19
- ? 100
20
- : 1;
21
- this.agent = new CookieAgent({
22
- connections: concurrency === Infinity ? null : concurrency,
23
- pipelining,
24
- keepAliveTimeout: config.network?.keepAliveTimeout ?? 30000,
25
- keepAliveMaxTimeout: config.network?.keepAliveTimeout ?? 30000,
26
- clientTtl: 60000,
27
- connect: { rejectUnauthorized: config.network?.rejectUnauthorized },
28
- allowH2,
29
- });
30
- const retryOptions = {
31
- maxRetries: config.retry?.maxRetries ?? 3,
32
- ...config.retry,
33
- };
34
- this.executor = new RequestExecutor(this.agent, {
35
- timeout: config.network?.timeout ?? 30000,
36
- maxRetries: retryOptions.maxRetries ?? 3,
37
- followRedirects: config.network?.followRedirects ?? true,
38
- maxRedirects: config.network?.maxRedirects ?? 5,
39
- retryOptions: retryOptions,
40
- verbose: config.verbose ?? false,
41
- logger: config.logger,
42
- });
4
+ import { Readable } from "node:stream";
5
+ import { ReadableStream } from "node:stream/web";
6
+ const REDIRECT_STATUS_CODES = new Set([301, 302, 303, 307, 308]);
7
+ const DEFAULT_RETRY_STATUS_CODES = [502, 503, 504];
8
+ const RETRYABLE_NETWORK_CODES = [
9
+ "ECONNREFUSED",
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);
43
21
  }
44
- async execute(req) {
45
- const rawResponse = await this.executor.execute(req.method, req.url, req.headers, req.body, req.signal);
46
- const normalizedHeaders = {};
47
- const rawHeaders = rawResponse.headers;
48
- const keys = Object.keys(rawHeaders);
49
- let contentEncoding = undefined;
50
- for (let i = 0; i < keys.length; i++) {
51
- const key = keys[i];
52
- const value = rawHeaders[key];
53
- if (value === undefined)
54
- continue;
55
- const lowerKey = key.toLowerCase();
56
- if (lowerKey === "content-encoding") {
57
- contentEncoding = Array.isArray(value) ? value[0] : value;
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());
58
54
  }
59
- if (Array.isArray(value)) {
60
- normalizedHeaders[key] =
61
- lowerKey === "set-cookie" ? value.join("\n") : value.join(", ");
55
+ else if (encoding.includes("deflate")) {
56
+ stream = stream.pipe(zlib.createInflate());
62
57
  }
63
- else {
64
- normalizedHeaders[key] = value;
58
+ else if (encoding.includes("br")) {
59
+ stream = stream.pipe(zlib.createBrotliDecompress());
65
60
  }
66
61
  }
67
- const decompressedBody = this.wrapDecompress(rawResponse.body, contentEncoding);
68
- if (decompressedBody instanceof Readable) {
69
- Object.defineProperty(decompressedBody, "dump", {
70
- value: function () {
71
- return new Promise((resolve, reject) => {
72
- const cleanup = () => {
73
- this.removeListener("data", onData);
74
- this.removeListener("end", resolve);
75
- this.removeListener("error", reject);
76
- };
77
- const onData = () => { };
78
- this.on("data", onData);
79
- this.on("end", () => {
80
- cleanup();
81
- resolve();
82
- });
83
- this.on("error", (err) => {
84
- cleanup();
85
- reject(err);
86
- });
87
- this.resume();
88
- });
89
- },
90
- writable: true,
91
- configurable: true,
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,
92
82
  enumerable: false,
83
+ configurable: true,
93
84
  });
85
+ this._cachedWebStream = webStream;
94
86
  }
95
- return {
96
- status: rawResponse.status,
97
- headers: normalizedHeaders,
98
- body: decompressedBody,
99
- url: rawResponse.url,
100
- };
87
+ return this._cachedWebStream;
101
88
  }
102
- wrapDecompress(body, contentEncoding) {
103
- if (!(body instanceof Readable))
104
- return body;
105
- const encoding = contentEncoding?.toLowerCase().trim();
106
- if (!encoding || encoding === "none" || encoding === "identity") {
107
- return body;
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;
108
113
  }
109
- let decompressor = null;
110
- if (encoding === "gzip") {
111
- decompressor = zlib.createGunzip({ flush: zlib.constants.Z_SYNC_FLUSH });
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");
112
142
  }
113
- else if (encoding === "deflate") {
114
- decompressor = zlib.createInflate();
143
+ return this._cachedText;
144
+ }
145
+ async json() {
146
+ if (this._cachedJsonReady) {
147
+ return this._cachedJson;
115
148
  }
116
- else if (encoding === "br") {
117
- decompressor = zlib.createBrotliDecompress();
149
+ const text = await this.text();
150
+ if (!text.trim()) {
151
+ this._cachedJson = null;
152
+ this._cachedJsonReady = true;
153
+ return null;
118
154
  }
119
- if (!decompressor)
120
- return body;
121
- return compose(body, decompressor);
155
+ this._cachedJson = JSON.parse(text);
156
+ this._cachedJsonReady = true;
157
+ return this._cachedJson;
122
158
  }
123
- async close() {
124
- if (this.isClosed)
159
+ async dump() {
160
+ if (this._cachedBuffer)
125
161
  return;
126
- this.isClosed = true;
127
- try {
128
- const structuralAgent = this.agent;
129
- if (typeof structuralAgent.close === "function") {
130
- await structuralAgent.close();
162
+ this._decodedStream.resume();
163
+ }
164
+ }
165
+ export class NodeTransport {
166
+ config;
167
+ httpAgent;
168
+ httpsAgent;
169
+ constructor(config) {
170
+ this.config = config;
171
+ const agentOptions = {
172
+ keepAlive: true,
173
+ keepAliveMsecs: config.network?.keepAliveTimeout ?? 30000,
174
+ maxSockets: config.network?.maxConcurrent ?? 500,
175
+ maxFreeSockets: Math.min(256, Math.floor((config.network?.maxConcurrent ?? 500) / 2)),
176
+ scheduling: "lifo",
177
+ };
178
+ this.httpAgent = new http.Agent(agentOptions);
179
+ this.httpsAgent = new https.Agent(agentOptions);
180
+ }
181
+ get timeout() {
182
+ return this.config.network?.timeout ?? 30000;
183
+ }
184
+ logRetry(reason, attempt, maxRetries) {
185
+ this.config.logger?.("warn", `Retrying request: ${reason}. Attempt ${attempt}/${maxRetries}`);
186
+ }
187
+ async execute(req) {
188
+ let currentUrl = req.url;
189
+ let currentMethod = req.method;
190
+ let currentHeaders = { ...req.headers };
191
+ let currentBody = req.body;
192
+ let redirects = 0;
193
+ const startTime = Date.now();
194
+ let attempt = 1;
195
+ const maxRedirects = this.config.network?.maxRedirects ?? 5;
196
+ const maxRetries = this.config.retry?.maxRetries ?? 3;
197
+ const isStreamBody = currentBody instanceof ReadableStream;
198
+ while (true) {
199
+ try {
200
+ const fullUrl = new URL(currentUrl);
201
+ const result = await this.dispatchOnce(fullUrl, {
202
+ method: currentMethod,
203
+ headers: currentHeaders,
204
+ body: currentBody,
205
+ externalSignal: req.signal,
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
+ }
247
+ }
248
+ return new NodeTransportResponse(result.status, result.headers, fullUrl.toString(), result.body);
131
249
  }
132
- else {
133
- await this.destroy();
250
+ catch (err) {
251
+ const error = err;
252
+ if (error.name === "AbortError") {
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;
272
+ }
273
+ if (!isStreamBody &&
274
+ attempt < maxRetries &&
275
+ error.code &&
276
+ RETRYABLE_NETWORK_CODES.includes(error.code)) {
277
+ this.logRetry(`due to ${error.code}`, attempt, maxRetries);
278
+ await sleep(calcDelay(attempt, this.config.retry ?? {}));
279
+ attempt += 1;
280
+ continue;
281
+ }
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;
134
294
  }
135
295
  }
136
- catch (err) {
137
- this.logWarning("Transport close error:", err);
138
- }
139
296
  }
140
- async destroy() {
141
- this.isClosed = true;
142
- await new Promise((resolve) => setImmediate(resolve));
143
- try {
144
- const structuralAgent = this.agent;
145
- if (typeof structuralAgent.destroy === "function") {
146
- await structuralAgent.destroy();
297
+ dispatchOnce(url, options) {
298
+ return new Promise((resolve, reject) => {
299
+ const isHttps = url.protocol === "https:";
300
+ const requestFn = isHttps ? https.request : http.request;
301
+ const agent = isHttps ? this.httpsAgent : this.httpAgent;
302
+ let isDone = false;
303
+ let timer;
304
+ const reqOptions = {
305
+ method: options.method,
306
+ headers: options.headers,
307
+ agent,
308
+ };
309
+ if (options.externalSignal?.aborted) {
310
+ const abortError = new Error("The operation was aborted.");
311
+ abortError.name = "AbortError";
312
+ return reject(abortError);
147
313
  }
148
- }
149
- catch (err) {
150
- this.logWarning("Transport destroy error:", err);
151
- }
314
+ const req = requestFn(url, reqOptions, (res) => {
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,
323
+ });
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";
348
+ reject(err);
349
+ };
350
+ options.externalSignal.addEventListener("abort", onExternalAbort, {
351
+ once: true,
352
+ });
353
+ }
354
+ function cleanupExternalSignal() {
355
+ if (options.externalSignal && onExternalAbort) {
356
+ options.externalSignal.removeEventListener("abort", onExternalAbort);
357
+ }
358
+ }
359
+ req.on("error", (err) => {
360
+ if (isDone)
361
+ return;
362
+ isDone = true;
363
+ if (timer)
364
+ clearTimeout(timer);
365
+ cleanupExternalSignal();
366
+ reject(err);
367
+ });
368
+ if (options.body !== undefined && options.body !== null) {
369
+ if (Buffer.isBuffer(options.body) || typeof options.body === "string") {
370
+ req.end(options.body);
371
+ }
372
+ else if (options.body instanceof ReadableStream) {
373
+ Readable.fromWeb(options.body).pipe(req);
374
+ }
375
+ else {
376
+ req.end(JSON.stringify(options.body));
377
+ }
378
+ }
379
+ else {
380
+ req.end();
381
+ }
382
+ });
152
383
  }
153
- logWarning(msg, err) {
154
- if (this.executor["verbose"]) {
155
- // обращение к приватному полю через bracket notation если нужно
156
- console.warn(msg, err);
157
- }
384
+ async close() {
385
+ this.httpAgent.destroy();
386
+ this.httpsAgent.destroy();
387
+ }
388
+ async destroy() {
389
+ await this.close();
158
390
  }
159
391
  }
160
392
  //# sourceMappingURL=node.js.map
@@ -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,49 @@
1
+ /**
2
+ * @ru Базовый класс ошибок клиента Hyperttp, агрегирующий контекст неудачного сетевого запроса.
3
+ * @en Base error class for the Hyperttp client, providing explicit layout context for failed requests.
4
+ */
5
+ export declare class HttpClientError extends Error {
6
+ code: string;
7
+ statusCode?: number | undefined;
8
+ originalError?: Error | undefined;
9
+ url?: string | undefined;
10
+ method?: string | undefined;
11
+ /**
12
+ * @ru Создает новый экземпляр HttpClientError.
13
+ * @en Creates a new HttpClientError instance.
14
+ * @param message - Human-readable error message text.
15
+ * @param code - Internal stringified error state identifier code.
16
+ * @param statusCode - Numerical HTTP response status code received from the server.
17
+ * @param originalError - Raw captured exception instance causing this failure.
18
+ * @param url - Targeted request URL destination string.
19
+ * @param method - HTTP method verb utilized for the request.
20
+ */
21
+ constructor(message: string, code?: string, statusCode?: number | undefined, originalError?: Error | undefined, url?: string | undefined, method?: string | undefined);
22
+ }
23
+ /**
24
+ * @ru Ошибка, возникающая при превышении лимита времени ожидания ответа от сервера.
25
+ * @en Error thrown when a network request exceeds its allocated execution timeout threshold.
26
+ */
27
+ export declare class TimeoutError extends HttpClientError {
28
+ /**
29
+ * @ru Создает новый экземпляр TimeoutError.
30
+ * @en Creates a new TimeoutError instance.
31
+ * @param url - Targeted request URL destination string.
32
+ * @param timeout - Threshold duration statement in milliseconds.
33
+ */
34
+ constructor(url: string, timeout: number);
35
+ }
36
+ /**
37
+ * @ru Ошибка, генерируемая при получении HTTP-статуса 429 (превышение лимита частоты запросов).
38
+ * @en Error triggered when encountering an HTTP 429 status code indicating rate limit exhaustion.
39
+ */
40
+ export declare class RateLimitError extends HttpClientError {
41
+ /**
42
+ * @ru Создает новый экземпляр RateLimitError.
43
+ * @en Creates a new RateLimitError instance.
44
+ * @param url - Targeted request URL destination string.
45
+ * @param retryAfter - Optional cool-down period duration in milliseconds before the next retry attempt.
46
+ */
47
+ constructor(url: string, retryAfter?: number);
48
+ }
49
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IAa/B,IAAI,EAAE,MAAM;IACZ,UAAU,CAAC,EAAE,MAAM;IACnB,aAAa,CAAC,EAAE,KAAK;IACrB,GAAG,CAAC,EAAE,MAAM;IACZ,MAAM,CAAC,EAAE,MAAM;IAhBxB;;;;;;;;;OASG;gBAED,OAAO,EAAE,MAAM,EACR,IAAI,GAAE,MAAqB,EAC3B,UAAU,CAAC,EAAE,MAAM,YAAA,EACnB,aAAa,CAAC,EAAE,KAAK,YAAA,EACrB,GAAG,CAAC,EAAE,MAAM,YAAA,EACZ,MAAM,CAAC,EAAE,MAAM,YAAA;CAKzB;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,eAAe;IAC/C;;;;;OAKG;gBACS,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAIzC;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,eAAe;IACjD;;;;;OAKG;gBACS,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAU7C"}