@hyperttp/core 1.0.5 → 1.1.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 +31 -0
- package/Core/HyperCore.d.ts.map +1 -0
- package/Core/HyperCore.js +182 -0
- package/Core/HyperCore.js.map +1 -0
- package/{dist/Core → Core}/RequestExecutor.d.ts +5 -2
- package/Core/RequestExecutor.d.ts.map +1 -0
- package/{dist/Core → Core}/RequestExecutor.js +35 -33
- package/Core/RequestExecutor.js.map +1 -0
- package/{dist/Core → Core}/index.d.ts +0 -1
- package/{dist/Core → Core}/index.d.ts.map +1 -1
- package/{dist/Core → Core}/index.js.map +1 -1
- package/defaultConfig.d.ts +3 -0
- package/defaultConfig.d.ts.map +1 -0
- package/defaultConfig.js +21 -0
- package/defaultConfig.js.map +1 -0
- package/{dist/index.d.ts → index.d.ts} +2 -1
- package/index.d.ts.map +1 -0
- package/package.json +7 -7
- package/transports/bun.d.ts +14 -0
- package/transports/bun.d.ts.map +1 -0
- package/transports/bun.js +153 -0
- package/transports/bun.js.map +1 -0
- package/transports/node.d.ts +15 -0
- package/transports/node.d.ts.map +1 -0
- package/transports/node.js +156 -0
- package/transports/node.js.map +1 -0
- package/types/hyper.d.ts +30 -0
- package/types/hyper.d.ts.map +1 -0
- package/types/hyper.js +2 -0
- package/types/hyper.js.map +1 -0
- package/{dist/types → types}/metrics.d.ts +2 -0
- package/types/metrics.d.ts.map +1 -0
- package/{dist/types → types}/network.d.ts +5 -0
- package/{dist/types → types}/network.d.ts.map +1 -1
- package/{dist/types → types}/options.d.ts +2 -1
- package/{dist/types → types}/options.d.ts.map +1 -1
- package/types/plugins.d.ts +35 -0
- package/types/plugins.d.ts.map +1 -0
- package/{dist/types → types}/request.d.ts +1 -0
- package/{dist/types → types}/request.d.ts.map +1 -1
- package/types/transport.d.ts +20 -0
- package/types/transport.d.ts.map +1 -0
- package/types/transport.js +2 -0
- package/types/transport.js.map +1 -0
- package/utils/merge.d.ts +2 -0
- package/utils/merge.d.ts.map +1 -0
- package/utils/merge.js +25 -0
- package/utils/merge.js.map +1 -0
- package/LICENSE +0 -21
- package/README.md +0 -210
- package/dist/Core/HyperCore.d.ts +0 -59
- package/dist/Core/HyperCore.d.ts.map +0 -1
- package/dist/Core/HyperCore.js +0 -162
- package/dist/Core/HyperCore.js.map +0 -1
- package/dist/Core/RequestExecutor.d.ts.map +0 -1
- package/dist/Core/RequestExecutor.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/types/metrics.d.ts.map +0 -1
- package/dist/types/plugins.d.ts +0 -35
- package/dist/types/plugins.d.ts.map +0 -1
- /package/{dist/Core → Core}/index.js +0 -0
- /package/{dist/index.js → index.js} +0 -0
- /package/{dist/index.js.map → index.js.map} +0 -0
- /package/{dist/types → types}/errors.d.ts +0 -0
- /package/{dist/types → types}/errors.d.ts.map +0 -0
- /package/{dist/types → types}/errors.js +0 -0
- /package/{dist/types → types}/errors.js.map +0 -0
- /package/{dist/types → types}/http.d.ts +0 -0
- /package/{dist/types → types}/http.d.ts.map +0 -0
- /package/{dist/types → types}/http.js +0 -0
- /package/{dist/types → types}/http.js.map +0 -0
- /package/{dist/types → types}/metrics.js +0 -0
- /package/{dist/types → types}/metrics.js.map +0 -0
- /package/{dist/types → types}/network.js +0 -0
- /package/{dist/types → types}/network.js.map +0 -0
- /package/{dist/types → types}/options.js +0 -0
- /package/{dist/types → types}/options.js.map +0 -0
- /package/{dist/types → types}/plugins.js +0 -0
- /package/{dist/types → types}/plugins.js.map +0 -0
- /package/{dist/types → types}/request.js +0 -0
- /package/{dist/types → types}/request.js.map +0 -0
- /package/{dist/types → types}/retry.d.ts +0 -0
- /package/{dist/types → types}/retry.d.ts.map +0 -0
- /package/{dist/types → types}/retry.js +0 -0
- /package/{dist/types → types}/retry.js.map +0 -0
- /package/{dist/types → types}/stream.d.ts +0 -0
- /package/{dist/types → types}/stream.d.ts.map +0 -0
- /package/{dist/types → types}/stream.js +0 -0
- /package/{dist/types → types}/stream.js.map +0 -0
package/README.md
DELETED
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
# @hyperttp/core 🚀
|
|
2
|
-
|
|
3
|
-
> English | Русский
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 🌐 Language / Язык
|
|
8
|
-
|
|
9
|
-
- 🇺🇸 [English](https://github.com/IT-IF-OR/hyperttp-core)
|
|
10
|
-
- 🇷🇺 [Русский](https://github.com/IT-IF-OR/hyperttp-core/tree/main/lang/ru)
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
High-performance HTTP core for Node.js and Bun built on top of `undici`.
|
|
15
|
-
|
|
16
|
-
`@hyperttp/core` is designed for:
|
|
17
|
-
|
|
18
|
-
- stable p90/p99 latency,
|
|
19
|
-
- predictable behavior under load,
|
|
20
|
-
- tail-latency reduction,
|
|
21
|
-
- high throughput performance,
|
|
22
|
-
- low overhead transport-layer abstraction.
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
## Features
|
|
27
|
-
|
|
28
|
-
- ⚡ High performance HTTP execution layer
|
|
29
|
-
- 📉 Stable p90/p99 latency under load
|
|
30
|
-
- 🔄 Keep-Alive & connection pooling
|
|
31
|
-
- 🌊 Stream response support
|
|
32
|
-
- 🍪 CookieAgent integration
|
|
33
|
-
- 📈 Request metrics tracking
|
|
34
|
-
- 🔧 Flexible network-layer configuration
|
|
35
|
-
- ♻️ Retry & redirect handling
|
|
36
|
-
- 🧩 Simple API over `undici`
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## Performance
|
|
41
|
-
|
|
42
|
-
`@hyperttp/core` provides:
|
|
43
|
-
|
|
44
|
-
- minimal p99 latency among most HTTP clients,
|
|
45
|
-
- throughput close to `undici`,
|
|
46
|
-
- significantly more stable latency under load.
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## Benchmark
|
|
51
|
-
|
|
52
|
-
### Test configuration
|
|
53
|
-
|
|
54
|
-
```txt
|
|
55
|
-
Requests 20000
|
|
56
|
-
Concurrency 200
|
|
57
|
-
Warmup 500
|
|
58
|
-
Timeout 60000 ms
|
|
59
|
-
Runtime Node.js
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
Benchmark executed via:
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
npx tsx ./bench.ts
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
## [Benchmark results](https://github.com/IT-IF-OR/bench)
|
|
71
|
-
|
|
72
|
-
| Client | RPS | Avg | p99 | Heap |
|
|
73
|
-
| :------------- | ----: | ------: | -------: | ------: |
|
|
74
|
-
| undici | 9.86K | 20.22ms | 203.05ms | 155 MB |
|
|
75
|
-
| @hyperttp/core | 9.04K | 22.10ms | 29.14ms | 295 MB |
|
|
76
|
-
| hyperttp | 7.10K | 28.12ms | 40.02ms | 272 MB |
|
|
77
|
-
| fetch | 5.78K | 34.47ms | 322.17ms | 289 MB |
|
|
78
|
-
| ky | 4.50K | 44.35ms | 440.24ms | 374 MB |
|
|
79
|
-
| axios | 4.08K | 48.76ms | 54.92ms | 238 MB |
|
|
80
|
-
| node-fetch | 3.62K | 55.10ms | 83.60ms | 434 MB |
|
|
81
|
-
| got | 3.06K | 65.31ms | 96.38ms | 164 MB |
|
|
82
|
-
| superagent | 2.96K | 67.29ms | 78.96ms | 81.1 MB |
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
## Why p99 matters
|
|
87
|
-
|
|
88
|
-
Most HTTP clients look good on average latency but suffer from high tail latency
|
|
89
|
-
under load.
|
|
90
|
-
|
|
91
|
-
`@hyperttp/core` is optimized for:
|
|
92
|
-
|
|
93
|
-
- stable scheduling behavior,
|
|
94
|
-
- predictable concurrency,
|
|
95
|
-
- minimized latency spikes,
|
|
96
|
-
- burst workload stability.
|
|
97
|
-
|
|
98
|
-
---
|
|
99
|
-
|
|
100
|
-
## Installation
|
|
101
|
-
|
|
102
|
-
### Bun
|
|
103
|
-
|
|
104
|
-
```bash
|
|
105
|
-
bun add @hyperttp/core
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
### npm
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
npm install @hyperttp/core
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
## Quick start
|
|
117
|
-
|
|
118
|
-
```ts
|
|
119
|
-
import { HyperCore } from "@hyperttp/core";
|
|
120
|
-
|
|
121
|
-
const core = new HyperCore({
|
|
122
|
-
verbose: true,
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
const response = await core.get("http://localhost:3000/json");
|
|
126
|
-
|
|
127
|
-
console.log(response.body);
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
## Configuration
|
|
133
|
-
|
|
134
|
-
```ts
|
|
135
|
-
import { HyperCore } from "@hyperttp/core";
|
|
136
|
-
|
|
137
|
-
const core = new HyperCore({
|
|
138
|
-
verbose: true,
|
|
139
|
-
|
|
140
|
-
trackMetrics: true,
|
|
141
|
-
|
|
142
|
-
network: {
|
|
143
|
-
timeout: 30000,
|
|
144
|
-
maxConcurrent: 500,
|
|
145
|
-
pipelining: 10,
|
|
146
|
-
keepAliveTimeout: 30000,
|
|
147
|
-
allowHttp2: true,
|
|
148
|
-
followRedirects: true,
|
|
149
|
-
maxRedirects: 5,
|
|
150
|
-
},
|
|
151
|
-
|
|
152
|
-
retry: {
|
|
153
|
-
maxRetries: 3,
|
|
154
|
-
},
|
|
155
|
-
});
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
## Stream API
|
|
161
|
-
|
|
162
|
-
```ts
|
|
163
|
-
import fs from "node:fs";
|
|
164
|
-
|
|
165
|
-
const stream = await core.stream("https://example.com/file.zip");
|
|
166
|
-
|
|
167
|
-
stream.body.pipe(fs.createWriteStream("./file.zip"));
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
---
|
|
171
|
-
|
|
172
|
-
## Metrics
|
|
173
|
-
|
|
174
|
-
```ts
|
|
175
|
-
const core = new HyperCore({
|
|
176
|
-
trackMetrics: true,
|
|
177
|
-
});
|
|
178
|
-
|
|
179
|
-
const response = await core.get("https://api.example.com");
|
|
180
|
-
|
|
181
|
-
console.log(response.meta?.timings);
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
Example:
|
|
185
|
-
|
|
186
|
-
```ts
|
|
187
|
-
{
|
|
188
|
-
networkMs: 12.41;
|
|
189
|
-
}
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
---
|
|
193
|
-
|
|
194
|
-
## Runtime support
|
|
195
|
-
|
|
196
|
-
- Node.js 18+
|
|
197
|
-
- Bun
|
|
198
|
-
|
|
199
|
-
---
|
|
200
|
-
|
|
201
|
-
## Built on
|
|
202
|
-
|
|
203
|
-
- `undici`
|
|
204
|
-
- `http-cookie-agent`
|
|
205
|
-
|
|
206
|
-
---
|
|
207
|
-
|
|
208
|
-
## License
|
|
209
|
-
|
|
210
|
-
MIT
|
package/dist/Core/HyperCore.d.ts
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import type { Method } from "../types/http.js";
|
|
2
|
-
import type { HttpClientOptions } from "../types/options.js";
|
|
3
|
-
import type { RequestBodyData, RequestInterface } from "../types/request.js";
|
|
4
|
-
import type { StreamResponse } from "../types/stream.js";
|
|
5
|
-
import type { Readable } from "node:stream";
|
|
6
|
-
import type { RequestMetrics } from "../types/metrics.js";
|
|
7
|
-
export interface InternalRequest {
|
|
8
|
-
method: Method;
|
|
9
|
-
url: RequestInterface | string;
|
|
10
|
-
headers: Record<string, string>;
|
|
11
|
-
body?: RequestBodyData;
|
|
12
|
-
signal?: AbortSignal;
|
|
13
|
-
isGet: boolean;
|
|
14
|
-
meta?: {
|
|
15
|
-
timings?: {
|
|
16
|
-
serializationMs?: number;
|
|
17
|
-
networkMs?: number;
|
|
18
|
-
parsingMs?: number;
|
|
19
|
-
};
|
|
20
|
-
[key: string]: any;
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
export interface HttpResponse<T = any> {
|
|
24
|
-
status: number;
|
|
25
|
-
headers: Record<string, any>;
|
|
26
|
-
url?: string;
|
|
27
|
-
body: T;
|
|
28
|
-
}
|
|
29
|
-
export interface HyperStats {
|
|
30
|
-
inflightRequests?: number;
|
|
31
|
-
cacheSize?: number;
|
|
32
|
-
queuedRequests?: number;
|
|
33
|
-
activeQueue?: number;
|
|
34
|
-
rateLimitHits?: number;
|
|
35
|
-
[key: string]: any;
|
|
36
|
-
}
|
|
37
|
-
export declare class HyperCore {
|
|
38
|
-
config: HttpClientOptions;
|
|
39
|
-
private agent;
|
|
40
|
-
private executor;
|
|
41
|
-
private defaultHeaders;
|
|
42
|
-
constructor(config: HttpClientOptions);
|
|
43
|
-
dispatch: <T = any>(req: InternalRequest) => Promise<HttpResponse<T>>;
|
|
44
|
-
get<T = any>(req: RequestInterface | string, signal?: AbortSignal): Promise<HttpResponse<T>>;
|
|
45
|
-
post<T = any>(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise<HttpResponse<T>>;
|
|
46
|
-
put<T = any>(req: RequestInterface | string, body?: RequestBodyData): Promise<HttpResponse<T>>;
|
|
47
|
-
delete<T = any>(req: RequestInterface | string): Promise<HttpResponse<T>>;
|
|
48
|
-
patch<T = any>(req: RequestInterface | string, body?: RequestBodyData): Promise<HttpResponse<T>>;
|
|
49
|
-
options<T = any>(req: RequestInterface | string, body?: RequestBodyData): Promise<HttpResponse<T>>;
|
|
50
|
-
head(req: RequestInterface | string): Promise<HttpResponse<null>>;
|
|
51
|
-
extend(options: Partial<HttpClientOptions>): HyperCore;
|
|
52
|
-
create(options: Partial<HttpClientOptions>): HyperCore;
|
|
53
|
-
stream(req: RequestInterface | string): Promise<StreamResponse<Readable>>;
|
|
54
|
-
private requestInternal;
|
|
55
|
-
getStats(): HyperStats;
|
|
56
|
-
getAllMetrics(): RequestMetrics[];
|
|
57
|
-
destroy(): Promise<void>;
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=HyperCore.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HyperCore.d.ts","sourceRoot":"","sources":["../../src/Core/HyperCore.ts"],"names":[],"mappings":"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"}
|
package/dist/Core/HyperCore.js
DELETED
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { CookieAgent } from "http-cookie-agent/undici";
|
|
2
|
-
import { RequestExecutor } from "./RequestExecutor.js";
|
|
3
|
-
export class HyperCore {
|
|
4
|
-
config;
|
|
5
|
-
agent;
|
|
6
|
-
executor;
|
|
7
|
-
defaultHeaders;
|
|
8
|
-
constructor(config) {
|
|
9
|
-
this.config = config;
|
|
10
|
-
const concurrency = config.network?.maxConcurrent === 0
|
|
11
|
-
? Infinity
|
|
12
|
-
: (config.network?.maxConcurrent ?? 500);
|
|
13
|
-
const pipelining = config.network?.pipelining === 0
|
|
14
|
-
? 256
|
|
15
|
-
: (config.network?.pipelining ?? 10);
|
|
16
|
-
this.agent = new CookieAgent({
|
|
17
|
-
connections: concurrency === Infinity ? 0x7fffffff : concurrency,
|
|
18
|
-
pipelining: pipelining,
|
|
19
|
-
keepAliveTimeout: config.network?.keepAliveTimeout ?? 30000,
|
|
20
|
-
keepAliveMaxTimeout: config.network?.keepAliveTimeout ?? 30000,
|
|
21
|
-
connect: { rejectUnauthorized: config.network?.rejectUnauthorized },
|
|
22
|
-
allowH2: config.network?.allowHttp2 ?? true,
|
|
23
|
-
});
|
|
24
|
-
const retryOptions = {
|
|
25
|
-
maxRetries: config.retry?.maxRetries ?? 3,
|
|
26
|
-
...config.retry,
|
|
27
|
-
};
|
|
28
|
-
const network = config.network;
|
|
29
|
-
this.executor = new RequestExecutor(this.agent, {
|
|
30
|
-
timeout: network?.timeout ?? 30000,
|
|
31
|
-
maxRetries: retryOptions.maxRetries ?? 3,
|
|
32
|
-
followRedirects: network?.followRedirects ?? true,
|
|
33
|
-
maxRedirects: network?.maxRedirects ?? 5,
|
|
34
|
-
retryOptions: retryOptions,
|
|
35
|
-
verbose: config.verbose ?? false,
|
|
36
|
-
logger: config.logger,
|
|
37
|
-
});
|
|
38
|
-
this.defaultHeaders = {
|
|
39
|
-
Accept: "application/json, text/plain, */*",
|
|
40
|
-
"Accept-Encoding": "gzip, deflate, br",
|
|
41
|
-
"User-Agent": config.network?.userAgent || "Hyperttp/2.0",
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
dispatch = async (req) => {
|
|
45
|
-
const urlString = typeof req.url === "string" ? req.url : req.url.getURL();
|
|
46
|
-
if (req.signal?.aborted) {
|
|
47
|
-
throw new Error("Request aborted by user");
|
|
48
|
-
}
|
|
49
|
-
req.meta = req.meta || {};
|
|
50
|
-
req.meta.timings = req.meta.timings || {};
|
|
51
|
-
const startNetwork = this.config.trackMetrics
|
|
52
|
-
? process.hrtime.bigint()
|
|
53
|
-
: null;
|
|
54
|
-
const rawResponse = await this.executor.execute(req.method, urlString, req.headers, req.body, req.signal);
|
|
55
|
-
if (this.config.trackMetrics && startNetwork !== null) {
|
|
56
|
-
req.meta.timings.networkMs =
|
|
57
|
-
Number(process.hrtime.bigint() - startNetwork) / 1_000_000;
|
|
58
|
-
}
|
|
59
|
-
return {
|
|
60
|
-
status: rawResponse.status,
|
|
61
|
-
headers: rawResponse.headers,
|
|
62
|
-
body: req.method === "HEAD" ? undefined : rawResponse.body,
|
|
63
|
-
url: rawResponse.url,
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
get(req, signal) {
|
|
67
|
-
if (typeof req === "string") {
|
|
68
|
-
return this.dispatch({
|
|
69
|
-
method: "GET",
|
|
70
|
-
url: req,
|
|
71
|
-
headers: { ...this.defaultHeaders },
|
|
72
|
-
isGet: true,
|
|
73
|
-
signal,
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
return this.requestInternal("GET", req, undefined, true, signal);
|
|
77
|
-
}
|
|
78
|
-
post(req, body, signal) {
|
|
79
|
-
return this.requestInternal("POST", req, body, false, signal);
|
|
80
|
-
}
|
|
81
|
-
put(req, body) {
|
|
82
|
-
return this.requestInternal("PUT", req, body, false);
|
|
83
|
-
}
|
|
84
|
-
delete(req) {
|
|
85
|
-
return this.requestInternal("DELETE", req, undefined, false);
|
|
86
|
-
}
|
|
87
|
-
patch(req, body) {
|
|
88
|
-
return this.requestInternal("PATCH", req, body, false);
|
|
89
|
-
}
|
|
90
|
-
options(req, body) {
|
|
91
|
-
return this.requestInternal("OPTIONS", req, body, false);
|
|
92
|
-
}
|
|
93
|
-
async head(req) {
|
|
94
|
-
return this.requestInternal("HEAD", req, undefined, false);
|
|
95
|
-
}
|
|
96
|
-
extend(options) {
|
|
97
|
-
return new HyperCore({
|
|
98
|
-
...this.config,
|
|
99
|
-
...options,
|
|
100
|
-
network: {
|
|
101
|
-
...this.config.network,
|
|
102
|
-
...options.network,
|
|
103
|
-
},
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
create(options) {
|
|
107
|
-
return this.extend(options);
|
|
108
|
-
}
|
|
109
|
-
async stream(req) {
|
|
110
|
-
const url = typeof req === "string" ? req : req.getURL();
|
|
111
|
-
const signal = typeof req !== "string"
|
|
112
|
-
? (req.getSignal?.() ?? req.signal)
|
|
113
|
-
: undefined;
|
|
114
|
-
const headers = {
|
|
115
|
-
...this.defaultHeaders,
|
|
116
|
-
...(typeof req !== "string" ? req.getHeaders?.() : {}),
|
|
117
|
-
};
|
|
118
|
-
const rawResponse = await this.executor.execute("GET", url, headers, undefined, signal);
|
|
119
|
-
return {
|
|
120
|
-
status: rawResponse.status,
|
|
121
|
-
headers: rawResponse.headers,
|
|
122
|
-
body: rawResponse.body,
|
|
123
|
-
url: rawResponse.url,
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
async requestInternal(method, req, body, isGet = false, signal) {
|
|
127
|
-
return this.dispatch({
|
|
128
|
-
method,
|
|
129
|
-
url: req,
|
|
130
|
-
headers: {
|
|
131
|
-
...this.defaultHeaders,
|
|
132
|
-
...(typeof req !== "string" ? req.getHeaders?.() : {}),
|
|
133
|
-
},
|
|
134
|
-
body: typeof req !== "string" && req.getBodyData ? req.getBodyData() : body,
|
|
135
|
-
isGet,
|
|
136
|
-
signal: typeof req !== "string" ? req.getSignal?.() : signal,
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
getStats() {
|
|
140
|
-
return {};
|
|
141
|
-
}
|
|
142
|
-
getAllMetrics() {
|
|
143
|
-
return [];
|
|
144
|
-
}
|
|
145
|
-
async destroy() {
|
|
146
|
-
try {
|
|
147
|
-
const anyAgent = this.agent;
|
|
148
|
-
if (typeof anyAgent.destroy === "function") {
|
|
149
|
-
await anyAgent.destroy();
|
|
150
|
-
}
|
|
151
|
-
else if (typeof anyAgent.close === "function") {
|
|
152
|
-
await anyAgent.close();
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
catch (error) {
|
|
156
|
-
if (this.config.verbose) {
|
|
157
|
-
console.warn("[HyperCore] destroy failed:", error);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
//# sourceMappingURL=HyperCore.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HyperCore.js","sourceRoot":"","sources":["../../src/Core/HyperCore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RequestExecutor.d.ts","sourceRoot":"","sources":["../../src/Core/RequestExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAU,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACvD,IAAI,EAAE,GAAG,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,UAAU,kBAAkB;IAC1B,YAAY,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,aAAa,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAC5C;AAED;;;GAGG;AACH,qBAAa,eAAe;IAIxB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IAJjB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsC;gBAGhE,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,OAAO,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,YAAY,CAAC;QAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;KACjE;IAGH;;;OAGG;IACG,OAAO,CACX,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EACjC,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,cAAc,EACxB,YAAY,CAAC,EAAE,kBAAkB,GAAG,GAAG,GACtC,OAAO,CAAC,gBAAgB,CAAC;IAa5B;;;OAGG;IACH,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,KAAK;IAIb;;;OAGG;YACW,SAAS;IAoBvB;;;OAGG;IACH,OAAO,CAAC,WAAW;YAQL,WAAW;CA2L1B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RequestExecutor.js","sourceRoot":"","sources":["../../src/Core/RequestExecutor.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,YAAY,EACV,eAAe,EACf,YAAY,EACZ,UAAU,GACX,MAAM,qBAAqB,CAAC;AAE7B,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,iBAAiB,CAAC;AACrC,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,mBAAmB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/types/metrics.ts"],"names":[],"mappings":"AAAA,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,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/dist/types/plugins.d.ts
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import type { HyperCore } from "../Core/HyperCore.js";
|
|
2
|
-
import type { HttpClientOptions } from "./options.js";
|
|
3
|
-
/**
|
|
4
|
-
* @ru
|
|
5
|
-
* Фазы жизненного цикла запроса (выполняются строго по очереди от начала до отправки).
|
|
6
|
-
* Конвейер запроса: START -> PREPARE -> CONTROL -> FORMAT -> SEND.
|
|
7
|
-
* Конвейер ответа: SEND -> FORMAT -> CONTROL -> PREPARE -> START.
|
|
8
|
-
* @en
|
|
9
|
-
* Request lifecycle phases (executed strictly in order from start to dispatch).
|
|
10
|
-
* Request pipeline: START -> PREPARE -> CONTROL -> FORMAT -> SEND.
|
|
11
|
-
* Response pipeline: SEND -> FORMAT -> CONTROL -> PREPARE -> START.
|
|
12
|
-
*/
|
|
13
|
-
export type PluginPhase = /**
|
|
14
|
-
* @ru Самое начало. Тут запускаются таймеры метрик и пишутся первые логи.
|
|
15
|
-
* @en The very beginning. Metrics timers start and initial logs are written here.
|
|
16
|
-
*/ "START" /**
|
|
17
|
-
* @ru Подготовка запроса. Проверка кэша (чтобы вернуть ответ сразу) или добавление токенов авторизации.
|
|
18
|
-
* @en Request preparation. Checking cache (to return early) or injecting auth tokens.
|
|
19
|
-
*/ | "PREPARE" /**
|
|
20
|
-
* @ru Контроль потока. Управление очередью запросов, лимитами частоты и повторами при ошибках.
|
|
21
|
-
* @en Flow control. Managing request queues, rate limits, and error retries.
|
|
22
|
-
*/ | "CONTROL" /**
|
|
23
|
-
* @ru Форматирование. Превращение объектов в JSON/FormData перед отправкой и парсинг ответов сервера.
|
|
24
|
-
* @en Data formatting. Serializing objects to JSON/FormData before sending and parsing server responses.
|
|
25
|
-
*/ | "FORMAT" /**
|
|
26
|
-
* @ru Отправка. Низкоуровневый fetch, работа через прокси или утилиты обхода (Zapret, Xray).
|
|
27
|
-
* @en Dispatching. Low-level fetch operations, proxy routing, or bypass utilities (Zapret, Xray).
|
|
28
|
-
*/ | "NETWORK";
|
|
29
|
-
export interface HyperPlugin<T extends HyperCore = HyperCore> {
|
|
30
|
-
name: string;
|
|
31
|
-
phase: PluginPhase;
|
|
32
|
-
enabled: (config: HttpClientOptions) => boolean;
|
|
33
|
-
apply: (client: HyperCore, config: HttpClientOptions) => T;
|
|
34
|
-
}
|
|
35
|
-
//# 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,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GACnB;;;GAGC,CACH,OAAO,CAAC;;;GAGL,GACD,SAAS,CAAC;;;GAGT,GACD,SAAS,CAAC;;;GAGT,GACD,QAAQ,CAAC;;;GAGR,GACD,SAAS,CAAC;AAEd,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC;IAChD,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,KAAK,CAAC,CAAC;CAC5D"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|