@hyperttp/transport-bun 0.2.0 → 0.2.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/bun.d.ts +7 -6
- package/bun.d.ts.map +1 -1
- package/bun.js +145 -106
- package/bun.js.map +1 -1
- package/package.json +2 -2
package/bun.d.ts
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import type { HttpClientOptions, HyperTransport, TransportRequest, TransportResponse } from "@hyperttp/types";
|
|
2
2
|
export declare function fastGetHostname(url: string): string;
|
|
3
3
|
export declare function getAbortError(signal?: AbortSignal): unknown;
|
|
4
|
-
export declare function throwIfAborted(signal?: AbortSignal): void;
|
|
5
|
-
export declare function normalizeCookieHeader(value: string | string[] | undefined): string;
|
|
6
|
-
export declare function normalizeHeaderValue(name: string, value: string | string[]): string;
|
|
7
4
|
export declare class BunTransport implements HyperTransport {
|
|
8
5
|
config: HttpClientOptions;
|
|
9
|
-
private cookieJar;
|
|
10
|
-
private cookieCache;
|
|
6
|
+
private readonly cookieJar;
|
|
7
|
+
private readonly cookieCache;
|
|
11
8
|
private activeRequests;
|
|
12
|
-
private concurrencyQueue;
|
|
9
|
+
private readonly concurrencyQueue;
|
|
10
|
+
private queueHead;
|
|
13
11
|
private hasCookies;
|
|
14
12
|
private _maxConcurrent;
|
|
15
13
|
private _timeout;
|
|
@@ -19,7 +17,10 @@ export declare class BunTransport implements HyperTransport {
|
|
|
19
17
|
constructor(config: HttpClientOptions);
|
|
20
18
|
private invalidateConfig;
|
|
21
19
|
execute(req: TransportRequest): Promise<TransportResponse>;
|
|
20
|
+
private waitForSlot;
|
|
21
|
+
private releaseSlot;
|
|
22
22
|
private prepareHeaders;
|
|
23
|
+
private maybeStoreCookies;
|
|
23
24
|
private getCookiesForDomain;
|
|
24
25
|
private updateCookies;
|
|
25
26
|
close(): Promise<void>;
|
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,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"bun.d.ts","sourceRoot":"","sources":["../src/bun.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,iBAAiB,CAAC;AA0BzB,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAkDnD;AAED,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAK3D;AAED,qBAAa,YAAa,YAAW,cAAc;IAC1C,MAAM,EAAE,iBAAiB,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0C;IACpE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAEzD,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAC1D,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAmC;gBAEzC,MAAM,EAAE,iBAAiB;IAKrC,OAAO,CAAC,gBAAgB;IASX,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAgEzD,WAAW;IAkBzB,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,cAAc;IAuDtB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,aAAa;IA8CR,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGtC"}
|
package/bun.js
CHANGED
|
@@ -1,56 +1,68 @@
|
|
|
1
|
+
const hostnameCache = new Map();
|
|
2
|
+
async function streamDump() {
|
|
3
|
+
return this.cancel().catch(() => { });
|
|
4
|
+
}
|
|
5
|
+
function attachDump(stream) {
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
7
|
+
stream.dump = streamDump;
|
|
8
|
+
return stream;
|
|
9
|
+
}
|
|
1
10
|
export function fastGetHostname(url) {
|
|
2
11
|
if (!url)
|
|
3
12
|
return "localhost";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
13
|
+
const cached = hostnameCache.get(url);
|
|
14
|
+
if (cached)
|
|
15
|
+
return cached;
|
|
16
|
+
let start = 0;
|
|
17
|
+
if (url.charCodeAt(0) === 47) {
|
|
18
|
+
if (url.charCodeAt(1) === 47) {
|
|
19
|
+
start = 2;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
hostnameCache.set(url, "localhost");
|
|
23
|
+
return "localhost";
|
|
24
|
+
}
|
|
9
25
|
}
|
|
10
26
|
else {
|
|
11
|
-
|
|
27
|
+
const schemeIdx = url.indexOf("://");
|
|
28
|
+
if (schemeIdx !== -1) {
|
|
29
|
+
start = schemeIdx + 3;
|
|
30
|
+
}
|
|
12
31
|
}
|
|
13
|
-
let end = url.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
32
|
+
let end = url.length;
|
|
33
|
+
for (let i = start; i < url.length; i++) {
|
|
34
|
+
const code = url.charCodeAt(i);
|
|
35
|
+
if (code === 47 || code === 63 || code === 35) {
|
|
36
|
+
end = i;
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const atIdx = url.indexOf("@", start);
|
|
41
|
+
if (atIdx !== -1 && atIdx < end) {
|
|
42
|
+
start = atIdx + 1;
|
|
43
|
+
}
|
|
44
|
+
const colonIdx = url.indexOf(":", start);
|
|
45
|
+
if (colonIdx !== -1 && colonIdx < end) {
|
|
46
|
+
end = colonIdx;
|
|
21
47
|
}
|
|
22
|
-
|
|
48
|
+
const host = url.slice(start, end) || "localhost";
|
|
49
|
+
if (hostnameCache.size > 512) {
|
|
50
|
+
hostnameCache.clear();
|
|
51
|
+
}
|
|
52
|
+
hostnameCache.set(url, host);
|
|
53
|
+
return host;
|
|
23
54
|
}
|
|
24
55
|
export function getAbortError(signal) {
|
|
25
56
|
return (signal?.reason ??
|
|
26
57
|
new DOMException("The operation was aborted.", "AbortError"));
|
|
27
58
|
}
|
|
28
|
-
export function throwIfAborted(signal) {
|
|
29
|
-
if (!signal)
|
|
30
|
-
return;
|
|
31
|
-
if (signal.aborted) {
|
|
32
|
-
throw getAbortError(signal);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
export function normalizeCookieHeader(value) {
|
|
36
|
-
if (value === undefined)
|
|
37
|
-
return "";
|
|
38
|
-
return Array.isArray(value) ? value.join("; ") : String(value).trim();
|
|
39
|
-
}
|
|
40
|
-
export function normalizeHeaderValue(name, value) {
|
|
41
|
-
if (Array.isArray(value)) {
|
|
42
|
-
return name.toLowerCase() === "cookie"
|
|
43
|
-
? value.join("; ")
|
|
44
|
-
: value.join(", ");
|
|
45
|
-
}
|
|
46
|
-
return value;
|
|
47
|
-
}
|
|
48
59
|
export class BunTransport {
|
|
49
60
|
config;
|
|
50
61
|
cookieJar = new Map();
|
|
51
62
|
cookieCache = new Map();
|
|
52
63
|
activeRequests = 0;
|
|
53
64
|
concurrencyQueue = [];
|
|
65
|
+
queueHead = 0;
|
|
54
66
|
hasCookies = false;
|
|
55
67
|
_maxConcurrent = 0;
|
|
56
68
|
_timeout = 0;
|
|
@@ -71,8 +83,8 @@ export class BunTransport {
|
|
|
71
83
|
}
|
|
72
84
|
async execute(req) {
|
|
73
85
|
const maxConcurrent = this._maxConcurrent;
|
|
74
|
-
let signal = req.signal;
|
|
75
86
|
const timeoutMs = this._timeout;
|
|
87
|
+
let signal = req.signal;
|
|
76
88
|
if (timeoutMs > 0) {
|
|
77
89
|
const timeoutSignal = AbortSignal.timeout(timeoutMs);
|
|
78
90
|
signal = req.signal
|
|
@@ -82,23 +94,13 @@ export class BunTransport {
|
|
|
82
94
|
if (signal?.aborted)
|
|
83
95
|
throw getAbortError(signal);
|
|
84
96
|
if (maxConcurrent > 0 && this.activeRequests >= maxConcurrent) {
|
|
85
|
-
await
|
|
86
|
-
const onAbort = () => {
|
|
87
|
-
signal?.removeEventListener("abort", onAbort);
|
|
88
|
-
reject(getAbortError(signal));
|
|
89
|
-
};
|
|
90
|
-
signal?.addEventListener("abort", onAbort, { once: true });
|
|
91
|
-
this.concurrencyQueue.push(() => {
|
|
92
|
-
signal?.removeEventListener("abort", onAbort);
|
|
93
|
-
resolve();
|
|
94
|
-
});
|
|
95
|
-
});
|
|
97
|
+
await this.waitForSlot(signal);
|
|
96
98
|
}
|
|
97
99
|
if (signal?.aborted)
|
|
98
100
|
throw getAbortError(signal);
|
|
99
101
|
this.activeRequests++;
|
|
100
102
|
try {
|
|
101
|
-
const
|
|
103
|
+
const init = {
|
|
102
104
|
method: req.method,
|
|
103
105
|
headers: this.prepareHeaders(req),
|
|
104
106
|
body: req.body,
|
|
@@ -106,83 +108,124 @@ export class BunTransport {
|
|
|
106
108
|
keepalive: this._keepalive,
|
|
107
109
|
redirect: "manual",
|
|
108
110
|
tls: this._tlsConfig,
|
|
109
|
-
});
|
|
110
|
-
if (this.hasCookies || nativeRes.headers.has("set-cookie")) {
|
|
111
|
-
const setCookies = nativeRes.headers.getSetCookie();
|
|
112
|
-
if (setCookies?.length) {
|
|
113
|
-
this.updateCookies(fastGetHostname(req.url), setCookies);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
const rawBody = nativeRes.body ?? new ReadableStream();
|
|
117
|
-
const bodyPayload = rawBody;
|
|
118
|
-
bodyPayload.dump = async function () {
|
|
119
|
-
return rawBody.cancel().catch(() => { });
|
|
120
111
|
};
|
|
121
|
-
const
|
|
112
|
+
const nativeRes = await fetch(req.url, init);
|
|
113
|
+
if (nativeRes.headers.has("set-cookie")) {
|
|
114
|
+
this.maybeStoreCookies(req.url, nativeRes.headers);
|
|
115
|
+
}
|
|
116
|
+
const body = nativeRes.body ? attachDump(nativeRes.body) : null;
|
|
117
|
+
// ОПТИМИЗАЦИЯ: Высокопроизводительный нативный экспорт без Proxy.
|
|
118
|
+
// Коллбэк внутри `.forEach()` в Bun вызывается напрямую из C++ обертки.
|
|
119
|
+
// На выходе получаем чистый, полностью мутабельный объект со склеенными заголовками.
|
|
120
|
+
const headers = {};
|
|
122
121
|
nativeRes.headers.forEach((value, key) => {
|
|
123
|
-
|
|
124
|
-
if (first === 99 || first === 67) {
|
|
125
|
-
const lower = key.toLowerCase();
|
|
126
|
-
if (lower === "content-encoding" || lower === "content-length") {
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
headersObj[key] = value;
|
|
122
|
+
headers[key] = value;
|
|
131
123
|
});
|
|
132
124
|
return {
|
|
133
125
|
status: nativeRes.status,
|
|
134
|
-
headers
|
|
126
|
+
headers,
|
|
135
127
|
url: nativeRes.url,
|
|
136
|
-
body
|
|
128
|
+
body,
|
|
137
129
|
};
|
|
138
130
|
}
|
|
139
131
|
finally {
|
|
140
132
|
this.activeRequests--;
|
|
141
|
-
if (maxConcurrent > 0
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
133
|
+
if (maxConcurrent > 0) {
|
|
134
|
+
this.releaseSlot();
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
async waitForSlot(signal) {
|
|
139
|
+
return new Promise((resolve, reject) => {
|
|
140
|
+
const onAbort = () => {
|
|
141
|
+
signal?.removeEventListener("abort", onAbort);
|
|
142
|
+
reject(getAbortError(signal));
|
|
143
|
+
};
|
|
144
|
+
if (signal) {
|
|
145
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
145
146
|
}
|
|
147
|
+
this.concurrencyQueue.push(() => {
|
|
148
|
+
signal?.removeEventListener("abort", onAbort);
|
|
149
|
+
resolve();
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
releaseSlot() {
|
|
154
|
+
const len = this.concurrencyQueue.length;
|
|
155
|
+
while (this.queueHead < len) {
|
|
156
|
+
const next = this.concurrencyQueue[this.queueHead++];
|
|
157
|
+
if (next) {
|
|
158
|
+
next();
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
if (this.queueHead === len) {
|
|
163
|
+
this.concurrencyQueue.length = 0;
|
|
164
|
+
this.queueHead = 0;
|
|
165
|
+
}
|
|
166
|
+
else if (this.queueHead > 128) {
|
|
167
|
+
this.concurrencyQueue.splice(0, this.queueHead);
|
|
168
|
+
this.queueHead = 0;
|
|
146
169
|
}
|
|
147
170
|
}
|
|
148
171
|
prepareHeaders(req) {
|
|
149
|
-
const original = req.headers;
|
|
150
172
|
const headers = {};
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
173
|
+
const original = req.headers;
|
|
174
|
+
if (original != null) {
|
|
175
|
+
for (const key in original) {
|
|
176
|
+
const value = original[key];
|
|
177
|
+
if (value == null)
|
|
178
|
+
continue;
|
|
179
|
+
if (typeof value === "string") {
|
|
180
|
+
headers[key] = value;
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
headers[key] =
|
|
184
|
+
key.length === 6 && (key === "Cookie" || key === "cookie")
|
|
185
|
+
? value.join("; ")
|
|
186
|
+
: value.join(", ");
|
|
187
|
+
}
|
|
154
188
|
}
|
|
155
189
|
}
|
|
156
190
|
const ua = this._userAgent;
|
|
157
|
-
if (ua
|
|
191
|
+
if (ua !== undefined &&
|
|
192
|
+
headers["User-Agent"] === undefined &&
|
|
193
|
+
headers["user-agent"] === undefined) {
|
|
158
194
|
headers["User-Agent"] = ua;
|
|
159
195
|
}
|
|
160
|
-
const userCookie = normalizeCookieHeader(headers["Cookie"]);
|
|
161
|
-
const hasUserCookie = userCookie.length > 0;
|
|
162
196
|
if (!this.hasCookies) {
|
|
163
|
-
|
|
164
|
-
|
|
197
|
+
const userCookie = headers["Cookie"];
|
|
198
|
+
if (userCookie !== undefined) {
|
|
199
|
+
headers["Cookie"] = userCookie.trim();
|
|
165
200
|
}
|
|
166
201
|
return headers;
|
|
167
202
|
}
|
|
168
203
|
const domain = fastGetHostname(req.url);
|
|
169
204
|
const savedCookies = this.getCookiesForDomain(domain);
|
|
170
205
|
const hasSavedCookies = savedCookies.length > 0;
|
|
206
|
+
const userCookie = headers["Cookie"];
|
|
207
|
+
const hasUserCookie = userCookie !== undefined && userCookie.length > 0;
|
|
171
208
|
if (hasUserCookie && hasSavedCookies) {
|
|
172
|
-
headers["Cookie"] = `${userCookie}; ${savedCookies}`;
|
|
209
|
+
headers["Cookie"] = `${userCookie.trim()}; ${savedCookies}`;
|
|
173
210
|
}
|
|
174
211
|
else if (hasUserCookie) {
|
|
175
|
-
headers["Cookie"] = userCookie;
|
|
212
|
+
headers["Cookie"] = userCookie.trim();
|
|
176
213
|
}
|
|
177
214
|
else if (hasSavedCookies) {
|
|
178
215
|
headers["Cookie"] = savedCookies;
|
|
179
216
|
}
|
|
180
217
|
return headers;
|
|
181
218
|
}
|
|
219
|
+
maybeStoreCookies(requestUrl, headers) {
|
|
220
|
+
const setCookies = headers.getSetCookie?.();
|
|
221
|
+
if (!setCookies || setCookies.length === 0)
|
|
222
|
+
return;
|
|
223
|
+
this.updateCookies(fastGetHostname(requestUrl), setCookies);
|
|
224
|
+
}
|
|
182
225
|
getCookiesForDomain(requestDomain) {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
226
|
+
const cached = this.cookieCache.get(requestDomain);
|
|
227
|
+
if (cached !== undefined)
|
|
228
|
+
return cached;
|
|
186
229
|
const matchedCookies = [];
|
|
187
230
|
for (const [storedDomain, cookiesMap] of this.cookieJar) {
|
|
188
231
|
if (requestDomain === storedDomain ||
|
|
@@ -198,8 +241,7 @@ export class BunTransport {
|
|
|
198
241
|
}
|
|
199
242
|
updateCookies(requestDomain, setCookies) {
|
|
200
243
|
this.hasCookies = true;
|
|
201
|
-
for (
|
|
202
|
-
const cookieStr = setCookies[i];
|
|
244
|
+
for (const cookieStr of setCookies) {
|
|
203
245
|
if (!cookieStr)
|
|
204
246
|
continue;
|
|
205
247
|
const parts = cookieStr.split(";");
|
|
@@ -214,16 +256,15 @@ export class BunTransport {
|
|
|
214
256
|
if (!key)
|
|
215
257
|
continue;
|
|
216
258
|
let targetDomain = requestDomain;
|
|
217
|
-
for (let
|
|
218
|
-
const attr = parts[
|
|
259
|
+
for (let i = 1; i < parts.length; i++) {
|
|
260
|
+
const attr = parts[i];
|
|
219
261
|
if (!attr)
|
|
220
262
|
continue;
|
|
221
|
-
const
|
|
222
|
-
if (
|
|
223
|
-
let domVal =
|
|
224
|
-
if (domVal.startsWith("."))
|
|
263
|
+
const trimmed = attr.trim();
|
|
264
|
+
if (trimmed.toLowerCase().startsWith("domain=")) {
|
|
265
|
+
let domVal = trimmed.slice(7).trim();
|
|
266
|
+
if (domVal.startsWith("."))
|
|
225
267
|
domVal = domVal.slice(1);
|
|
226
|
-
}
|
|
227
268
|
if (domVal)
|
|
228
269
|
targetDomain = domVal;
|
|
229
270
|
break;
|
|
@@ -235,20 +276,18 @@ export class BunTransport {
|
|
|
235
276
|
this.cookieJar.set(targetDomain, domainMap);
|
|
236
277
|
}
|
|
237
278
|
domainMap.set(key, val);
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
cachedDomain.endsWith("." + targetDomain)) {
|
|
242
|
-
this.cookieCache.delete(cachedDomain);
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
}
|
|
279
|
+
}
|
|
280
|
+
if (this.cookieCache.size > 0) {
|
|
281
|
+
this.cookieCache.clear();
|
|
246
282
|
}
|
|
247
283
|
}
|
|
248
284
|
async close() {
|
|
249
|
-
this.concurrencyQueue =
|
|
285
|
+
this.concurrencyQueue.length = 0;
|
|
286
|
+
this.queueHead = 0;
|
|
250
287
|
this.cookieJar.clear();
|
|
251
288
|
this.cookieCache.clear();
|
|
289
|
+
this.activeRequests = 0;
|
|
290
|
+
this.hasCookies = false;
|
|
252
291
|
}
|
|
253
292
|
async destroy() {
|
|
254
293
|
await this.close();
|
package/bun.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bun.js","sourceRoot":"","sources":["../src/bun.ts"],"names":[],"mappings":"
|
|
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.1",
|
|
4
4
|
"description": "High-performance, extensible HTTP client for Bun",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"url": "git+https://github.com/IT-IF-OR/hyperttp-transport-bun.git"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
|
-
"@hyperttp/types": "
|
|
28
|
+
"@hyperttp/types": "^0.2.0"
|
|
29
29
|
},
|
|
30
30
|
"private": false
|
|
31
31
|
}
|