@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,65 +0,0 @@
1
- import { HyperPlugin } from "./plugins.js";
2
- export interface RequestMetrics {
3
- /**
4
- * @ru Время начала запроса (timestamp)
5
- * @en Request start time (timestamp)
6
- */
7
- startTime: number;
8
- /**
9
- * @ru Время окончания запроса (timestamp)
10
- * @en Request end time (timestamp)
11
- */
12
- endTime: number;
13
- /**
14
- * @ru Длительность запроса (мс)
15
- * @en Request duration (ms)
16
- */
17
- duration: number;
18
- /**
19
- * @ru HTTP статус код ответа
20
- * @en HTTP status code of response
21
- */
22
- statusCode?: number;
23
- /**
24
- * @ru Количество полученных байт
25
- * @en Bytes received
26
- */
27
- bytesReceived: number;
28
- /**
29
- * @ru Количество отправленных байт
30
- * @en Bytes sent
31
- */
32
- bytesSent: number;
33
- /**
34
- * @ru Количество повторных попыток
35
- * @en Number of retries performed
36
- */
37
- retries: number;
38
- /**
39
- * @ru Ответ из кэша
40
- * @en Response served from cache
41
- */
42
- cached: boolean;
43
- /**
44
- * @ru URL запроса
45
- * @en Request URL
46
- */
47
- url: string;
48
- /**
49
- * @ru HTTP метод запроса
50
- * @en HTTP method
51
- */
52
- method: string;
53
- /**
54
- * @ru Хэш тела запроса (для кэширования)
55
- * @en Request body hash (for caching)
56
- */
57
- bodyHash?: string;
58
- plugins?: Map<string, HyperPlugin>;
59
- stages?: {
60
- serializationMs?: number;
61
- networkMs?: number;
62
- parsingMs?: number;
63
- };
64
- }
65
- //# sourceMappingURL=metrics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/types/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAEnC,MAAM,CAAC,EAAE;QACP,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH"}
package/types/metrics.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=metrics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/types/metrics.ts"],"names":[],"mappings":""}
@@ -1,65 +0,0 @@
1
- export interface NetworkOptions {
2
- /**
3
- * @ru Таймаут запроса (мс)
4
- * @en Request timeout in milliseconds
5
- */
6
- timeout?: number;
7
- /**
8
- * @ru Максимум одновременных запросов. 0 = без лимита
9
- * @en Maximum concurrent requests. 0 = unlimited
10
- */
11
- maxConcurrent?: number;
12
- /**
13
- * @ru Количество pipelined запросов на соединение
14
- * @en Number of pipelined requests per connection
15
- */
16
- pipelining?: number;
17
- /**
18
- * @ru Таймаут keep-alive соединения (мс)
19
- * @en Keep-alive connection timeout in milliseconds
20
- */
21
- keepAliveTimeout?: number;
22
- /**
23
- * @ru Отклонять недоверенные SSL сертификаты
24
- * @en Reject unauthorized SSL certificates
25
- */
26
- rejectUnauthorized?: boolean;
27
- /**
28
- * @ru Следовать за редиректами
29
- * @en Follow HTTP redirects
30
- */
31
- followRedirects?: boolean;
32
- /**
33
- * @ru Максимум редиректов
34
- * @en Maximum number of redirects to follow
35
- */
36
- maxRedirects?: number;
37
- /**
38
- * @ru Максимальный размер ответа (байты)
39
- * @en Maximum response body size in bytes
40
- */
41
- maxResponseBytes?: number;
42
- /**
43
- * @ru Переключение режима HTTP/2 и HTTP/1.1
44
- * @en Switching between HTTP/2 and HTTP/1.1 modes
45
- */
46
- allowHttp2?: boolean;
47
- /**
48
- * @ru User-Agent заголовок
49
- * @en User-Agent header string
50
- */
51
- userAgent?: string;
52
- /**
53
- * @ru Базовые заголовки по умолчанию для всех запросов
54
- * @en Default base headers sent with every request
55
- */
56
- headers?: Record<string, string | string[]>;
57
- /**
58
- * @ru Функция валидации HTTP статуса
59
- * @en Function to validate HTTP status code
60
- * @param status - HTTP status code
61
- * @returns `true` if status is valid
62
- */
63
- validateStatus?: (status: number) => boolean;
64
- }
65
- //# sourceMappingURL=network.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/types/network.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C"}
package/types/network.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=network.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/types/network.ts"],"names":[],"mappings":""}
@@ -1,51 +0,0 @@
1
- import type { LogLevel } from "./http.js";
2
- import type { NetworkOptions } from "./network.js";
3
- import type { HyperPlugin } from "./plugins.js";
4
- import { RetryOptions } from "./retry.js";
5
- /**
6
- * @ru Интерфейс-расширение для модулей экосистемы Hyperttp.
7
- * @en Extension interface for Hyperttp ecosystem modules.
8
- */
9
- export interface HyperttpPluginsExtension {
10
- /** Internal brand to prevent empty interface lint errors */
11
- readonly _hyperttpBrand?: never;
12
- }
13
- /**
14
- * @ru Базовые настройки HTTP-клиента, входящие в состав основного ядра.
15
- * @en Core HTTP client configuration options always available in the engine.
16
- */
17
- export interface BaseHttpClientOptions {
18
- /**
19
- * @ru Базовые настройки сети (таймауты, заголовки, keep-alive)
20
- * @en Base network configuration (timeouts, headers, keep-alive)
21
- */
22
- network?: Partial<NetworkOptions>;
23
- retry?: Partial<RetryOptions>;
24
- /**
25
- * @ru Кастомная функция логирования работы клиента
26
- * @en Custom logging function for client operations
27
- * @param level - @ru Уровень логирования @en Log level
28
- * @param message - @ru Текст лога @en Log message
29
- * @param meta - @ru Дополнительные метаданные @en Additional metadata
30
- */
31
- logger?: (level: LogLevel, message: string, meta?: unknown) => void;
32
- /**
33
- * @ru Режим подробного (verbose) логирования в консоль
34
- * @en Enable verbose logging output to the console
35
- */
36
- verbose?: boolean;
37
- /**
38
- * @ru Список путей к папкам для автоматического сканирования и ленивой загрузки локальных плагинов
39
- * @en List of directory paths for automatic scanning and lazy loading of local plugins
40
- */
41
- pluginDirs?: string[];
42
- /**
43
- * @ru Список явно подключенных плагинов (готовые объекты или строки с именами npm-пакетов)
44
- * @en List of explicitly registered plugins (direct objects or npm package name strings)
45
- */
46
- plugins?: (HyperPlugin | string)[];
47
- trackMetrics?: any;
48
- }
49
- export interface HttpClientOptions extends BaseHttpClientOptions, HyperttpPluginsExtension {
50
- }
51
- //# sourceMappingURL=options.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/types/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,4DAA4D;IAC5D,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAElC,KAAK,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAE9B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEpE;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC;IAEnC,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,iBACf,SAAQ,qBAAqB,EAAE,wBAAwB;CAAG"}
package/types/options.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=options.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/types/options.ts"],"names":[],"mappings":""}
@@ -1,47 +0,0 @@
1
- import type { HttpClientOptions } from "./options.js";
2
- import type { HttpResponse, InternalRequest } from "./hyper.js";
3
- import { HyperCore } from "../Core/HyperCore.js";
4
- /**
5
- * Фазы жизненного цикла, определяющие строгий порядок выполнения в "луковичной" (onion) архитектуре.
6
- * Запрос движется снаружи внутрь: от мониторинга к сети (START -> PREPARE -> CONTROL -> FORMAT -> NETWORK).
7
- * Ответ возвращается в обратном порядке: изнутри наружу (NETWORK -> FORMAT -> CONTROL -> PREPARE -> START).
8
- */
9
- export type PluginPhase = "START" | "PREPARE" | "CONTROL" | "FORMAT" | "NETWORK";
10
- /**
11
- * Единый неизменяемый контекст для плагина.
12
- * Передача одного и того же ссылочного объекта экономит аллокации при сборке луковицы.
13
- */
14
- export interface PluginContext {
15
- readonly config: HttpClientOptions;
16
- readonly core: HyperCore;
17
- }
18
- /**
19
- * Сигнатура функции диспетчеризации запроса.
20
- */
21
- export type DispatchFn = <T = unknown>(req: InternalRequest) => Promise<HttpResponse<T>>;
22
- /**
23
- * Функция-обертка (декоратор) для диспетчера.
24
- * Принимает ссылку на следующий слой луковицы (`next`) и контекст клиента.
25
- */
26
- export type WrapDispatch = (next: DispatchFn, ctx: PluginContext) => DispatchFn;
27
- /**
28
- * Единый интерфейс для создания плагинов Hyperttp.
29
- * Любой внешний пакет (cache, metrics) обязан реализовать этот контракт.
30
- */
31
- export interface HyperPlugin {
32
- /** Уникальное имя плагина для логирования и предотвращения дублирования */
33
- readonly name: string;
34
- /** Фаза, определяющая место плагина в конвейере выполнения */
35
- readonly phase: PluginPhase;
36
- /** Динамическая проверка: должен ли плагин активироваться на основе переданного конфига */
37
- enabled: (config: HttpClientOptions) => boolean;
38
- /**
39
- * Хук инициализации. Теперь принимает тот же PluginContext, что и wrapDispatch.
40
- */
41
- setup?: (ctx: PluginContext) => void;
42
- /**
43
- * Чистая функция-обертка для конвейера запросов.
44
- */
45
- wrapDispatch?: WrapDispatch;
46
- }
47
- //# sourceMappingURL=plugins.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/types/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,SAAS,GACT,SAAS,GACT,QAAQ,GACR,SAAS,CAAC;AAEd;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,OAAO,EACnC,GAAG,EAAE,eAAe,KACjB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9B;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,KAAK,UAAU,CAAC;AAEhF;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAE5B,2FAA2F;IAC3F,OAAO,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC;IAEhD;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IAErC;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B"}
package/types/plugins.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=plugins.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/types/plugins.ts"],"names":[],"mappings":""}
@@ -1,114 +0,0 @@
1
- /**
2
- * @ru Представляет HTTP заголовки запроса
3
- * @en Represents HTTP request headers
4
- */
5
- export type RequestHeaders = Record<string, string>;
6
- /**
7
- * @ru Представляет параметры URL query
8
- * @en Represents URL query parameters
9
- */
10
- export type RequestQuery = Record<string, string | string[] | number | boolean | undefined | null>;
11
- /**
12
- * @ru Данные тела запроса
13
- * @en Request body data
14
- */
15
- export type RequestBodyData = any | null | undefined;
16
- /**
17
- * @ru Конфигурация для создания запроса
18
- * @en Configuration for request creation
19
- */
20
- export type RequestConfig = {
21
- /**
22
- * @ru Схема протокола (http/https)
23
- * @en Protocol scheme (http/https)
24
- */
25
- scheme: string;
26
- /**
27
- * @ru Хост сервера
28
- * @en Server host
29
- */
30
- host: string;
31
- /**
32
- * @ru Порт сервера
33
- * @en Server port
34
- */
35
- port?: number;
36
- /**
37
- * @ru Путь ресурса
38
- * @en Resource path
39
- */
40
- path?: string;
41
- /**
42
- * @ru Заголовки запроса
43
- * @en Request headers
44
- */
45
- headers?: RequestHeaders;
46
- /**
47
- * @ru Параметры query строки
48
- * @en Query string parameters
49
- */
50
- query?: RequestQuery;
51
- /**
52
- * @ru Данные тела запроса
53
- * @en Request body data
54
- */
55
- bodyData?: RequestBodyData;
56
- };
57
- /**
58
- * @ru Основной интерфейс запроса (Оптимизирован под плоские объекты и скрытые классы V8)
59
- * @en Main request interface (Optimized for flat objects and V8 hidden classes)
60
- */
61
- export interface RequestInterface {
62
- /**
63
- * @ru Полный URL запроса
64
- * @en Full request URL
65
- */
66
- url: string;
67
- /**
68
- * @ru Заголовки запроса
69
- * @en Request headers
70
- */
71
- headers: RequestHeaders;
72
- /**
73
- * @ru Данные тела запроса
74
- * @en Request body data
75
- */
76
- body?: RequestBodyData;
77
- /**
78
- * @ru Параметры query строки
79
- * @en Query parameters
80
- */
81
- query?: RequestQuery;
82
- /**
83
- * @ru AbortSignal для отмены запроса
84
- * @en AbortSignal for cancellation
85
- */
86
- signal?: AbortSignal;
87
- /**
88
- * @ru Метаданные запроса (responseType, внутренние флаги плагинов)
89
- * @en Request metadata (responseType, internal plugin flags)
90
- */
91
- meta?: Record<string, any>;
92
- }
93
- /**
94
- * @ru Метаданные для конвертации ответа
95
- * @en Response conversion metadata
96
- */
97
- export interface ConversionMeta {
98
- /**
99
- * @ru Content-Type заголовок
100
- * @en Content-Type header
101
- */
102
- contentType?: string;
103
- /**
104
- * @ru Content-Encoding заголовок
105
- * @en Content-Encoding header
106
- */
107
- contentEncoding?: string;
108
- /**
109
- * @ru URL запроса
110
- * @en Request URL
111
- */
112
- url?: string;
113
- }
114
- //# sourceMappingURL=request.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/types/request.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEpD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAC/B,MAAM,EACN,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CACxD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,GAAG,GAAG,IAAI,GAAG,SAAS,CAAC;AAErD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,OAAO,EAAE,cAAc,CAAC;IAExB;;;OAGG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;IAEvB;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd"}
package/types/request.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=request.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/types/request.ts"],"names":[],"mappings":""}
package/types/retry.d.ts DELETED
@@ -1,28 +0,0 @@
1
- export interface RetryOptions {
2
- /**
3
- * @ru Максимальное количество повторных попыток
4
- * @en Maximum number of retry attempts
5
- */
6
- maxRetries?: number;
7
- /**
8
- * @ru Базовая задержка между попытками (мс)
9
- * @en Base delay between retries (ms)
10
- */
11
- baseDelay?: number;
12
- /**
13
- * @ru Максимальная задержка между попытками (мс)
14
- * @en Maximum retry delay (ms)
15
- */
16
- maxDelay?: number;
17
- /**
18
- * @ru Коды HTTP, при которых выполняется retry
19
- * @en HTTP status codes that trigger retry logic
20
- */
21
- retryStatusCodes?: readonly number[];
22
- /**
23
- * @ru Добавлять случайный jitter к задержке
24
- * @en Add randomness (jitter) to retry delay
25
- */
26
- jitter?: boolean;
27
- }
28
- //# sourceMappingURL=retry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/types/retry.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAErC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB"}
package/types/retry.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=retry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/types/retry.ts"],"names":[],"mappings":""}
package/types/stream.d.ts DELETED
@@ -1,39 +0,0 @@
1
- import { Readable } from "node:stream";
2
- export interface StreamResponse<TBody = Readable> {
3
- /**
4
- * @ru HTTP статус код ответа
5
- * @en HTTP status code
6
- */
7
- status: number;
8
- /**
9
- * @ru Заголовки ответа (сырые)
10
- * @en Response headers (raw)
11
- */
12
- headers: Record<string, string | string[] | undefined>;
13
- /**
14
- * @ru Потоковое тело (низкоуровневые чанки)
15
- * @en Streamed body (low-level chunks)
16
- */
17
- body: TBody;
18
- /**
19
- * @ru Финальный URL (после редиректов)
20
- * @en Final resolved URL (after redirects)
21
- */
22
- url: string;
23
- /**
24
- * @ru Сигнал для отслеживания abort (pipeline control)
25
- * @en Optional signal for abort tracking (useful for pipeline control)
26
- */
27
- signal?: AbortSignal;
28
- /**
29
- * @ru Content-Length если известен (zero-copy оптимизации)
30
- * @en Content-Length if known (zero-copy optimizations)
31
- */
32
- contentLength?: number;
33
- /**
34
- * @ru Hint кодировки (gzip/br/etc)
35
- * @en Encoding hint (gzip/br/etc)
36
- */
37
- encoding?: string;
38
- }
39
- //# sourceMappingURL=stream.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/types/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,cAAc,CAAC,KAAK,GAAG,QAAQ;IAC9C;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAEvD;;;OAGG;IACH,IAAI,EAAE,KAAK,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
package/types/stream.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=stream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/types/stream.ts"],"names":[],"mappings":""}
@@ -1,25 +0,0 @@
1
- import type { Method } from "../types/http.js";
2
- import type { RequestBodyData } from "../types/request.js";
3
- export interface TransportRequest {
4
- method: Method;
5
- url: string;
6
- headers: Record<string, string | string[]>;
7
- body?: RequestBodyData;
8
- signal?: AbortSignal;
9
- }
10
- export interface TransportResponse {
11
- status: number;
12
- headers: Record<string, string | string[]>;
13
- body: any;
14
- url: string;
15
- }
16
- export interface HyperTransport {
17
- execute(req: TransportRequest): Promise<TransportResponse>;
18
- /** * Graceful shutdown: дожидается завершения текущих запросов.
19
- */
20
- close?(): Promise<void>;
21
- /** * Forceful shutdown: немедленное закрытие соединений.
22
- */
23
- destroy?(): Promise<void>;
24
- }
25
- //# sourceMappingURL=transport.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/types/transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC3C,IAAI,EAAE,GAAG,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3D;OACG;IACH,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB;OACG;IACH,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=transport.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/types/transport.ts"],"names":[],"mappings":""}