urllib 4.3.1 → 4.4.0
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/dist/commonjs/FetchOpaqueInterceptor.d.ts +8 -0
- package/dist/commonjs/FetchOpaqueInterceptor.js +18 -0
- package/dist/commonjs/HttpAgent.d.ts +2 -2
- package/dist/commonjs/HttpAgent.js +6 -5
- package/dist/commonjs/HttpClient.d.ts +27 -0
- package/dist/commonjs/HttpClient.js +12 -45
- package/dist/commonjs/Request.d.ts +5 -0
- package/dist/commonjs/fetch.d.ts +24 -0
- package/dist/commonjs/fetch.js +221 -0
- package/dist/commonjs/index.d.ts +2 -1
- package/dist/commonjs/index.js +7 -2
- package/dist/commonjs/utils.d.ts +4 -0
- package/dist/commonjs/utils.js +57 -1
- package/dist/esm/FetchOpaqueInterceptor.d.ts +8 -0
- package/dist/esm/FetchOpaqueInterceptor.js +12 -0
- package/dist/esm/HttpAgent.d.ts +2 -2
- package/dist/esm/HttpAgent.js +6 -5
- package/dist/esm/HttpClient.d.ts +27 -0
- package/dist/esm/HttpClient.js +9 -42
- package/dist/esm/Request.d.ts +5 -0
- package/dist/esm/fetch.d.ts +24 -0
- package/dist/esm/fetch.js +214 -0
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +3 -2
- package/dist/esm/utils.d.ts +4 -0
- package/dist/esm/utils.js +52 -1
- package/dist/package.json +1 -1
- package/package.json +1 -1
- package/src/FetchOpaqueInterceptor.ts +41 -0
- package/src/HttpAgent.ts +8 -6
- package/src/HttpClient.ts +28 -41
- package/src/Request.ts +6 -0
- package/src/fetch.ts +264 -0
- package/src/index.ts +3 -0
- package/src/utils.ts +54 -0
@@ -0,0 +1,221 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.fetch = exports.FetchFactory = void 0;
|
7
|
+
const node_async_hooks_1 = require("node:async_hooks");
|
8
|
+
const undici_1 = require("undici");
|
9
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
10
|
+
// @ts-ignore
|
11
|
+
const symbols_js_1 = __importDefault(require("undici/lib/core/symbols.js"));
|
12
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
13
|
+
// @ts-ignore
|
14
|
+
const symbols_js_2 = __importDefault(require("undici/lib/web/fetch/symbols.js"));
|
15
|
+
const HttpClient_js_1 = require("./HttpClient.js");
|
16
|
+
const HttpAgent_js_1 = require("./HttpAgent.js");
|
17
|
+
const diagnosticsChannel_js_1 = require("./diagnosticsChannel.js");
|
18
|
+
const utils_js_1 = require("./utils.js");
|
19
|
+
const symbols_js_3 = __importDefault(require("./symbols.js"));
|
20
|
+
const FetchOpaqueInterceptor_js_1 = require("./FetchOpaqueInterceptor.js");
|
21
|
+
class FetchFactory {
|
22
|
+
static #dispatcher;
|
23
|
+
static #opaqueLocalStorage = new node_async_hooks_1.AsyncLocalStorage();
|
24
|
+
static getDispatcher() {
|
25
|
+
return FetchFactory.#dispatcher ?? (0, undici_1.getGlobalDispatcher)();
|
26
|
+
}
|
27
|
+
static setDispatcher(dispatcher) {
|
28
|
+
FetchFactory.#dispatcher = dispatcher;
|
29
|
+
}
|
30
|
+
static setClientOptions(clientOptions) {
|
31
|
+
let dispatcherOption = {
|
32
|
+
interceptors: {
|
33
|
+
Agent: [
|
34
|
+
(0, FetchOpaqueInterceptor_js_1.fetchOpaqueInterceptor)({
|
35
|
+
opaqueLocalStorage: FetchFactory.#opaqueLocalStorage,
|
36
|
+
}),
|
37
|
+
],
|
38
|
+
Client: [],
|
39
|
+
},
|
40
|
+
};
|
41
|
+
let dispatcherClazz = undici_1.Agent;
|
42
|
+
if (clientOptions?.lookup || clientOptions?.checkAddress) {
|
43
|
+
dispatcherOption = {
|
44
|
+
...dispatcherOption,
|
45
|
+
lookup: clientOptions.lookup,
|
46
|
+
checkAddress: clientOptions.checkAddress,
|
47
|
+
connect: clientOptions.connect,
|
48
|
+
allowH2: clientOptions.allowH2,
|
49
|
+
};
|
50
|
+
dispatcherClazz = HttpAgent_js_1.HttpAgent;
|
51
|
+
}
|
52
|
+
else if (clientOptions?.connect) {
|
53
|
+
dispatcherOption = {
|
54
|
+
...dispatcherOption,
|
55
|
+
connect: clientOptions.connect,
|
56
|
+
allowH2: clientOptions.allowH2,
|
57
|
+
};
|
58
|
+
dispatcherClazz = undici_1.Agent;
|
59
|
+
}
|
60
|
+
else if (clientOptions?.allowH2) {
|
61
|
+
// Support HTTP2
|
62
|
+
dispatcherOption = {
|
63
|
+
...dispatcherOption,
|
64
|
+
allowH2: clientOptions.allowH2,
|
65
|
+
};
|
66
|
+
dispatcherClazz = undici_1.Agent;
|
67
|
+
}
|
68
|
+
FetchFactory.#dispatcher = new dispatcherClazz(dispatcherOption);
|
69
|
+
(0, diagnosticsChannel_js_1.initDiagnosticsChannel)();
|
70
|
+
}
|
71
|
+
static getDispatcherPoolStats() {
|
72
|
+
const agent = FetchFactory.getDispatcher();
|
73
|
+
// origin => Pool Instance
|
74
|
+
const clients = Reflect.get(agent, symbols_js_1.default.kClients);
|
75
|
+
const poolStatsMap = {};
|
76
|
+
if (!clients) {
|
77
|
+
return poolStatsMap;
|
78
|
+
}
|
79
|
+
for (const [key, ref] of clients) {
|
80
|
+
const pool = typeof ref.deref === 'function' ? ref.deref() : ref;
|
81
|
+
const stats = pool?.stats;
|
82
|
+
if (!stats)
|
83
|
+
continue;
|
84
|
+
poolStatsMap[key] = {
|
85
|
+
connected: stats.connected,
|
86
|
+
free: stats.free,
|
87
|
+
pending: stats.pending,
|
88
|
+
queued: stats.queued,
|
89
|
+
running: stats.running,
|
90
|
+
size: stats.size,
|
91
|
+
};
|
92
|
+
}
|
93
|
+
return poolStatsMap;
|
94
|
+
}
|
95
|
+
static async fetch(input, init) {
|
96
|
+
const requestStartTime = performance.now();
|
97
|
+
init = init ?? {};
|
98
|
+
init.dispatcher = init.dispatcher ?? FetchFactory.#dispatcher;
|
99
|
+
const request = new undici_1.Request(input, init);
|
100
|
+
const requestId = (0, utils_js_1.globalId)('HttpClientRequest');
|
101
|
+
// https://developer.chrome.com/docs/devtools/network/reference/?utm_source=devtools#timing-explanation
|
102
|
+
const timing = {
|
103
|
+
// socket assigned
|
104
|
+
queuing: 0,
|
105
|
+
// dns lookup time
|
106
|
+
// dnslookup: 0,
|
107
|
+
// socket connected
|
108
|
+
connected: 0,
|
109
|
+
// request headers sent
|
110
|
+
requestHeadersSent: 0,
|
111
|
+
// request sent, including headers and body
|
112
|
+
requestSent: 0,
|
113
|
+
// Time to first byte (TTFB), the response headers have been received
|
114
|
+
waiting: 0,
|
115
|
+
// the response body and trailers have been received
|
116
|
+
contentDownload: 0,
|
117
|
+
};
|
118
|
+
// using opaque to diagnostics channel, binding request and socket
|
119
|
+
const internalOpaque = {
|
120
|
+
[symbols_js_3.default.kRequestId]: requestId,
|
121
|
+
[symbols_js_3.default.kRequestStartTime]: requestStartTime,
|
122
|
+
[symbols_js_3.default.kEnableRequestTiming]: !!(init.timing ?? true),
|
123
|
+
[symbols_js_3.default.kRequestTiming]: timing,
|
124
|
+
// [symbols.kRequestOriginalOpaque]: originalOpaque,
|
125
|
+
};
|
126
|
+
const reqMeta = {
|
127
|
+
requestId,
|
128
|
+
url: request.url,
|
129
|
+
args: {
|
130
|
+
method: request.method,
|
131
|
+
type: request.method,
|
132
|
+
data: request.body,
|
133
|
+
headers: (0, utils_js_1.convertHeader)(request.headers),
|
134
|
+
},
|
135
|
+
retries: 0,
|
136
|
+
};
|
137
|
+
const fetchMeta = {
|
138
|
+
requestId,
|
139
|
+
request,
|
140
|
+
};
|
141
|
+
const socketInfo = {
|
142
|
+
id: 0,
|
143
|
+
localAddress: '',
|
144
|
+
localPort: 0,
|
145
|
+
remoteAddress: '',
|
146
|
+
remotePort: 0,
|
147
|
+
remoteFamily: '',
|
148
|
+
bytesWritten: 0,
|
149
|
+
bytesRead: 0,
|
150
|
+
handledRequests: 0,
|
151
|
+
handledResponses: 0,
|
152
|
+
};
|
153
|
+
HttpClient_js_1.channels.request.publish({
|
154
|
+
request: reqMeta,
|
155
|
+
});
|
156
|
+
HttpClient_js_1.channels.fetchRequest.publish({
|
157
|
+
fetch: fetchMeta,
|
158
|
+
});
|
159
|
+
let res;
|
160
|
+
// keep urllib createCallbackResponse style
|
161
|
+
const resHeaders = {};
|
162
|
+
const urllibResponse = {
|
163
|
+
status: -1,
|
164
|
+
statusCode: -1,
|
165
|
+
statusText: '',
|
166
|
+
statusMessage: '',
|
167
|
+
headers: resHeaders,
|
168
|
+
size: 0,
|
169
|
+
aborted: false,
|
170
|
+
rt: 0,
|
171
|
+
keepAliveSocket: true,
|
172
|
+
requestUrls: [
|
173
|
+
request.url,
|
174
|
+
],
|
175
|
+
timing,
|
176
|
+
socket: socketInfo,
|
177
|
+
retries: 0,
|
178
|
+
socketErrorRetries: 0,
|
179
|
+
};
|
180
|
+
try {
|
181
|
+
await FetchFactory.#opaqueLocalStorage.run(internalOpaque, async () => {
|
182
|
+
res = await (0, undici_1.fetch)(input, init);
|
183
|
+
});
|
184
|
+
}
|
185
|
+
catch (e) {
|
186
|
+
HttpClient_js_1.channels.response.publish({
|
187
|
+
fetch: fetchMeta,
|
188
|
+
error: e,
|
189
|
+
});
|
190
|
+
HttpClient_js_1.channels.fetchResponse.publish({
|
191
|
+
request: reqMeta,
|
192
|
+
response: urllibResponse,
|
193
|
+
error: e,
|
194
|
+
});
|
195
|
+
throw e;
|
196
|
+
}
|
197
|
+
// get unidici internal response
|
198
|
+
const state = Reflect.get(res, symbols_js_2.default.kState);
|
199
|
+
(0, utils_js_1.updateSocketInfo)(socketInfo, internalOpaque /* , rawError */);
|
200
|
+
urllibResponse.headers = (0, utils_js_1.convertHeader)(res.headers);
|
201
|
+
urllibResponse.status = urllibResponse.statusCode = res.status;
|
202
|
+
urllibResponse.statusMessage = res.statusText;
|
203
|
+
if (urllibResponse.headers['content-length']) {
|
204
|
+
urllibResponse.size = parseInt(urllibResponse.headers['content-length']);
|
205
|
+
}
|
206
|
+
urllibResponse.rt = (0, utils_js_1.performanceTime)(requestStartTime);
|
207
|
+
HttpClient_js_1.channels.fetchResponse.publish({
|
208
|
+
fetch: fetchMeta,
|
209
|
+
timingInfo: state.timingInfo,
|
210
|
+
response: res,
|
211
|
+
});
|
212
|
+
HttpClient_js_1.channels.response.publish({
|
213
|
+
request: reqMeta,
|
214
|
+
response: urllibResponse,
|
215
|
+
});
|
216
|
+
return res;
|
217
|
+
}
|
218
|
+
}
|
219
|
+
exports.FetchFactory = FetchFactory;
|
220
|
+
exports.fetch = FetchFactory.fetch;
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmV0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsdURBQXFEO0FBQ3JELG1DQVVnQjtBQUNoQiw2REFBNkQ7QUFDN0QsYUFBYTtBQUNiLDRFQUF1RDtBQUN2RCw2REFBNkQ7QUFDN0QsYUFBYTtBQUNiLGlGQUFpRTtBQUNqRSxtREFPeUI7QUFDekIsaURBR3dCO0FBQ3hCLG1FQUFpRTtBQUNqRSx5Q0FBd0Y7QUFDeEYsOERBQW1DO0FBTW5DLDJFQUFrRjtBQW9CbEYsTUFBYSxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxXQUFXLENBQVE7SUFDMUIsTUFBTSxDQUFDLG1CQUFtQixHQUFHLElBQUksb0NBQWlCLEVBQWUsQ0FBQztJQUVsRSxNQUFNLENBQUMsYUFBYTtRQUNsQixPQUFPLFlBQVksQ0FBQyxXQUFXLElBQUksSUFBQSw0QkFBbUIsR0FBRSxDQUFDO0lBQzNELENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLFVBQWlCO1FBQ3BDLFlBQVksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsYUFBNEI7UUFDbEQsSUFBSSxnQkFBZ0IsR0FBa0I7WUFDcEMsWUFBWSxFQUFFO2dCQUNaLEtBQUssRUFBRTtvQkFDTCxJQUFBLGtEQUFzQixFQUFDO3dCQUNyQixrQkFBa0IsRUFBRSxZQUFZLENBQUMsbUJBQW1CO3FCQUNyRCxDQUFDO2lCQUNIO2dCQUNELE1BQU0sRUFBRSxFQUFFO2FBQ1g7U0FDRixDQUFDO1FBQ0YsSUFBSSxlQUFlLEdBQTBDLGNBQUssQ0FBQztRQUNuRSxJQUFJLGFBQWEsRUFBRSxNQUFNLElBQUksYUFBYSxFQUFFLFlBQVksRUFBRSxDQUFDO1lBQ3pELGdCQUFnQixHQUFHO2dCQUNqQixHQUFHLGdCQUFnQjtnQkFDbkIsTUFBTSxFQUFFLGFBQWEsQ0FBQyxNQUFNO2dC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
|
package/dist/commonjs/index.d.ts
CHANGED
@@ -3,13 +3,14 @@ import { RequestOptions, RequestURL } from './Request.js';
|
|
3
3
|
export declare function getDefaultHttpClient(): HttpClient;
|
4
4
|
export declare function request<T = any>(url: RequestURL, options?: RequestOptions): Promise<import("./Response.js").HttpClientResponse<T>>;
|
5
5
|
export declare function curl<T = any>(url: RequestURL, options?: RequestOptions): Promise<import("./Response.js").HttpClientResponse<T>>;
|
6
|
-
export { MockAgent, ProxyAgent, Agent, Dispatcher, setGlobalDispatcher, getGlobalDispatcher, } from 'undici';
|
6
|
+
export { MockAgent, ProxyAgent, Agent, Dispatcher, setGlobalDispatcher, getGlobalDispatcher, Request, RequestInfo, RequestInit, Response, } from 'undici';
|
7
7
|
export { HttpClient, HttpClient as HttpClient2, HEADER_USER_AGENT as USER_AGENT, RequestDiagnosticsMessage, ResponseDiagnosticsMessage, ClientOptions, } from './HttpClient.js';
|
8
8
|
export { RequestOptions, RequestOptions as RequestOptions2, RequestURL, HttpMethod, FixJSONCtlCharsHandler, FixJSONCtlChars, } from './Request.js';
|
9
9
|
export { CheckAddressFunction } from './HttpAgent.js';
|
10
10
|
export { SocketInfo, Timing, RawResponseWithMeta, HttpClientResponse, } from './Response.js';
|
11
11
|
export { IncomingHttpHeaders, } from './IncomingHttpHeaders.js';
|
12
12
|
export * from './HttpClientError.js';
|
13
|
+
export { FetchFactory, fetch } from './fetch.js';
|
13
14
|
declare const _default: {
|
14
15
|
request: typeof request;
|
15
16
|
curl: typeof curl;
|
package/dist/commonjs/index.js
CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
exports.USER_AGENT = exports.HttpClient2 = exports.HttpClient = exports.getGlobalDispatcher = exports.setGlobalDispatcher = exports.Dispatcher = exports.Agent = exports.ProxyAgent = exports.MockAgent = void 0;
|
17
|
+
exports.FetchFactory = exports.USER_AGENT = exports.HttpClient2 = exports.HttpClient = exports.Response = exports.Request = exports.getGlobalDispatcher = exports.setGlobalDispatcher = exports.Dispatcher = exports.Agent = exports.ProxyAgent = exports.MockAgent = void 0;
|
18
18
|
exports.getDefaultHttpClient = getDefaultHttpClient;
|
19
19
|
exports.request = request;
|
20
20
|
exports.curl = curl;
|
@@ -56,15 +56,20 @@ Object.defineProperty(exports, "Agent", { enumerable: true, get: function () { r
|
|
56
56
|
Object.defineProperty(exports, "Dispatcher", { enumerable: true, get: function () { return undici_1.Dispatcher; } });
|
57
57
|
Object.defineProperty(exports, "setGlobalDispatcher", { enumerable: true, get: function () { return undici_1.setGlobalDispatcher; } });
|
58
58
|
Object.defineProperty(exports, "getGlobalDispatcher", { enumerable: true, get: function () { return undici_1.getGlobalDispatcher; } });
|
59
|
+
Object.defineProperty(exports, "Request", { enumerable: true, get: function () { return undici_1.Request; } });
|
60
|
+
Object.defineProperty(exports, "Response", { enumerable: true, get: function () { return undici_1.Response; } });
|
59
61
|
// HttpClient2 is keep compatible with urllib@2 HttpClient2
|
60
62
|
var HttpClient_js_2 = require("./HttpClient.js");
|
61
63
|
Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return HttpClient_js_2.HttpClient; } });
|
62
64
|
Object.defineProperty(exports, "HttpClient2", { enumerable: true, get: function () { return HttpClient_js_2.HttpClient; } });
|
63
65
|
Object.defineProperty(exports, "USER_AGENT", { enumerable: true, get: function () { return HttpClient_js_2.HEADER_USER_AGENT; } });
|
64
66
|
__exportStar(require("./HttpClientError.js"), exports);
|
67
|
+
var fetch_js_1 = require("./fetch.js");
|
68
|
+
Object.defineProperty(exports, "FetchFactory", { enumerable: true, get: function () { return fetch_js_1.FetchFactory; } });
|
69
|
+
Object.defineProperty(exports, "fetch", { enumerable: true, get: function () { return fetch_js_1.fetch; } });
|
65
70
|
exports.default = {
|
66
71
|
request,
|
67
72
|
curl,
|
68
73
|
USER_AGENT: HttpClient_js_1.HEADER_USER_AGENT,
|
69
74
|
};
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPQSxvREFLQztBQUVELDBCQWFDO0FBT0Qsb0JBRUM7QUFwQ0QsK0JBQTJCO0FBQzNCLG1EQUFnRTtBQUdoRSxJQUFJLFVBQXNCLENBQUM7QUFDM0IsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLFVBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUU1QyxTQUFnQixvQkFBb0I7SUFDbEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hCLFVBQVUsR0FBRyxJQUFJLDBCQUFVLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVNLEtBQUssVUFBVSxPQUFPLENBQVUsR0FBZSxFQUFFLE9BQXdCO0lBQzlFLElBQUksT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO1FBQ3hCLElBQUksc0JBQXNCLEdBQUcsdUJBQXVCLENBQUMsR0FBRyxDQUFhLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM1QixzQkFBc0IsR0FBRyxJQUFJLDBCQUFVLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFO2FBQzVDLENBQUMsQ0FBQztZQUNILHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUNELE9BQU8sTUFBTSxzQkFBc0IsQ0FBQyxPQUFPLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxPQUFPLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQyxPQUFPLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRCwyREFBMkQ7QUFDM0QsUUFBUTtBQUNSLG9DQUFvQztBQUNwQyxvQkFBb0I7QUFDcEIsTUFBTTtBQUNDLEtBQUssVUFBVSxJQUFJLENBQVUsR0FBZSxFQUFFLE9BQXdCO0lBQzNFLE9BQU8sTUFBTSxPQUFPLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRCxpQ0FLZ0I7QUFKZCxtR0FBQSxTQUFTLE9BQUE7QUFBRSxvR0FBQSxVQUFVLE9BQUE7QUFBRSwrRkFBQSxLQUFLLE9BQUE7QUFBRSxvR0FBQSxVQUFVLE9BQUE7QUFDeEMsNkdBQUEsbUJBQW1CLE9BQUE7QUFBRSw2R0FBQSxtQkFBbUIsT0FBQTtBQUN4QyxpR0FBQSxPQUFPLE9BQUE7QUFDUCxrR0FBQSxRQUFRLE9BQUE7QUFFViwyREFBMkQ7QUFDM0QsaURBR3lCO0FBRnZCLDJHQUFBLFVBQVUsT0FBQTtBQUFFLDRHQUFBLFVBQVUsT0FBZTtBQUFFLDJHQUFBLGlCQUFpQixPQUFjO0FBaUJ4RSx1REFBcUM7QUFDckMsdUNBQWlEO0FBQXhDLHdHQUFBLFlBQVksT0FBQTtBQUFFLGlHQUFBLEtBQUssT0FBQTtBQUU1QixrQkFBZTtJQUNiLE9BQU87SUFDUCxJQUFJO0lBQ0osVUFBVSxFQUFFLGlDQUFpQjtDQUM5QixDQUFDIn0=
|
package/dist/commonjs/utils.d.ts
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
import type { FixJSONCtlChars } from './Request.js';
|
2
|
+
import { SocketInfo } from './Response.js';
|
3
|
+
import { IncomingHttpHeaders } from './IncomingHttpHeaders.js';
|
2
4
|
export declare function parseJSON(data: string, fixJSONCtlChars?: FixJSONCtlChars): string;
|
3
5
|
export declare function digestAuthHeader(method: string, uri: string, wwwAuthenticate: string, userpass: string): string;
|
4
6
|
export declare function globalId(category: string): number;
|
5
7
|
export declare function performanceTime(startTime: number, now?: number): number;
|
6
8
|
export declare function isReadable(stream: any): boolean;
|
9
|
+
export declare function updateSocketInfo(socketInfo: SocketInfo, internalOpaque: any, err?: any): void;
|
10
|
+
export declare function convertHeader(headers: Headers): IncomingHttpHeaders;
|
package/dist/commonjs/utils.js
CHANGED
@@ -1,13 +1,19 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
6
|
exports.parseJSON = parseJSON;
|
4
7
|
exports.digestAuthHeader = digestAuthHeader;
|
5
8
|
exports.globalId = globalId;
|
6
9
|
exports.performanceTime = performanceTime;
|
7
10
|
exports.isReadable = isReadable;
|
11
|
+
exports.updateSocketInfo = updateSocketInfo;
|
12
|
+
exports.convertHeader = convertHeader;
|
8
13
|
const node_crypto_1 = require("node:crypto");
|
9
14
|
const node_stream_1 = require("node:stream");
|
10
15
|
const node_perf_hooks_1 = require("node:perf_hooks");
|
16
|
+
const symbols_js_1 = __importDefault(require("./symbols.js"));
|
11
17
|
const JSONCtlCharsMap = {
|
12
18
|
'"': '\\"', // \u0022
|
13
19
|
'\\': '\\\\', // \u005c
|
@@ -146,4 +152,54 @@ function isReadable(stream) {
|
|
146
152
|
&& typeof stream._read === 'function'
|
147
153
|
&& typeof stream._readableState === 'object';
|
148
154
|
}
|
149
|
-
|
155
|
+
function updateSocketInfo(socketInfo, internalOpaque, err) {
|
156
|
+
const socket = internalOpaque[symbols_js_1.default.kRequestSocket] ?? err?.[symbols_js_1.default.kErrorSocket];
|
157
|
+
if (socket) {
|
158
|
+
socketInfo.id = socket[symbols_js_1.default.kSocketId];
|
159
|
+
socketInfo.handledRequests = socket[symbols_js_1.default.kHandledRequests];
|
160
|
+
socketInfo.handledResponses = socket[symbols_js_1.default.kHandledResponses];
|
161
|
+
if (socket[symbols_js_1.default.kSocketLocalAddress]) {
|
162
|
+
socketInfo.localAddress = socket[symbols_js_1.default.kSocketLocalAddress];
|
163
|
+
socketInfo.localPort = socket[symbols_js_1.default.kSocketLocalPort];
|
164
|
+
}
|
165
|
+
if (socket.remoteAddress) {
|
166
|
+
socketInfo.remoteAddress = socket.remoteAddress;
|
167
|
+
socketInfo.remotePort = socket.remotePort;
|
168
|
+
socketInfo.remoteFamily = socket.remoteFamily;
|
169
|
+
}
|
170
|
+
socketInfo.bytesRead = socket.bytesRead;
|
171
|
+
socketInfo.bytesWritten = socket.bytesWritten;
|
172
|
+
if (socket[symbols_js_1.default.kSocketConnectErrorTime]) {
|
173
|
+
socketInfo.connectErrorTime = socket[symbols_js_1.default.kSocketConnectErrorTime];
|
174
|
+
if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
|
175
|
+
socketInfo.attemptedRemoteAddresses = socket.autoSelectFamilyAttemptedAddresses;
|
176
|
+
}
|
177
|
+
socketInfo.connectProtocol = socket[symbols_js_1.default.kSocketConnectProtocol];
|
178
|
+
socketInfo.connectHost = socket[symbols_js_1.default.kSocketConnectHost];
|
179
|
+
socketInfo.connectPort = socket[symbols_js_1.default.kSocketConnectPort];
|
180
|
+
}
|
181
|
+
if (socket[symbols_js_1.default.kSocketConnectedTime]) {
|
182
|
+
socketInfo.connectedTime = socket[symbols_js_1.default.kSocketConnectedTime];
|
183
|
+
}
|
184
|
+
if (socket[symbols_js_1.default.kSocketRequestEndTime]) {
|
185
|
+
socketInfo.lastRequestEndTime = socket[symbols_js_1.default.kSocketRequestEndTime];
|
186
|
+
}
|
187
|
+
socket[symbols_js_1.default.kSocketRequestEndTime] = new Date();
|
188
|
+
}
|
189
|
+
}
|
190
|
+
function convertHeader(headers) {
|
191
|
+
const res = {};
|
192
|
+
for (const [key, value] of headers.entries()) {
|
193
|
+
if (res[key]) {
|
194
|
+
if (!Array.isArray(res[key])) {
|
195
|
+
res[key] = [res[key]];
|
196
|
+
}
|
197
|
+
res[key].push(value);
|
198
|
+
}
|
199
|
+
else {
|
200
|
+
res[key] = value;
|
201
|
+
}
|
202
|
+
}
|
203
|
+
return res;
|
204
|
+
}
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUE0QkEsOEJBd0JDO0FBWUQsNENBZ0VDO0FBS0QsNEJBS0M7QUFFRCwwQ0FFQztBQUVELGdDQVdDO0FBRUQsNENBa0NDO0FBRUQsc0NBYUM7QUE5TUQsNkNBQXNEO0FBQ3RELDZDQUF1QztBQUN2QyxxREFBOEM7QUFHOUMsOERBQW1DO0FBR25DLE1BQU0sZUFBZSxHQUEyQjtJQUM5QyxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVM7SUFDckIsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTO0lBQ3ZCLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUztJQUN0QixJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVM7SUFDdEIsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTO0lBQ3RCLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUztJQUN0QixJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVM7Q0FDdkIsQ0FBQztBQUNGLG1DQUFtQztBQUNuQyxNQUFNLGNBQWMsR0FBRyx3QkFBd0IsQ0FBQztBQUVoRCxTQUFTLGNBQWMsQ0FBQyxDQUFTO0lBQy9CLE9BQU8sZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxLQUFhO0lBQ3hDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVELFNBQWdCLFNBQVMsQ0FBQyxJQUFZLEVBQUUsZUFBaUM7SUFDdkUsSUFBSSxPQUFPLGVBQWUsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUMxQyxJQUFJLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7U0FBTSxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQzNCLGlEQUFpRDtRQUNqRCx3REFBd0Q7UUFDeEQsSUFBSSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFJLENBQUM7UUFDSCxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBQUMsT0FBTyxHQUFRLEVBQUUsQ0FBQztRQUNsQixJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssYUFBYSxFQUFFLENBQUM7WUFDL0IsR0FBRyxDQUFDLElBQUksR0FBRyx5QkFBeUIsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFDO1lBQ3ZCLCtCQUErQjtZQUMvQixHQUFHLENBQUMsT0FBTyxJQUFJLHNCQUFzQjtnQkFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUM5RyxDQUFDO2FBQU0sQ0FBQztZQUNOLEdBQUcsQ0FBQyxPQUFPLElBQUksc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDckUsQ0FBQztRQUNELE1BQU0sR0FBRyxDQUFDO0lBQ1osQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELFNBQVMsR0FBRyxDQUFDLENBQVM7SUFDcEIsTUFBTSxHQUFHLEdBQUcsSUFBQSx3QkFBVSxFQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3RCLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBRUQsTUFBTSxpQkFBaUIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMzRCxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDWCxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUM7QUFFMUIsU0FBZ0IsZ0JBQWdCLENBQUMsTUFBYyxFQUFFLEdBQVcsRUFBRSxlQUF1QixFQUFFLFFBQWdCO0lBQ3JHLHVEQUF1RDtJQUN2RCw2Q0FBNkM7SUFDN0Msb0VBQW9FO0lBQ3BFLGtFQUFrRTtJQUNsRSwyQ0FBMkM7SUFDM0MsaURBQWlEO0lBQ2pELGlFQUFpRTtJQUNqRSw0Q0FBNEM7SUFDNUMsK0JBQStCO0lBQy9CLGtDQUFrQztJQUNsQyx3Q0FBd0M7SUFDeEMsa0VBQWtFO0lBQ2xFLCtEQUErRDtJQUMvRCwwREFBMEQ7SUFDMUQsMENBQTBDO0lBQzFDLEVBQUU7SUFDRixzQ0FBc0M7SUFDdEMsMENBQTBDO0lBQzFDLEVBQUU7SUFDRix1REFBdUQ7SUFDdkQseURBQXlEO0lBQ3pELDZDQUE2QztJQUM3Qyx3REFBd0Q7SUFDeEQsK0NBQStDO0lBQy9DLE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsTUFBTSxJQUFJLEdBQTJCLEVBQUUsQ0FBQztJQUN4QyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ04sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDL0IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDekIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztJQUUzQyxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0QixFQUFFLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUMzQyxNQUFNLE1BQU0sR0FBRyxJQUFBLHlCQUFXLEVBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTlDLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7SUFDakQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEQsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQy9CLElBQUksR0FBRyxFQUFFLENBQUM7UUFDUixHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QixDQUFDLElBQUksSUFBSSxFQUFFLElBQUksTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFDRCxDQUFDLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNmLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixJQUFJLFVBQVUsR0FBRyxvQkFBb0IsSUFBSSxhQUFhLElBQUksQ0FBQyxLQUFLLGFBQWEsSUFBSSxDQUFDLEtBQUssV0FBVyxHQUFHLGdCQUFnQixRQUFRLEdBQUcsQ0FBQztJQUNqSSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixVQUFVLElBQUksYUFBYSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUM7SUFDNUMsQ0FBQztJQUNELElBQUksR0FBRyxFQUFFLENBQUM7UUFDUixVQUFVLElBQUksU0FBUyxHQUFHLFFBQVEsRUFBRSxhQUFhLE1BQU0sR0FBRyxDQUFDO0lBQzdELENBQUM7SUFDRCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDO0FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQzFDLE1BQU0sU0FBUyxHQUEyQixFQUFFLENBQUM7QUFFN0MsU0FBZ0IsUUFBUSxDQUFDLFFBQWdCO0lBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hFLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUNELE9BQU8sRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQUVELFNBQWdCLGVBQWUsQ0FBQyxTQUFpQixFQUFFLEdBQVk7SUFDN0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksNkJBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztBQUM1RSxDQUFDO0FBRUQsU0FBZ0IsVUFBVSxDQUFDLE1BQVc7SUFDcEMsSUFBSSxPQUFPLHNCQUFRLENBQUMsVUFBVSxLQUFLLFVBQVU7UUFBRSxPQUFPLHNCQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xGLGtCQUFrQjtJQUNsQixrSEFBa0g7SUFDbEgsMEVBQTBFO0lBQzFFLE9BQU8sTUFBTSxLQUFLLElBQUk7V0FDakIsT0FBTyxNQUFNLEtBQUssUUFBUTtXQUMxQixPQUFPLE1BQU0sQ0FBQyxJQUFJLEtBQUssVUFBVTtXQUNqQyxNQUFNLENBQUMsUUFBUSxLQUFLLEtBQUs7V0FDekIsT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLFVBQVU7V0FDbEMsT0FBTyxNQUFNLENBQUMsY0FBYyxLQUFLLFFBQVEsQ0FBQztBQUNqRCxDQUFDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQUMsVUFBc0IsRUFBRSxjQUFtQixFQUFFLEdBQVM7SUFDckYsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLG9CQUFPLENBQUMsY0FBYyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsb0JBQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNyRixJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1gsVUFBVSxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsb0JBQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQyxVQUFVLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxvQkFBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDOUQsVUFBVSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxvQkFBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEUsSUFBSSxNQUFNLENBQUMsb0JBQU8sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7WUFDeEMsVUFBVSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsb0JBQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQzlELFVBQVUsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLG9CQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekIsVUFBVSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1lBQ2hELFVBQVUsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUMxQyxVQUFVLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDaEQsQ0FBQztRQUNELFVBQVUsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUN4QyxVQUFVLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDOUMsSUFBSSxNQUFNLENBQUMsb0JBQU8sQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUM7WUFDNUMsVUFBVSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxvQkFBTyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDdEUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxFQUFFLENBQUM7Z0JBQzdELFVBQVUsQ0FBQyx3QkFBd0IsR0FBRyxNQUFNLENBQUMsa0NBQWtDLENBQUM7WUFDbEYsQ0FBQztZQUNELFVBQVUsQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLG9CQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUNwRSxVQUFVLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxvQkFBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDNUQsVUFBVSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsb0JBQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxvQkFBTyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztZQUN6QyxVQUFVLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxvQkFBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLG9CQUFPLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1lBQzFDLFVBQVUsQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxNQUFNLENBQUMsb0JBQU8sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDckQsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFnQixhQUFhLENBQUMsT0FBZ0I7SUFDNUMsTUFBTSxHQUFHLEdBQXdCLEVBQUUsQ0FBQztJQUNwQyxLQUFLLE1BQU0sQ0FBRSxHQUFHLEVBQUUsS0FBSyxDQUFFLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDL0MsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBRSxDQUFDO1lBQzFCLENBQUM7WUFDRCxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxDQUFDO1lBQ04sR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyJ9
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
2
|
+
import { Dispatcher } from 'undici';
|
3
|
+
export interface FetchOpaque {
|
4
|
+
}
|
5
|
+
export interface OpaqueInterceptorOptions {
|
6
|
+
opaqueLocalStorage: AsyncLocalStorage<FetchOpaque>;
|
7
|
+
}
|
8
|
+
export declare function fetchOpaqueInterceptor(opts: OpaqueInterceptorOptions): (dispatch: Dispatcher["dispatch"]) => Dispatcher["dispatch"];
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import symbols from './symbols.js';
|
2
|
+
export function fetchOpaqueInterceptor(opts) {
|
3
|
+
const opaqueLocalStorage = opts?.opaqueLocalStorage;
|
4
|
+
return (dispatch) => {
|
5
|
+
return function redirectInterceptor(opts, handler) {
|
6
|
+
const opaque = opaqueLocalStorage?.getStore();
|
7
|
+
handler.opaque = opaque;
|
8
|
+
return dispatch(opts, handler);
|
9
|
+
};
|
10
|
+
};
|
11
|
+
}
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmV0Y2hPcGFxdWVJbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9GZXRjaE9wYXF1ZUludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sT0FBTyxNQUFNLGNBQWMsQ0FBQztBQTZCbkMsTUFBTSxVQUFVLHNCQUFzQixDQUFDLElBQThCO0lBQ25FLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxFQUFFLGtCQUFrQixDQUFDO0lBQ3BELE9BQU8sQ0FBQyxRQUFnQyxFQUEwQixFQUFFO1FBQ2xFLE9BQU8sU0FBUyxtQkFBbUIsQ0FBQyxJQUFnQyxFQUFFLE9BQW9DO1lBQ3hHLE1BQU0sTUFBTSxHQUFHLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQzdDLE9BQWUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQ2pDLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
package/dist/esm/HttpAgent.d.ts
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
import { LookupFunction } from 'node:net';
|
2
2
|
import { Agent, Dispatcher, buildConnector } from 'undici';
|
3
3
|
export type CheckAddressFunction = (ip: string, family: number | string, hostname: string) => boolean;
|
4
|
-
export
|
4
|
+
export interface HttpAgentOptions extends Agent.Options {
|
5
5
|
lookup?: LookupFunction;
|
6
6
|
checkAddress?: CheckAddressFunction;
|
7
7
|
connect?: buildConnector.BuildOptions;
|
8
8
|
allowH2?: boolean;
|
9
|
-
}
|
9
|
+
}
|
10
10
|
export declare class HttpAgent extends Agent {
|
11
11
|
#private;
|
12
12
|
constructor(options: HttpAgentOptions);
|
package/dist/esm/HttpAgent.js
CHANGED
@@ -19,9 +19,9 @@ export class HttpAgent extends Agent {
|
|
19
19
|
#checkAddress;
|
20
20
|
constructor(options) {
|
21
21
|
/* eslint node/prefer-promises/dns: off*/
|
22
|
-
const
|
23
|
-
const
|
24
|
-
|
22
|
+
const { lookup = dns.lookup, ...baseOpts } = options;
|
23
|
+
const lookupFunction = (hostname, dnsOptions, callback) => {
|
24
|
+
lookup(hostname, dnsOptions, (err, ...args) => {
|
25
25
|
// address will be array on Node.js >= 20
|
26
26
|
const address = args[0];
|
27
27
|
const family = args[1];
|
@@ -48,7 +48,8 @@ export class HttpAgent extends Agent {
|
|
48
48
|
});
|
49
49
|
};
|
50
50
|
super({
|
51
|
-
|
51
|
+
...baseOpts,
|
52
|
+
connect: { ...options.connect, lookup: lookupFunction, allowH2: options.allowH2 },
|
52
53
|
});
|
53
54
|
this.#checkAddress = options.checkAddress;
|
54
55
|
}
|
@@ -71,4 +72,4 @@ export class HttpAgent extends Agent {
|
|
71
72
|
return super.dispatch(options, handler);
|
72
73
|
}
|
73
74
|
}
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cEFnZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0h0dHBBZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxVQUFVLENBQUM7QUFDM0IsT0FBTyxFQUFrQixJQUFJLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEQsT0FBTyxFQUNMLEtBQUssR0FHTixNQUFNLFFBQVEsQ0FBQztBQVdoQixNQUFNLG1CQUFvQixTQUFRLEtBQUs7SUFDckMsUUFBUSxDQUFTO0lBQ2pCLEVBQUUsQ0FBUztJQUNYLE1BQU0sQ0FBUztJQUVmLFlBQVksUUFBZ0IsRUFBRSxFQUFVLEVBQUUsTUFBYztRQUN0RCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQztRQUNsQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLFNBQVUsU0FBUSxLQUFLO0lBQ2xDLGFBQWEsQ0FBd0I7SUFFckMsWUFBWSxPQUF5QjtRQUNuQyx5Q0FBeUM7UUFDekMsTUFBTSxFQUFFLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRXJELE1BQU0sY0FBYyxHQUFtQixDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDeEUsTUFBTSxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxHQUFH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
|
package/dist/esm/HttpClient.d.ts
CHANGED
@@ -1,9 +1,30 @@
|
|
1
|
+
import diagnosticsChannel from 'node:diagnostics_channel';
|
1
2
|
import { EventEmitter } from 'node:events';
|
2
3
|
import { LookupFunction } from 'node:net';
|
3
4
|
import { Dispatcher } from 'undici';
|
4
5
|
import { CheckAddressFunction } from './HttpAgent.js';
|
5
6
|
import { RequestURL, RequestOptions, RequestMeta } from './Request.js';
|
6
7
|
import { RawResponseWithMeta, HttpClientResponse } from './Response.js';
|
8
|
+
export declare const PROTO_RE: RegExp;
|
9
|
+
export interface UnidiciTimingInfo {
|
10
|
+
startTime: number;
|
11
|
+
redirectStartTime: number;
|
12
|
+
redirectEndTime: number;
|
13
|
+
postRedirectStartTime: number;
|
14
|
+
finalServiceWorkerStartTime: number;
|
15
|
+
finalNetworkResponseStartTime: number;
|
16
|
+
finalNetworkRequestStartTime: number;
|
17
|
+
endTime: number;
|
18
|
+
encodedBodySize: number;
|
19
|
+
decodedBodySize: number;
|
20
|
+
finalConnectionTimingInfo: {
|
21
|
+
domainLookupStartTime: number;
|
22
|
+
domainLookupEndTime: number;
|
23
|
+
connectionStartTime: number;
|
24
|
+
connectionEndTime: number;
|
25
|
+
secureConnectionStartTime: number;
|
26
|
+
};
|
27
|
+
}
|
7
28
|
export type ClientOptions = {
|
8
29
|
defaultArgs?: RequestOptions;
|
9
30
|
/** Allow to use HTTP2 first. Default is `false` */
|
@@ -47,6 +68,12 @@ export type RequestContext = {
|
|
47
68
|
socketErrorRetries: number;
|
48
69
|
requestStartTime?: number;
|
49
70
|
};
|
71
|
+
export declare const channels: {
|
72
|
+
request: diagnosticsChannel.Channel<unknown, unknown>;
|
73
|
+
response: diagnosticsChannel.Channel<unknown, unknown>;
|
74
|
+
fetchRequest: diagnosticsChannel.Channel<unknown, unknown>;
|
75
|
+
fetchResponse: diagnosticsChannel.Channel<unknown, unknown>;
|
76
|
+
};
|
50
77
|
export type RequestDiagnosticsMessage = {
|
51
78
|
request: RequestMeta;
|
52
79
|
};
|