@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.
- package/Core/HyperCore.d.ts +21 -9
- package/Core/HyperCore.d.ts.map +1 -1
- package/Core/HyperCore.js +187 -116
- package/Core/HyperCore.js.map +1 -1
- package/Core/index.d.ts +0 -1
- package/Core/index.d.ts.map +1 -1
- package/Core/index.js +0 -1
- package/Core/index.js.map +1 -1
- package/LICENSE +21 -0
- package/README.md +178 -0
- package/defaultConfig.d.ts +1 -1
- package/defaultConfig.d.ts.map +1 -1
- package/defaultConfig.js +0 -1
- package/defaultConfig.js.map +1 -1
- package/index.d.ts +1 -4
- package/index.d.ts.map +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/package.json +19 -6
- package/transports/node.d.ts +11 -7
- package/transports/node.d.ts.map +1 -1
- package/transports/node.js +367 -135
- package/transports/node.js.map +1 -1
- package/utils/errors.d.ts +49 -0
- package/utils/errors.d.ts.map +1 -0
- package/utils/errors.js +63 -0
- package/utils/errors.js.map +1 -0
- package/utils/merge.d.ts +8 -1
- package/utils/merge.d.ts.map +1 -1
- package/utils/merge.js +27 -13
- package/utils/merge.js.map +1 -1
- 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 +44 -0
- package/utils/response.d.ts.map +1 -0
- package/utils/response.js +86 -0
- package/utils/response.js.map +1 -0
- package/utils/retryUtils.d.ts +5 -0
- package/utils/retryUtils.d.ts.map +1 -0
- package/utils/retryUtils.js +35 -0
- package/utils/retryUtils.js.map +1 -0
- package/Core/RequestExecutor.d.ts +0 -64
- package/Core/RequestExecutor.d.ts.map +0 -1
- package/Core/RequestExecutor.js +0 -213
- package/Core/RequestExecutor.js.map +0 -1
- package/transports/bun.d.ts +0 -16
- package/transports/bun.d.ts.map +0 -1
- package/transports/bun.js +0 -181
- package/transports/bun.js.map +0 -1
- package/types/errors.d.ts +0 -20
- package/types/errors.d.ts.map +0 -1
- package/types/errors.js +0 -28
- package/types/errors.js.map +0 -1
- package/types/http.d.ts +0 -5
- package/types/http.d.ts.map +0 -1
- package/types/http.js +0 -2
- package/types/http.js.map +0 -1
- package/types/hyper.d.ts +0 -34
- package/types/hyper.d.ts.map +0 -1
- package/types/hyper.js +0 -2
- package/types/hyper.js.map +0 -1
- package/types/index.d.ts +0 -12
- package/types/index.d.ts.map +0 -1
- package/types/index.js +0 -12
- package/types/index.js.map +0 -1
- package/types/metrics.d.ts +0 -65
- package/types/metrics.d.ts.map +0 -1
- package/types/metrics.js +0 -2
- package/types/metrics.js.map +0 -1
- package/types/network.d.ts +0 -65
- package/types/network.d.ts.map +0 -1
- package/types/network.js +0 -2
- package/types/network.js.map +0 -1
- package/types/options.d.ts +0 -51
- package/types/options.d.ts.map +0 -1
- package/types/options.js +0 -2
- package/types/options.js.map +0 -1
- package/types/plugins.d.ts +0 -47
- package/types/plugins.d.ts.map +0 -1
- package/types/plugins.js +0 -2
- package/types/plugins.js.map +0 -1
- package/types/request.d.ts +0 -114
- package/types/request.d.ts.map +0 -1
- package/types/request.js +0 -2
- package/types/request.js.map +0 -1
- package/types/retry.d.ts +0 -28
- package/types/retry.d.ts.map +0 -1
- package/types/retry.js +0 -2
- package/types/retry.js.map +0 -1
- package/types/stream.d.ts +0 -39
- package/types/stream.d.ts.map +0 -1
- package/types/stream.js +0 -2
- package/types/stream.js.map +0 -1
- package/types/transport.d.ts +0 -25
- package/types/transport.d.ts.map +0 -1
- package/types/transport.js +0 -2
- package/types/transport.js.map +0 -1
package/types/metrics.d.ts
DELETED
|
@@ -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
|
package/types/metrics.d.ts.map
DELETED
|
@@ -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
package/types/metrics.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/types/metrics.ts"],"names":[],"mappings":""}
|
package/types/network.d.ts
DELETED
|
@@ -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
|
package/types/network.d.ts.map
DELETED
|
@@ -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
package/types/network.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/types/network.ts"],"names":[],"mappings":""}
|
package/types/options.d.ts
DELETED
|
@@ -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
|
package/types/options.d.ts.map
DELETED
|
@@ -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
package/types/options.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/types/options.ts"],"names":[],"mappings":""}
|
package/types/plugins.d.ts
DELETED
|
@@ -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
|
package/types/plugins.d.ts.map
DELETED
|
@@ -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
package/types/plugins.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/types/plugins.ts"],"names":[],"mappings":""}
|
package/types/request.d.ts
DELETED
|
@@ -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
|
package/types/request.d.ts.map
DELETED
|
@@ -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
package/types/request.js.map
DELETED
|
@@ -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
|
package/types/retry.d.ts.map
DELETED
|
@@ -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
package/types/retry.js.map
DELETED
|
@@ -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
|
package/types/stream.d.ts.map
DELETED
|
@@ -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
package/types/stream.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/types/stream.ts"],"names":[],"mappings":""}
|
package/types/transport.d.ts
DELETED
|
@@ -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
|
package/types/transport.d.ts.map
DELETED
|
@@ -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"}
|
package/types/transport.js
DELETED
package/types/transport.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/types/transport.ts"],"names":[],"mappings":""}
|