@hyperttp/core 1.2.6 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Core/HyperCore.d.ts +145 -23
- package/Core/HyperCore.d.ts.map +1 -1
- package/Core/HyperCore.js +325 -231
- package/Core/HyperCore.js.map +1 -1
- package/package.json +6 -3
- package/transports/manager.d.ts +102 -0
- package/transports/manager.d.ts.map +1 -0
- package/transports/manager.js +293 -0
- package/transports/manager.js.map +1 -0
- package/transports/node.d.ts +40 -10
- package/transports/node.d.ts.map +1 -1
- package/transports/node.js +106 -325
- package/transports/node.js.map +1 -1
- package/utils/decompress.d.ts +29 -0
- package/utils/decompress.d.ts.map +1 -0
- package/utils/decompress.js +117 -0
- package/utils/decompress.js.map +1 -0
- package/utils/normalize.d.ts +28 -1
- package/utils/normalize.d.ts.map +1 -1
- package/utils/normalize.js +173 -61
- package/utils/normalize.js.map +1 -1
- package/utils/pipeline.d.ts +51 -10
- package/utils/pipeline.d.ts.map +1 -1
- package/utils/pipeline.js +126 -21
- package/utils/pipeline.js.map +1 -1
- package/utils/response.d.ts +0 -3
- package/utils/response.d.ts.map +1 -1
- package/utils/response.js +0 -3
- package/utils/response.js.map +1 -1
- package/utils/retryUtils.d.ts +20 -0
- package/utils/retryUtils.d.ts.map +1 -1
- package/utils/retryUtils.js +24 -0
- package/utils/retryUtils.js.map +1 -1
package/Core/HyperCore.d.ts
CHANGED
|
@@ -1,48 +1,170 @@
|
|
|
1
1
|
import type { IHyperCore, HyperTransport, HttpClientOptions, HyperPlugin, InternalRequest, HttpResponse, RequestInterface, StreamResponse, RequestBodyData } from "@hyperttp/types";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
export type Runtime = "bun" | "node";
|
|
8
|
-
export declare function getRuntime(): Runtime;
|
|
9
|
-
type TransportDef = {
|
|
10
|
-
name: string;
|
|
11
|
-
runtime: Runtime[];
|
|
12
|
-
pkg: string;
|
|
13
|
-
export: string;
|
|
14
|
-
priority: number;
|
|
15
|
-
};
|
|
16
|
-
export declare const TRANSPORTS: TransportDef[];
|
|
17
|
-
export declare function resolveTransport(config: HttpClientOptions): Promise<HyperTransport>;
|
|
2
|
+
/**
|
|
3
|
+
* @ru Основной класс HTTP-клиента Hyperttp. Управляет транспортами, плагинами, перехватчиками, повторными попытками и сжатием.
|
|
4
|
+
* @en Core HTTP client class for Hyperttp. Manages transports, plugins, interceptors, retries, and compression.
|
|
5
|
+
*/
|
|
18
6
|
export declare class HyperCore implements IHyperCore {
|
|
7
|
+
/** @ru Конфигурация клиента (базовый URL, таймауты, заголовки и т.д.). @en Client configuration (base URL, timeouts, headers, etc.). */
|
|
19
8
|
config: HttpClientOptions;
|
|
20
|
-
private
|
|
21
|
-
private transportPromise;
|
|
9
|
+
private readonly transportManager;
|
|
22
10
|
private readonly defaultHeaders;
|
|
23
11
|
private readonly pluginCtx;
|
|
24
12
|
private readonly pipelines;
|
|
13
|
+
/**
|
|
14
|
+
* @ru Создаёт экземпляр HyperCore.
|
|
15
|
+
* @en Creates an instance of HyperCore.
|
|
16
|
+
* @param config - Client configuration options.
|
|
17
|
+
* @param transport - Optional custom transport implementation.
|
|
18
|
+
*/
|
|
25
19
|
constructor(config?: HttpClientOptions, transport?: HyperTransport);
|
|
26
|
-
private
|
|
20
|
+
private get transport();
|
|
27
21
|
private ensureTransport;
|
|
22
|
+
private dispatchInternal;
|
|
23
|
+
/**
|
|
24
|
+
* @ru Выполняет HTTP-запрос с полным контролем (через объект InternalRequest).
|
|
25
|
+
* @en Performs an HTTP request with full control (via InternalRequest object).
|
|
26
|
+
* @param req - Internal request object.
|
|
27
|
+
* @returns Promise with the HTTP response.
|
|
28
|
+
*/
|
|
28
29
|
dispatch<T = unknown>(req: InternalRequest): Promise<HttpResponse<T>>;
|
|
30
|
+
/**
|
|
31
|
+
* @ru Регистрирует плагин для расширения функциональности клиента.
|
|
32
|
+
* @en Registers a plugin to extend client functionality.
|
|
33
|
+
* @param plugin - Plugin instance.
|
|
34
|
+
* @returns This instance for chaining.
|
|
35
|
+
*/
|
|
29
36
|
use(plugin: HyperPlugin): this;
|
|
37
|
+
/**
|
|
38
|
+
* @ru Выполняет GET-запрос и возвращает ответ в виде потока (StreamResponse).
|
|
39
|
+
* @en Performs a GET request and returns the response as a stream (StreamResponse).
|
|
40
|
+
* @param req - Request URL or RequestInterface object.
|
|
41
|
+
* @param signal - Optional abort signal.
|
|
42
|
+
* @returns Promise with the stream response.
|
|
43
|
+
*/
|
|
30
44
|
stream(req: RequestInterface | string, signal?: AbortSignal): Promise<StreamResponse<unknown>>;
|
|
45
|
+
/**
|
|
46
|
+
* @ru Выполняет POST-запрос и возвращает ответ в виде потока (StreamResponse).
|
|
47
|
+
* @en Performs a POST request and returns the response as a stream (StreamResponse).
|
|
48
|
+
* @param req - Request URL or RequestInterface object.
|
|
49
|
+
* @param body - Request body data.
|
|
50
|
+
* @param signal - Optional abort signal.
|
|
51
|
+
* @returns Promise with the stream response.
|
|
52
|
+
*/
|
|
53
|
+
postStream<T = unknown>(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise<StreamResponse<T>>;
|
|
54
|
+
/**
|
|
55
|
+
* @ru Выполняет GET-запрос.
|
|
56
|
+
* @en Performs a GET request.
|
|
57
|
+
* @param req - Request URL or RequestInterface object.
|
|
58
|
+
* @param signal - Optional abort signal.
|
|
59
|
+
* @returns Promise with the HTTP response.
|
|
60
|
+
*/
|
|
31
61
|
get<T = unknown>(req: RequestInterface | string, signal?: AbortSignal): Promise<HttpResponse<T>>;
|
|
62
|
+
/**
|
|
63
|
+
* @ru Выполняет POST-запрос.
|
|
64
|
+
* @en Performs a POST request.
|
|
65
|
+
* @param req - Request URL or RequestInterface object.
|
|
66
|
+
* @param body - Request body data.
|
|
67
|
+
* @param signal - Optional abort signal.
|
|
68
|
+
* @returns Promise with the HTTP response.
|
|
69
|
+
*/
|
|
32
70
|
post<T = unknown>(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise<HttpResponse<T>>;
|
|
33
|
-
|
|
71
|
+
/**
|
|
72
|
+
* @ru Выполняет PUT-запрос.
|
|
73
|
+
* @en Performs a PUT request.
|
|
74
|
+
* @param req - Request URL or RequestInterface object.
|
|
75
|
+
* @param body - Request body data.
|
|
76
|
+
* @param signal - Optional abort signal.
|
|
77
|
+
* @returns Promise with the HTTP response.
|
|
78
|
+
*/
|
|
34
79
|
put<T = unknown>(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise<HttpResponse<T>>;
|
|
80
|
+
/**
|
|
81
|
+
* @ru Выполняет PATCH-запрос.
|
|
82
|
+
* @en Performs a PATCH request.
|
|
83
|
+
* @param req - Request URL or RequestInterface object.
|
|
84
|
+
* @param body - Request body data.
|
|
85
|
+
* @param signal - Optional abort signal.
|
|
86
|
+
* @returns Promise with the HTTP response.
|
|
87
|
+
*/
|
|
35
88
|
patch<T = unknown>(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise<HttpResponse<T>>;
|
|
89
|
+
/**
|
|
90
|
+
* @ru Выполняет DELETE-запрос.
|
|
91
|
+
* @en Performs a DELETE request.
|
|
92
|
+
* @param req - Request URL or RequestInterface object.
|
|
93
|
+
* @param signal - Optional abort signal.
|
|
94
|
+
* @returns Promise with the HTTP response.
|
|
95
|
+
*/
|
|
36
96
|
delete<T = unknown>(req: RequestInterface | string, signal?: AbortSignal): Promise<HttpResponse<T>>;
|
|
97
|
+
/**
|
|
98
|
+
* @ru Выполняет OPTIONS-запрос.
|
|
99
|
+
* @en Performs an OPTIONS request.
|
|
100
|
+
* @param req - Request URL or RequestInterface object.
|
|
101
|
+
* @param body - Optional request body data.
|
|
102
|
+
* @param signal - Optional abort signal.
|
|
103
|
+
* @returns Promise with the HTTP response.
|
|
104
|
+
*/
|
|
37
105
|
options<T = unknown>(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise<HttpResponse<T>>;
|
|
106
|
+
/**
|
|
107
|
+
* @ru Выполняет HEAD-запрос.
|
|
108
|
+
* @en Performs a HEAD request.
|
|
109
|
+
* @param req - Request URL or RequestInterface object.
|
|
110
|
+
* @param signal - Optional abort signal.
|
|
111
|
+
* @returns Promise with the HTTP response (body is always null).
|
|
112
|
+
*/
|
|
38
113
|
head(req: RequestInterface | string, signal?: AbortSignal): Promise<HttpResponse<null>>;
|
|
39
|
-
|
|
40
|
-
|
|
114
|
+
/**
|
|
115
|
+
* @ru Создаёт новый экземпляр HyperCore с расширенной конфигурацией (поверх текущей).
|
|
116
|
+
* @en Creates a new HyperCore instance with extended configuration (on top of current).
|
|
117
|
+
* @param options - Additional configuration options.
|
|
118
|
+
* @returns New HyperCore instance.
|
|
119
|
+
*/
|
|
120
|
+
extend(options: Partial<HttpClientOptions>): HyperCore;
|
|
121
|
+
/**
|
|
122
|
+
* @ru Алиас для extend(). Создаёт новый экземпляр HyperCore.
|
|
123
|
+
* @en Alias for extend(). Creates a new HyperCore instance.
|
|
124
|
+
* @param options - Configuration options.
|
|
125
|
+
* @returns New HyperCore instance.
|
|
126
|
+
*/
|
|
41
127
|
create(options: Partial<HttpClientOptions>): HyperCore;
|
|
128
|
+
/**
|
|
129
|
+
* @ru Уничтожает клиент, закрывая соединения и очищая ресурсы.
|
|
130
|
+
* @en Destroys the client, closing connections and cleaning up resources.
|
|
131
|
+
* @param graceful - If true, attempts graceful shutdown (default: true).
|
|
132
|
+
* @returns Promise that resolves when destruction is complete.
|
|
133
|
+
*/
|
|
42
134
|
destroy(graceful?: boolean): Promise<void>;
|
|
135
|
+
/**
|
|
136
|
+
* @ru Выполняет запрос и сразу возвращает распарсенный JSON (сокращённый метод).
|
|
137
|
+
* @en Performs a request and immediately returns parsed JSON (shortcut method).
|
|
138
|
+
* @param req - Request URL or RequestInterface object.
|
|
139
|
+
* @param signal - Optional abort signal.
|
|
140
|
+
* @returns Promise with the parsed JSON value.
|
|
141
|
+
* @throws If the response does not contain a json() method.
|
|
142
|
+
*/
|
|
43
143
|
json<T = unknown>(req: RequestInterface | string, signal?: AbortSignal): Promise<T>;
|
|
144
|
+
/**
|
|
145
|
+
* @ru Выполняет запрос и возвращает тело как строку (сокращённый метод).
|
|
146
|
+
* @en Performs a request and returns the body as a string (shortcut method).
|
|
147
|
+
* @param req - Request URL or RequestInterface object.
|
|
148
|
+
* @param signal - Optional abort signal.
|
|
149
|
+
* @returns Promise with the response text.
|
|
150
|
+
* @throws If the response does not contain a text() method.
|
|
151
|
+
*/
|
|
44
152
|
text(req: RequestInterface | string, signal?: AbortSignal): Promise<string>;
|
|
153
|
+
/**
|
|
154
|
+
* @ru Выполняет запрос и немедленно отменяет (сбрасывает) тело ответа без чтения.
|
|
155
|
+
* @en Performs a request and immediately discards the response body without reading.
|
|
156
|
+
* @param req - Request URL or RequestInterface object.
|
|
157
|
+
* @param signal - Optional abort signal.
|
|
158
|
+
* @returns Promise that resolves after dumping the response.
|
|
159
|
+
* @throws If the response does not contain a dump() method.
|
|
160
|
+
*/
|
|
45
161
|
dump(req: RequestInterface | string, signal?: AbortSignal): Promise<void>;
|
|
162
|
+
private runResponsePipeline;
|
|
163
|
+
private handleDispatchError;
|
|
164
|
+
private applyDecompression;
|
|
165
|
+
private buildInternalRequest;
|
|
166
|
+
private createInternalRequestObject;
|
|
167
|
+
private appendQueryParams;
|
|
168
|
+
private dispatchShortcut;
|
|
46
169
|
}
|
|
47
|
-
export {};
|
|
48
170
|
//# sourceMappingURL=HyperCore.d.ts.map
|
package/Core/HyperCore.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperCore.d.ts","sourceRoot":"","sources":["../../src/Core/HyperCore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,iBAAiB,EAEjB,WAAW,EACX,eAAe,EACf,YAAY,EAEZ,gBAAgB,EAChB,cAAc,EACd,eAAe,EAEhB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"HyperCore.d.ts","sourceRoot":"","sources":["../../src/Core/HyperCore.ts"],"names":[],"mappings":"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"}
|