@hyperttp/transport-bun 0.2.3 → 0.2.4
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/README.md +138 -56
- package/bun.d.ts +14 -14
- package/bun.d.ts.map +1 -1
- package/bun.js +106 -73
- package/bun.js.map +1 -1
- package/package.json +3 -2
- package/utils/helpers.d.ts +0 -7
- package/utils/helpers.d.ts.map +1 -1
- package/utils/helpers.js +0 -29
- package/utils/helpers.js.map +1 -1
package/README.md
CHANGED
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
# BunTransport
|
|
2
2
|
|
|
3
|
-
`BunTransport` is a
|
|
3
|
+
`BunTransport` is a high-performance HTTP transport for the
|
|
4
|
+
[HyperTransport](https://github.com/IT-IF-OR) ecosystem, designed for the **Bun runtime**.
|
|
4
5
|
|
|
5
|
-
It wraps `fetch` and adds:
|
|
6
|
+
It wraps native `fetch` and adds:
|
|
6
7
|
|
|
7
|
-
- concurrency limiting
|
|
8
|
+
- concurrency limiting with FIFO queue
|
|
8
9
|
- request timeouts via `AbortSignal`
|
|
9
|
-
- automatic cookie handling
|
|
10
|
+
- automatic cookie handling with TTL and LRU eviction
|
|
11
|
+
- response caching for GET/HEAD requests
|
|
12
|
+
- stealth / fingerprint mimicry (JA3/JA4)
|
|
10
13
|
- header normalization
|
|
11
14
|
- `keepalive` support
|
|
12
|
-
-
|
|
15
|
+
- TLS configuration (ciphers, `rejectUnauthorized`)
|
|
13
16
|
|
|
14
17
|
---
|
|
15
18
|
|
|
16
19
|
## Interface
|
|
17
20
|
|
|
18
21
|
```ts
|
|
19
|
-
/**
|
|
20
|
-
* @ru Общий интерфейс для реализации сетевых транспортов.
|
|
21
|
-
* @en Unified interface for building runtime-specific network transports.
|
|
22
|
-
*/
|
|
23
22
|
export interface HyperTransport {
|
|
24
23
|
execute(req: TransportRequest): Promise<TransportResponse>;
|
|
25
24
|
close?(): Promise<void>;
|
|
@@ -34,43 +33,65 @@ export interface HyperTransport {
|
|
|
34
33
|
## Features
|
|
35
34
|
|
|
36
35
|
- `fetch`-based implementation with `signal` support
|
|
37
|
-
- `redirect: "manual"`
|
|
38
36
|
- automatic merging of cookies from responses and subsequent requests
|
|
39
|
-
- cookie cache per domain
|
|
40
|
-
-
|
|
37
|
+
- cookie cache per domain with configurable TTL
|
|
38
|
+
- response cache for GET/HEAD requests (optional, via `hcacher`)
|
|
39
|
+
- request concurrency limiting with FIFO queue
|
|
41
40
|
- request timeout support
|
|
42
|
-
-
|
|
41
|
+
- stealth mode: browser-like TLS fingerprint emulation (Chrome, Firefox, Safari, Edge)
|
|
42
|
+
- `baseUrl` support for relative URLs
|
|
43
43
|
- compatibility with `TransportRequest` / `TransportResponse`
|
|
44
44
|
|
|
45
45
|
---
|
|
46
46
|
|
|
47
|
+
## Benchmark
|
|
48
|
+
|
|
49
|
+
Benchmark results on **Bun 1.3.14** (20K requests, 200 concurrent, 60s duration):
|
|
50
|
+
|
|
51
|
+
```text
|
|
52
|
+
Environment: linux 7.1.3-zen2-1-zen | Intel Core i5-8600K @ 3.60GHz
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
| Rank | Client | RPS | Avg | p50 | p90 | p99 | Errors |
|
|
56
|
+
| ---- | -------------- | ------ | -------- | -------- | -------- | -------- | ------ |
|
|
57
|
+
| 1 | bun-fetch | 25.92K | 7.65 ms | 7.69 ms | 10.41 ms | 14.00 ms | 0 |
|
|
58
|
+
| 2 | undici | 21.47K | 9.28 ms | 9.54 ms | 12.80 ms | 14.77 ms | 0 |
|
|
59
|
+
| 3 | @hyperttp/core | 14.70K | 13.53 ms | 12.03 ms | 17.36 ms | 19.72 ms | 0 |
|
|
60
|
+
| 4 | axios | 6.24K | 31.85 ms | 31.83 ms | 33.82 ms | 36.10 ms | 0 |
|
|
61
|
+
|
|
62
|
+
`BunTransport` (via `@hyperttp/core`) delivers **2.4x higher throughput** than `axios` with **2.3x lower latency** (p50).
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
47
66
|
## Installation
|
|
48
67
|
|
|
49
68
|
`BunTransport` is designed for Bun, so the project must run in the Bun runtime.
|
|
50
69
|
|
|
51
70
|
```bash
|
|
52
|
-
bun
|
|
71
|
+
bun add @hyperttp/transport-bun
|
|
53
72
|
```
|
|
54
73
|
|
|
74
|
+
Peer dependencies: `@hyperttp/types`, `hcacher`.
|
|
75
|
+
|
|
55
76
|
---
|
|
56
77
|
|
|
57
78
|
## Usage
|
|
58
79
|
|
|
59
80
|
```ts
|
|
60
|
-
import { BunTransport } from "
|
|
81
|
+
import { BunTransport } from "@hyperttp/transport-bun";
|
|
61
82
|
|
|
62
83
|
const transport = new BunTransport({
|
|
84
|
+
baseUrl: "https://api.example.com",
|
|
63
85
|
network: {
|
|
64
86
|
timeout: 10_000,
|
|
65
87
|
maxConcurrent: 32,
|
|
66
|
-
userAgent: "Hyperttp/1.0",
|
|
67
88
|
keepAliveTimeout: 30_000,
|
|
68
89
|
rejectUnauthorized: true,
|
|
69
90
|
},
|
|
70
91
|
});
|
|
71
92
|
|
|
72
93
|
const response = await transport.execute({
|
|
73
|
-
url: "
|
|
94
|
+
url: "/users",
|
|
74
95
|
method: "GET",
|
|
75
96
|
headers: {},
|
|
76
97
|
body: null,
|
|
@@ -84,54 +105,71 @@ console.log(await response.text());
|
|
|
84
105
|
|
|
85
106
|
## Configuration
|
|
86
107
|
|
|
87
|
-
`BunTransport`
|
|
108
|
+
`BunTransport` accepts a `BunTransportConfig` object:
|
|
109
|
+
|
|
110
|
+
```ts
|
|
111
|
+
interface BunTransportConfig extends HttpClientOptions {
|
|
112
|
+
baseUrl?: string;
|
|
113
|
+
stealth?: StealthOptions;
|
|
114
|
+
}
|
|
115
|
+
```
|
|
88
116
|
|
|
89
|
-
|
|
117
|
+
### Network options
|
|
90
118
|
|
|
91
119
|
```ts
|
|
92
120
|
network?: {
|
|
93
121
|
maxConcurrent?: number;
|
|
94
122
|
timeout?: number;
|
|
95
|
-
userAgent?: string;
|
|
96
123
|
keepAliveTimeout?: number;
|
|
97
124
|
rejectUnauthorized?: boolean;
|
|
125
|
+
cookieCache?: {
|
|
126
|
+
enabled?: boolean;
|
|
127
|
+
maxSize?: number;
|
|
128
|
+
ttl?: number;
|
|
129
|
+
};
|
|
130
|
+
cache?: {
|
|
131
|
+
enabled?: boolean;
|
|
132
|
+
maxSize?: number;
|
|
133
|
+
ttl?: number;
|
|
134
|
+
};
|
|
98
135
|
}
|
|
99
136
|
```
|
|
100
137
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
138
|
+
| Option | Description |
|
|
139
|
+
| -------------------- | ---------------------------------------------------------------------------------------------- |
|
|
140
|
+
| `maxConcurrent` | Maximum number of concurrent active requests (0 = unlimited) |
|
|
141
|
+
| `timeout` | Global request timeout in milliseconds (0 = no timeout) |
|
|
142
|
+
| `keepAliveTimeout` | Enables `keepalive` mode when provided |
|
|
143
|
+
| `rejectUnauthorized` | Passed to Bun `fetch` via `tls` configuration |
|
|
144
|
+
| `cookieCache` | Cookie cache settings: `enabled` (default true), `maxSize` (default 256), `ttl` (default 300s) |
|
|
145
|
+
| `cache` | Response cache settings for GET/HEAD: `enabled`, `maxSize` (default 256), `ttl` (default 30s) |
|
|
108
146
|
|
|
109
147
|
---
|
|
110
148
|
|
|
111
149
|
## Cookies
|
|
112
150
|
|
|
113
|
-
The transport supports persistent cookie storage and
|
|
151
|
+
The transport supports persistent cookie storage with TTL and LRU eviction, backed by `hcacher`.
|
|
114
152
|
|
|
115
153
|
### How it works
|
|
116
154
|
|
|
117
|
-
1. When the server returns `Set-Cookie`, cookies are stored per domain.
|
|
155
|
+
1. When the server returns `Set-Cookie`, cookies are stored per domain with a TTL.
|
|
118
156
|
2. On subsequent requests to the same domain, cookies are automatically attached to the `Cookie` header.
|
|
119
157
|
3. If the user provides their own `Cookie` header, it is merged with stored cookies.
|
|
158
|
+
4. Expired entries are evicted automatically (LRU).
|
|
120
159
|
|
|
121
160
|
### Example
|
|
122
161
|
|
|
123
162
|
```ts
|
|
124
163
|
await transport.execute({
|
|
125
|
-
url: "
|
|
164
|
+
url: "/login",
|
|
126
165
|
method: "POST",
|
|
127
|
-
headers: {
|
|
128
|
-
"Content-Type": "application/json",
|
|
129
|
-
},
|
|
166
|
+
headers: { "Content-Type": "application/json" },
|
|
130
167
|
body: JSON.stringify({ login: "demo", password: "secret" }),
|
|
131
168
|
});
|
|
132
169
|
|
|
170
|
+
// Cookies from /login are automatically sent
|
|
133
171
|
const res = await transport.execute({
|
|
134
|
-
url: "
|
|
172
|
+
url: "/profile",
|
|
135
173
|
method: "GET",
|
|
136
174
|
headers: {},
|
|
137
175
|
body: null,
|
|
@@ -140,6 +178,26 @@ const res = await transport.execute({
|
|
|
140
178
|
|
|
141
179
|
---
|
|
142
180
|
|
|
181
|
+
## Response caching
|
|
182
|
+
|
|
183
|
+
When `network.cache` is configured, GET and HEAD requests are cached automatically with TTL and LRU eviction.
|
|
184
|
+
|
|
185
|
+
```ts
|
|
186
|
+
const transport = new BunTransport({
|
|
187
|
+
network: {
|
|
188
|
+
cache: {
|
|
189
|
+
enabled: true,
|
|
190
|
+
maxSize: 512,
|
|
191
|
+
ttl: 60_000, // 1 minute
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
});
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Cached responses are returned instantly on repeated requests to the same URL within the TTL window.
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
143
201
|
## Concurrency limiting
|
|
144
202
|
|
|
145
203
|
If `maxConcurrent > 0`, incoming requests are queued until a slot becomes available.
|
|
@@ -164,16 +222,45 @@ If a request is aborted, the signal reason (or a default `AbortError`) is thrown
|
|
|
164
222
|
|
|
165
223
|
---
|
|
166
224
|
|
|
225
|
+
## Stealth / fingerprint mimicry
|
|
226
|
+
|
|
227
|
+
`BunTransport` supports browser-like TLS fingerprint emulation to bypass fingerprint-based protections (JA3/JA4).
|
|
228
|
+
|
|
229
|
+
### Supported profiles
|
|
230
|
+
|
|
231
|
+
| Profile | TLS ciphers | sec-ch-ua | User-Agent |
|
|
232
|
+
| ------- | ------------- | ------------- | ----------- |
|
|
233
|
+
| chrome | Chrome suite | Chrome 126 | Chrome 126 |
|
|
234
|
+
| firefox | Firefox suite | Firefox-style | Firefox 126 |
|
|
235
|
+
| safari | Safari suite | — | Safari 17.0 |
|
|
236
|
+
| edge | Chrome suite | Chrome 126 | Edge 126 |
|
|
237
|
+
|
|
238
|
+
### Example
|
|
239
|
+
|
|
240
|
+
```ts
|
|
241
|
+
const transport = new BunTransport({
|
|
242
|
+
stealth: {
|
|
243
|
+
fingerprint: "chrome",
|
|
244
|
+
},
|
|
245
|
+
});
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
Stealth presets are applied per-request. Manual headers always take priority over preset values.
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
167
252
|
## Response API
|
|
168
253
|
|
|
169
|
-
`
|
|
254
|
+
`execute()` returns a plain `TransportResponse` object:
|
|
170
255
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
256
|
+
```ts
|
|
257
|
+
interface TransportResponse {
|
|
258
|
+
status: number;
|
|
259
|
+
url: string;
|
|
260
|
+
headers: Record<string, string | string[]>;
|
|
261
|
+
body: TransportResponsePayload | null;
|
|
262
|
+
}
|
|
263
|
+
```
|
|
177
264
|
|
|
178
265
|
### Body behavior
|
|
179
266
|
|
|
@@ -185,22 +272,15 @@ If `body` exists, a `dump()` method may be attached to it, allowing safe stream
|
|
|
185
272
|
|
|
186
273
|
### `fastGetHostname(url: string): string`
|
|
187
274
|
|
|
188
|
-
Fast hostname extraction from a URL
|
|
189
|
-
|
|
190
|
-
### `normalizeHeaderValue(name, value)`
|
|
191
|
-
|
|
192
|
-
Normalizes header values:
|
|
193
|
-
|
|
194
|
-
- `Cookie` headers are joined using `;`
|
|
195
|
-
- other arrays are joined using `,`
|
|
275
|
+
Fast hostname extraction from a URL with single-entry LRU cache. Handles `//`, `scheme://`, `user@host`, and port stripping.
|
|
196
276
|
|
|
197
|
-
### `
|
|
277
|
+
### `resolveUrl(baseUrl: string, url: string): string`
|
|
198
278
|
|
|
199
|
-
|
|
279
|
+
Resolves a relative URL against a `baseUrl`. Absolute URLs are returned as-is.
|
|
200
280
|
|
|
201
|
-
### `
|
|
281
|
+
### `normalizeHeaders(headers): Record<string, string>`
|
|
202
282
|
|
|
203
|
-
|
|
283
|
+
Normalizes headers: lowercases all keys, joins arrays (`;` for `cookie`, `,` for others).
|
|
204
284
|
|
|
205
285
|
---
|
|
206
286
|
|
|
@@ -216,8 +296,10 @@ await transport.destroy();
|
|
|
216
296
|
Both methods clear:
|
|
217
297
|
|
|
218
298
|
- pending request queue
|
|
219
|
-
- cookie
|
|
220
|
-
- cookie cache
|
|
299
|
+
- cookie store
|
|
300
|
+
- cookie string cache
|
|
301
|
+
- response cache
|
|
302
|
+
- active request counter
|
|
221
303
|
|
|
222
304
|
---
|
|
223
305
|
|
|
@@ -226,7 +308,7 @@ Both methods clear:
|
|
|
226
308
|
- Designed specifically for the **Bun runtime**, not Node.js.
|
|
227
309
|
- Uses `redirect: "manual"` for fetch requests.
|
|
228
310
|
- Minimal interference with request data; only headers, cookies, and signals are normalized or extended.
|
|
229
|
-
- `TransportRequest.body` is
|
|
311
|
+
- `TransportRequest.body` is passed directly as `BodyInit | null`.
|
|
230
312
|
|
|
231
313
|
---
|
|
232
314
|
|
package/bun.d.ts
CHANGED
|
@@ -13,25 +13,20 @@ export declare class BunTransport implements HyperTransport {
|
|
|
13
13
|
*/
|
|
14
14
|
config: BunTransportConfig;
|
|
15
15
|
/**
|
|
16
|
-
* @ru
|
|
17
|
-
* @en Cookie
|
|
16
|
+
* @ru Кэш cookies по доменам с TTL и LRU-эвикцией (domain -> name -> value).
|
|
17
|
+
* @en Cookie cache by domain with TTL and LRU eviction (domain -> name -> value).
|
|
18
18
|
*/
|
|
19
|
-
private
|
|
19
|
+
private readonly cookieStore;
|
|
20
20
|
/**
|
|
21
|
-
* @ru
|
|
22
|
-
* @en
|
|
21
|
+
* @ru Кэш сгенерированных строк cookies с TTL.
|
|
22
|
+
* @en Cache of generated cookie strings with TTL.
|
|
23
23
|
*/
|
|
24
|
-
private readonly
|
|
24
|
+
private readonly cookieStringCache;
|
|
25
25
|
/**
|
|
26
|
-
* @ru
|
|
27
|
-
* @en
|
|
26
|
+
* @ru Опциональный кэш HTTP-ответов для GET/HEAD запросов.
|
|
27
|
+
* @en Optional HTTP response cache for GET/HEAD requests.
|
|
28
28
|
*/
|
|
29
|
-
private
|
|
30
|
-
/**
|
|
31
|
-
* @ru Текущий размер кэша cookies.
|
|
32
|
-
* @en Current size of the cookie cache.
|
|
33
|
-
*/
|
|
34
|
-
private cookieCacheSize;
|
|
29
|
+
private readonly responseCache?;
|
|
35
30
|
/**
|
|
36
31
|
* @ru Счётчик активных (выполняющихся) запросов.
|
|
37
32
|
* @en Counter of active (in-flight) requests.
|
|
@@ -100,6 +95,11 @@ export declare class BunTransport implements HyperTransport {
|
|
|
100
95
|
* @returns Semicolon-separated cookie string.
|
|
101
96
|
*/
|
|
102
97
|
private getCookiesForDomain;
|
|
98
|
+
/**
|
|
99
|
+
* @ru Возвращает все домены из cookie store.
|
|
100
|
+
* @en Returns all domains from the cookie store.
|
|
101
|
+
*/
|
|
102
|
+
private getAllCookieDomains;
|
|
103
103
|
/**
|
|
104
104
|
* @ru Сохраняет cookies из заголовков Set-Cookie ответа в cookie jar.
|
|
105
105
|
* @en Stores cookies from response Set-Cookie headers into the cookie jar.
|
package/bun.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bun.d.ts","sourceRoot":"","sources":["../src/bun.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EAIlB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAgI3D;;;;;GAKG;AACH,qBAAa,YAAa,YAAW,cAAc;IACjD;;;OAGG;IACI,MAAM,EAAE,kBAAkB,CAAC;IAElC;;;OAGG;IACH,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"bun.d.ts","sourceRoot":"","sources":["../src/bun.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EAIlB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAgI3D;;;;;GAKG;AACH,qBAAa,YAAa,YAAW,cAAc;IACjD;;;OAGG;IACI,MAAM,EAAE,kBAAkB,CAAC;IAElC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IAEnE;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuB;IAEzD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAkC;IAEjE;;;OAGG;IACH,OAAO,CAAC,cAAc,CAAK;IAE3B;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAmD;IAE3E;;;OAGG;IACH,OAAO,CAAC,SAAS,CAAK;IAEtB;;;OAGG;IACH,OAAO,CAAC,SAAS,CAAK;IAEtB;;;OAGG;IACH,OAAO,CAAC,cAAc,CAAK;IAE3B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAK;IAErB;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAS;IAE3B;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAkE;IAEpF;;;;OAIG;IACH,YAAY,MAAM,EAAE,kBAAkB,EA6BrC;IAED;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;;;;;OAMG;IACU,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsItE;IAED;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAwB3B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IA8CpB;;;;;;OAMG;YACW,WAAW;IAmBzB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAkBnB;;;;OAIG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAQlC;IAED;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpC;CACF"}
|
package/bun.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { fastGetHostname, getAbortError,
|
|
1
|
+
import { fastGetHostname, getAbortError, normalizeHeaders, resolveUrl, TIMEOUT_ERROR, } from "./utils/helpers.js";
|
|
2
|
+
import { CacheManager } from "hcacher";
|
|
2
3
|
/**
|
|
3
4
|
* @ru Статические пресеты браузерных заголовков для маскировки под реальных пользователей.
|
|
4
5
|
* Используются stealth-режимом для обхода fingerprint-защит.
|
|
@@ -115,25 +116,20 @@ export class BunTransport {
|
|
|
115
116
|
*/
|
|
116
117
|
config;
|
|
117
118
|
/**
|
|
118
|
-
* @ru
|
|
119
|
-
* @en Cookie
|
|
119
|
+
* @ru Кэш cookies по доменам с TTL и LRU-эвикцией (domain -> name -> value).
|
|
120
|
+
* @en Cookie cache by domain with TTL and LRU eviction (domain -> name -> value).
|
|
120
121
|
*/
|
|
121
|
-
|
|
122
|
+
cookieStore;
|
|
122
123
|
/**
|
|
123
|
-
* @ru
|
|
124
|
-
* @en
|
|
124
|
+
* @ru Кэш сгенерированных строк cookies с TTL.
|
|
125
|
+
* @en Cache of generated cookie strings with TTL.
|
|
125
126
|
*/
|
|
126
|
-
|
|
127
|
+
cookieStringCache;
|
|
127
128
|
/**
|
|
128
|
-
* @ru
|
|
129
|
-
* @en
|
|
129
|
+
* @ru Опциональный кэш HTTP-ответов для GET/HEAD запросов.
|
|
130
|
+
* @en Optional HTTP response cache for GET/HEAD requests.
|
|
130
131
|
*/
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* @ru Текущий размер кэша cookies.
|
|
134
|
-
* @en Current size of the cookie cache.
|
|
135
|
-
*/
|
|
136
|
-
cookieCacheSize = 0;
|
|
132
|
+
responseCache;
|
|
137
133
|
/**
|
|
138
134
|
* @ru Счётчик активных (выполняющихся) запросов.
|
|
139
135
|
* @en Counter of active (in-flight) requests.
|
|
@@ -181,6 +177,28 @@ export class BunTransport {
|
|
|
181
177
|
*/
|
|
182
178
|
constructor(config) {
|
|
183
179
|
this.config = config;
|
|
180
|
+
const cookieCfg = config?.network?.cookieCache;
|
|
181
|
+
this.cookieStore = new CacheManager({
|
|
182
|
+
enabled: cookieCfg?.enabled ?? true,
|
|
183
|
+
maxSize: cookieCfg?.maxSize ?? 256,
|
|
184
|
+
ttl: cookieCfg?.ttl ?? 300_000,
|
|
185
|
+
touchOnGet: true,
|
|
186
|
+
});
|
|
187
|
+
this.cookieStringCache = new CacheManager({
|
|
188
|
+
enabled: cookieCfg?.enabled ?? true,
|
|
189
|
+
maxSize: cookieCfg?.maxSize ?? 1024,
|
|
190
|
+
ttl: cookieCfg?.ttl ?? 60_000,
|
|
191
|
+
touchOnGet: true,
|
|
192
|
+
});
|
|
193
|
+
const cacheCfg = config?.network?.cache;
|
|
194
|
+
if (cacheCfg?.enabled !== false && (cacheCfg?.maxSize || cacheCfg?.ttl)) {
|
|
195
|
+
this.responseCache = new CacheManager({
|
|
196
|
+
enabled: cacheCfg?.enabled ?? true,
|
|
197
|
+
maxSize: cacheCfg?.maxSize ?? 256,
|
|
198
|
+
ttl: cacheCfg?.ttl ?? 30_000,
|
|
199
|
+
touchOnGet: true,
|
|
200
|
+
});
|
|
201
|
+
}
|
|
184
202
|
this.invalidateConfig();
|
|
185
203
|
}
|
|
186
204
|
/**
|
|
@@ -208,6 +226,8 @@ export class BunTransport {
|
|
|
208
226
|
const timeoutMs = this._timeout;
|
|
209
227
|
let signal = req.signal;
|
|
210
228
|
let timer = null;
|
|
229
|
+
let abortHandler = null;
|
|
230
|
+
let originalSignal = null;
|
|
211
231
|
if (timeoutMs > 0) {
|
|
212
232
|
if (!signal) {
|
|
213
233
|
signal = AbortSignal.timeout(timeoutMs);
|
|
@@ -217,24 +237,49 @@ export class BunTransport {
|
|
|
217
237
|
}
|
|
218
238
|
else {
|
|
219
239
|
const controller = new AbortController();
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
});
|
|
240
|
+
originalSignal = signal;
|
|
241
|
+
abortHandler = () => controller.abort(originalSignal.reason);
|
|
242
|
+
originalSignal.addEventListener("abort", abortHandler);
|
|
224
243
|
timer = setTimeout(() => controller.abort(TIMEOUT_ERROR), timeoutMs);
|
|
225
244
|
signal = controller.signal;
|
|
226
245
|
}
|
|
227
246
|
}
|
|
228
|
-
if (signal?.aborted)
|
|
247
|
+
if (signal?.aborted) {
|
|
248
|
+
if (timer !== null)
|
|
249
|
+
clearTimeout(timer);
|
|
250
|
+
if (originalSignal && abortHandler)
|
|
251
|
+
originalSignal.removeEventListener("abort", abortHandler);
|
|
229
252
|
throw getAbortError(signal);
|
|
253
|
+
}
|
|
230
254
|
if (maxConcurrent > 0 && this.activeRequests >= maxConcurrent) {
|
|
231
|
-
|
|
232
|
-
|
|
255
|
+
try {
|
|
256
|
+
await this.waitForSlot(signal);
|
|
257
|
+
}
|
|
258
|
+
catch (err) {
|
|
259
|
+
if (timer !== null)
|
|
260
|
+
clearTimeout(timer);
|
|
261
|
+
if (originalSignal && abortHandler)
|
|
262
|
+
originalSignal.removeEventListener("abort", abortHandler);
|
|
263
|
+
throw err;
|
|
264
|
+
}
|
|
265
|
+
if (signal?.aborted) {
|
|
266
|
+
if (timer !== null)
|
|
267
|
+
clearTimeout(timer);
|
|
268
|
+
if (originalSignal && abortHandler)
|
|
269
|
+
originalSignal.removeEventListener("abort", abortHandler);
|
|
233
270
|
throw getAbortError(signal);
|
|
271
|
+
}
|
|
234
272
|
}
|
|
235
273
|
this.activeRequests++;
|
|
236
274
|
try {
|
|
237
275
|
const fullUrl = resolveUrl(this.config?.baseUrl ?? "", req.url);
|
|
276
|
+
if (this.responseCache && (req.method === "GET" || req.method === "HEAD") && !req.body) {
|
|
277
|
+
const cacheKey = `${req.method}:${fullUrl}`;
|
|
278
|
+
const cached = this.responseCache.get(cacheKey);
|
|
279
|
+
if (cached !== undefined) {
|
|
280
|
+
return cached;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
238
283
|
let headers = normalizeHeaders(req.headers);
|
|
239
284
|
const requestDomain = fastGetHostname(fullUrl);
|
|
240
285
|
const activeCookies = this.getCookiesForDomain(requestDomain);
|
|
@@ -249,11 +294,11 @@ export class BunTransport {
|
|
|
249
294
|
}
|
|
250
295
|
const init = {
|
|
251
296
|
method: req.method,
|
|
252
|
-
redirect: "manual",
|
|
297
|
+
redirect: req.redirect ?? "manual",
|
|
253
298
|
headers: headers,
|
|
254
299
|
};
|
|
255
300
|
if (req.body !== undefined)
|
|
256
|
-
init.body =
|
|
301
|
+
init.body = req.body;
|
|
257
302
|
if (signal !== undefined)
|
|
258
303
|
init.signal = signal;
|
|
259
304
|
if (this._keepalive)
|
|
@@ -270,21 +315,8 @@ export class BunTransport {
|
|
|
270
315
|
if (requestTlsConfig !== null)
|
|
271
316
|
init.tls = requestTlsConfig;
|
|
272
317
|
const nativeRes = await fetch(fullUrl, init);
|
|
273
|
-
if (timer !== null) {
|
|
274
|
-
clearTimeout(timer);
|
|
275
|
-
timer = null;
|
|
276
|
-
}
|
|
277
318
|
this.storeCookies(fullUrl, nativeRes.headers);
|
|
278
319
|
const bodyStream = nativeRes.body;
|
|
279
|
-
if (bodyStream !== null && typeof bodyStream.dump !== "function") {
|
|
280
|
-
Object.defineProperty(bodyStream, "dump", {
|
|
281
|
-
value: function () {
|
|
282
|
-
return this.cancel();
|
|
283
|
-
},
|
|
284
|
-
enumerable: false,
|
|
285
|
-
configurable: true,
|
|
286
|
-
});
|
|
287
|
-
}
|
|
288
320
|
const responseHeaders = (() => {
|
|
289
321
|
const resH = Object.create(null);
|
|
290
322
|
nativeRes.headers.forEach((value, key) => {
|
|
@@ -292,19 +324,25 @@ export class BunTransport {
|
|
|
292
324
|
});
|
|
293
325
|
return resH;
|
|
294
326
|
})();
|
|
295
|
-
|
|
327
|
+
const response = {
|
|
296
328
|
status: nativeRes.status,
|
|
297
329
|
url: nativeRes.url,
|
|
298
330
|
body: bodyStream,
|
|
299
331
|
headers: responseHeaders,
|
|
300
332
|
};
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
333
|
+
if (this.responseCache && (req.method === "GET" || req.method === "HEAD") && !req.body) {
|
|
334
|
+
const cacheKey = `${req.method}:${fullUrl}`;
|
|
335
|
+
this.responseCache.set(cacheKey, response);
|
|
336
|
+
}
|
|
337
|
+
return response;
|
|
306
338
|
}
|
|
307
339
|
finally {
|
|
340
|
+
if (timer !== null) {
|
|
341
|
+
clearTimeout(timer);
|
|
342
|
+
}
|
|
343
|
+
if (originalSignal && abortHandler) {
|
|
344
|
+
originalSignal.removeEventListener("abort", abortHandler);
|
|
345
|
+
}
|
|
308
346
|
this.activeRequests--;
|
|
309
347
|
if (maxConcurrent > 0)
|
|
310
348
|
this.releaseSlot();
|
|
@@ -317,18 +355,16 @@ export class BunTransport {
|
|
|
317
355
|
* @returns Semicolon-separated cookie string.
|
|
318
356
|
*/
|
|
319
357
|
getCookiesForDomain(requestDomain) {
|
|
320
|
-
const cached = this.
|
|
358
|
+
const cached = this.cookieStringCache.get(requestDomain);
|
|
321
359
|
if (cached !== undefined)
|
|
322
360
|
return cached;
|
|
323
361
|
let result = "";
|
|
324
|
-
const
|
|
325
|
-
for (let i = 0; i <
|
|
326
|
-
const storedDomain =
|
|
327
|
-
if (!storedDomain)
|
|
328
|
-
continue;
|
|
362
|
+
const domains = this.cookieStore.size > 0 ? this.getAllCookieDomains() : [];
|
|
363
|
+
for (let i = 0; i < domains.length; i++) {
|
|
364
|
+
const storedDomain = domains[i];
|
|
329
365
|
if (requestDomain !== storedDomain && !requestDomain.endsWith("." + storedDomain))
|
|
330
366
|
continue;
|
|
331
|
-
const cookiesMap = this.
|
|
367
|
+
const cookiesMap = this.cookieStore.get(storedDomain);
|
|
332
368
|
if (!cookiesMap)
|
|
333
369
|
continue;
|
|
334
370
|
for (const key in cookiesMap) {
|
|
@@ -337,14 +373,21 @@ export class BunTransport {
|
|
|
337
373
|
result += key + "=" + cookiesMap[key];
|
|
338
374
|
}
|
|
339
375
|
}
|
|
340
|
-
|
|
341
|
-
this.cookieCache = Object.create(null);
|
|
342
|
-
this.cookieCacheSize = 0;
|
|
343
|
-
}
|
|
344
|
-
this.cookieCache[requestDomain] = result;
|
|
345
|
-
this.cookieCacheSize++;
|
|
376
|
+
this.cookieStringCache.set(requestDomain, result);
|
|
346
377
|
return result;
|
|
347
378
|
}
|
|
379
|
+
/**
|
|
380
|
+
* @ru Возвращает все домены из cookie store.
|
|
381
|
+
* @en Returns all domains from the cookie store.
|
|
382
|
+
*/
|
|
383
|
+
getAllCookieDomains() {
|
|
384
|
+
const domains = [];
|
|
385
|
+
const store = this.cookieStore.storage;
|
|
386
|
+
for (const key of store.keys()) {
|
|
387
|
+
domains.push(key);
|
|
388
|
+
}
|
|
389
|
+
return domains;
|
|
390
|
+
}
|
|
348
391
|
/**
|
|
349
392
|
* @ru Сохраняет cookies из заголовков Set-Cookie ответа в cookie jar.
|
|
350
393
|
* @en Stores cookies from response Set-Cookie headers into the cookie jar.
|
|
@@ -358,7 +401,6 @@ export class BunTransport {
|
|
|
358
401
|
if (setCookies.length === 0)
|
|
359
402
|
return;
|
|
360
403
|
const defaultDomain = fastGetHostname(requestUrl);
|
|
361
|
-
let hasChanges = false;
|
|
362
404
|
for (let i = 0; i < setCookies.length; i++) {
|
|
363
405
|
const rawCookie = setCookies[i];
|
|
364
406
|
if (!rawCookie)
|
|
@@ -386,18 +428,10 @@ export class BunTransport {
|
|
|
386
428
|
}
|
|
387
429
|
}
|
|
388
430
|
}
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
this.cookieJar[domain][name] = value;
|
|
396
|
-
hasChanges = true;
|
|
397
|
-
}
|
|
398
|
-
if (hasChanges) {
|
|
399
|
-
this.cookieCache = Object.create(null);
|
|
400
|
-
this.cookieCacheSize = 0;
|
|
431
|
+
const existing = this.cookieStore.get(domain) ?? Object.create(null);
|
|
432
|
+
existing[name] = value;
|
|
433
|
+
this.cookieStore.set(domain, existing);
|
|
434
|
+
this.cookieStringCache.delete(domain);
|
|
401
435
|
}
|
|
402
436
|
}
|
|
403
437
|
/**
|
|
@@ -452,10 +486,9 @@ export class BunTransport {
|
|
|
452
486
|
this.concurrencyQueue = Object.create(null);
|
|
453
487
|
this.queueHead = 0;
|
|
454
488
|
this.queueTail = 0;
|
|
455
|
-
this.
|
|
456
|
-
this.
|
|
457
|
-
this.
|
|
458
|
-
this.cookieCacheSize = 0;
|
|
489
|
+
this.cookieStore.clear();
|
|
490
|
+
this.cookieStringCache.clear();
|
|
491
|
+
this.responseCache?.clear();
|
|
459
492
|
this.activeRequests = 0;
|
|
460
493
|
}
|
|
461
494
|
/**
|
package/bun.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bun.js","sourceRoot":"","sources":["../src/bun.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bun.js","sourceRoot":"","sources":["../src/bun.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hyperttp/transport-bun",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"description": "High-performance HTTP transport for Bun with native fetch optimizations",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -27,7 +27,8 @@
|
|
|
27
27
|
"url": "git+https://github.com/IT-IF-OR/hyperttp-transport-bun.git"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"@hyperttp/types": "^0.2.
|
|
30
|
+
"@hyperttp/types": "^0.2.5",
|
|
31
|
+
"hcacher": "^0.1.0"
|
|
31
32
|
},
|
|
32
33
|
"private": false
|
|
33
34
|
}
|
package/utils/helpers.d.ts
CHANGED
|
@@ -27,13 +27,6 @@ export declare const TIMEOUT_ERROR: DOMException;
|
|
|
27
27
|
* @returns The abort error or reason.
|
|
28
28
|
*/
|
|
29
29
|
export declare function getAbortError(signal?: AbortSignal): unknown;
|
|
30
|
-
/**
|
|
31
|
-
* @ru Нормализует тело запроса в формат, совместимый с fetch.
|
|
32
|
-
* @en Normalizes request body to fetch-compatible format.
|
|
33
|
-
* @param body - The request body to normalize.
|
|
34
|
-
* @returns The normalized body or undefined.
|
|
35
|
-
*/
|
|
36
|
-
export declare function normalizeBody(body: TransportRequest["body"]): BodyInit | undefined;
|
|
37
30
|
/**
|
|
38
31
|
* @ru Нормализует заголовки, переводя все ключи в нижний регистр (lowercase).
|
|
39
32
|
* @en Normalizes headers by transforming all keys into lowercase layout.
|
package/utils/helpers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAWxD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiDnD;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAI/D;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,cAA+D,CAAC;AACxF,eAAO,MAAM,aAAa,cAGzB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAE3D;AAED
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAWxD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiDnD;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAI/D;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,cAA+D,CAAC;AACxF,eAAO,MAAM,aAAa,cAGzB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAE3D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoC7F"}
|
package/utils/helpers.js
CHANGED
|
@@ -89,35 +89,6 @@ export const TIMEOUT_ERROR = new DOMException("The operation was aborted due to
|
|
|
89
89
|
export function getAbortError(signal) {
|
|
90
90
|
return signal?.reason ?? ABORT_ERROR;
|
|
91
91
|
}
|
|
92
|
-
/**
|
|
93
|
-
* @ru Нормализует тело запроса в формат, совместимый с fetch.
|
|
94
|
-
* @en Normalizes request body to fetch-compatible format.
|
|
95
|
-
* @param body - The request body to normalize.
|
|
96
|
-
* @returns The normalized body or undefined.
|
|
97
|
-
*/
|
|
98
|
-
export function normalizeBody(body) {
|
|
99
|
-
if (body == null)
|
|
100
|
-
return undefined;
|
|
101
|
-
if (typeof body === "string")
|
|
102
|
-
return body;
|
|
103
|
-
if (body instanceof Uint8Array)
|
|
104
|
-
return body;
|
|
105
|
-
if (body instanceof ArrayBuffer)
|
|
106
|
-
return body;
|
|
107
|
-
if (ArrayBuffer.isView(body))
|
|
108
|
-
return body;
|
|
109
|
-
if (typeof ReadableStream !== "undefined" && body instanceof ReadableStream)
|
|
110
|
-
return body;
|
|
111
|
-
if (typeof URLSearchParams !== "undefined" && body instanceof URLSearchParams)
|
|
112
|
-
return body;
|
|
113
|
-
if (typeof FormData !== "undefined" && body instanceof FormData)
|
|
114
|
-
return body;
|
|
115
|
-
if (typeof Blob !== "undefined" && body instanceof Blob)
|
|
116
|
-
return body;
|
|
117
|
-
if (typeof body === "object")
|
|
118
|
-
return JSON.stringify(body);
|
|
119
|
-
return String(body);
|
|
120
|
-
}
|
|
121
92
|
/**
|
|
122
93
|
* @ru Нормализует заголовки, переводя все ключи в нижний регистр (lowercase).
|
|
123
94
|
* @en Normalizes headers by transforming all keys into lowercase layout.
|
package/utils/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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"}
|