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.
@@ -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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
@@ -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;
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPQSxvREFLQztBQUVELDBCQWFDO0FBT0Qsb0JBRUM7QUFwQ0QsK0JBQTJCO0FBQzNCLG1EQUFnRTtBQUdoRSxJQUFJLFVBQXNCLENBQUM7QUFDM0IsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLFVBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUU1QyxTQUFnQixvQkFBb0I7SUFDbEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hCLFVBQVUsR0FBRyxJQUFJLDBCQUFVLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVNLEtBQUssVUFBVSxPQUFPLENBQVUsR0FBZSxFQUFFLE9BQXdCO0lBQzlFLElBQUksT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO1FBQ3hCLElBQUksc0JBQXNCLEdBQUcsdUJBQXVCLENBQUMsR0FBRyxDQUFhLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM1QixzQkFBc0IsR0FBRyxJQUFJLDBCQUFVLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFO2FBQzVDLENBQUMsQ0FBQztZQUNILHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUNELE9BQU8sTUFBTSxzQkFBc0IsQ0FBQyxPQUFPLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxPQUFPLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQyxPQUFPLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRCwyREFBMkQ7QUFDM0QsUUFBUTtBQUNSLG9DQUFvQztBQUNwQyxvQkFBb0I7QUFDcEIsTUFBTTtBQUNDLEtBQUssVUFBVSxJQUFJLENBQVUsR0FBZSxFQUFFLE9BQXdCO0lBQzNFLE9BQU8sTUFBTSxPQUFPLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRCxpQ0FHZ0I7QUFGZCxtR0FBQSxTQUFTLE9BQUE7QUFBRSxvR0FBQSxVQUFVLE9BQUE7QUFBRSwrRkFBQSxLQUFLLE9BQUE7QUFBRSxvR0FBQSxVQUFVLE9BQUE7QUFDeEMsNkdBQUEsbUJBQW1CLE9BQUE7QUFBRSw2R0FBQSxtQkFBbUIsT0FBQTtBQUUxQywyREFBMkQ7QUFDM0QsaURBR3lCO0FBRnZCLDJHQUFBLFVBQVUsT0FBQTtBQUFFLDRHQUFBLFVBQVUsT0FBZTtBQUFFLDJHQUFBLGlCQUFpQixPQUFjO0FBaUJ4RSx1REFBcUM7QUFFckMsa0JBQWU7SUFDYixPQUFPO0lBQ1AsSUFBSTtJQUNKLFVBQVUsRUFBRSxpQ0FBaUI7Q0FDOUIsQ0FBQyJ9
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPQSxvREFLQztBQUVELDBCQWFDO0FBT0Qsb0JBRUM7QUFwQ0QsK0JBQTJCO0FBQzNCLG1EQUFnRTtBQUdoRSxJQUFJLFVBQXNCLENBQUM7QUFDM0IsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLFVBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUU1QyxTQUFnQixvQkFBb0I7SUFDbEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hCLFVBQVUsR0FBRyxJQUFJLDBCQUFVLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVNLEtBQUssVUFBVSxPQUFPLENBQVUsR0FBZSxFQUFFLE9BQXdCO0lBQzlFLElBQUksT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO1FBQ3hCLElBQUksc0JBQXNCLEdBQUcsdUJBQXVCLENBQUMsR0FBRyxDQUFhLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM1QixzQkFBc0IsR0FBRyxJQUFJLDBCQUFVLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFO2FBQzVDLENBQUMsQ0FBQztZQUNILHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUNELE9BQU8sTUFBTSxzQkFBc0IsQ0FBQyxPQUFPLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxPQUFPLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQyxPQUFPLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRCwyREFBMkQ7QUFDM0QsUUFBUTtBQUNSLG9DQUFvQztBQUNwQyxvQkFBb0I7QUFDcEIsTUFBTTtBQUNDLEtBQUssVUFBVSxJQUFJLENBQVUsR0FBZSxFQUFFLE9BQXdCO0lBQzNFLE9BQU8sTUFBTSxPQUFPLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRCxpQ0FLZ0I7QUFKZCxtR0FBQSxTQUFTLE9BQUE7QUFBRSxvR0FBQSxVQUFVLE9BQUE7QUFBRSwrRkFBQSxLQUFLLE9BQUE7QUFBRSxvR0FBQSxVQUFVLE9BQUE7QUFDeEMsNkdBQUEsbUJBQW1CLE9BQUE7QUFBRSw2R0FBQSxtQkFBbUIsT0FBQTtBQUN4QyxpR0FBQSxPQUFPLE9BQUE7QUFDUCxrR0FBQSxRQUFRLE9BQUE7QUFFViwyREFBMkQ7QUFDM0QsaURBR3lCO0FBRnZCLDJHQUFBLFVBQVUsT0FBQTtBQUFFLDRHQUFBLFVBQVUsT0FBZTtBQUFFLDJHQUFBLGlCQUFpQixPQUFjO0FBaUJ4RSx1REFBcUM7QUFDckMsdUNBQWlEO0FBQXhDLHdHQUFBLFlBQVksT0FBQTtBQUFFLGlHQUFBLEtBQUssT0FBQTtBQUU1QixrQkFBZTtJQUNiLE9BQU87SUFDUCxJQUFJO0lBQ0osVUFBVSxFQUFFLGlDQUFpQjtDQUM5QixDQUFDIn0=
@@ -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;
@@ -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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF5QkEsOEJBd0JDO0FBWUQsNENBZ0VDO0FBS0QsNEJBS0M7QUFFRCwwQ0FFQztBQUVELGdDQVdDO0FBeEpELDZDQUFzRDtBQUN0RCw2Q0FBdUM7QUFDdkMscURBQThDO0FBRzlDLE1BQU0sZUFBZSxHQUEyQjtJQUM5QyxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVM7SUFDckIsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTO0lBQ3ZCLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUztJQUN0QixJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVM7SUFDdEIsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTO0lBQ3RCLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUztJQUN0QixJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVM7Q0FDdkIsQ0FBQztBQUNGLG1DQUFtQztBQUNuQyxNQUFNLGNBQWMsR0FBRyx3QkFBd0IsQ0FBQztBQUVoRCxTQUFTLGNBQWMsQ0FBQyxDQUFTO0lBQy9CLE9BQU8sZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxLQUFhO0lBQ3hDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVELFNBQWdCLFNBQVMsQ0FBQyxJQUFZLEVBQUUsZUFBaUM7SUFDdkUsSUFBSSxPQUFPLGVBQWUsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUMxQyxJQUFJLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lB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
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUE0QkEsOEJBd0JDO0FBWUQsNENBZ0VDO0FBS0QsNEJBS0M7QUFFRCwwQ0FFQztBQUVELGdDQVdDO0FBRUQsNENBa0NDO0FBRUQsc0NBYUM7QUE5TUQsNkNBQXNEO0FBQ3RELDZDQUF1QztBQUN2QyxxREFBOEM7QUFHOUMsOERBQW1DO0FBR25DLE1BQU0sZUFBZSxHQUEyQjtJQUM5QyxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVM7SUFDckIsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTO0lBQ3ZCLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUztJQUN0QixJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVM7SUFDdEIsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTO0lBQ3RCLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUztJQUN0QixJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVM7Q0FDdkIsQ0FBQztBQUNGLG1DQUFtQztBQUNuQyxNQUFNLGNBQWMsR0FBRyx3QkFBd0IsQ0FBQztBQUVoRCxTQUFTLGNBQWMsQ0FBQyxDQUFTO0lBQy9CLE9BQU8sZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxLQUFhO0lBQ3hDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVELFNBQWdCLFNBQVMsQ0FBQyxJQUFZLEVBQUUsZUFBaUM7SUFDdkUsSUFBSSxPQUFPLGVBQWUsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUMx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
@@ -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=
@@ -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 type HttpAgentOptions = {
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);
@@ -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 _lookup = options.lookup ?? dns.lookup;
23
- const lookup = (hostname, dnsOptions, callback) => {
24
- _lookup(hostname, dnsOptions, (err, ...args) => {
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
- connect: { ...options.connect, lookup, allowH2: options.allowH2 },
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cEFnZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0h0dHBBZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxVQUFVLENBQUM7QUFDM0IsT0FBTyxFQUFrQixJQUFJLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEQsT0FBTyxFQUNMLEtBQUssR0FHTixNQUFNLFFBQVEsQ0FBQztBQVdoQixNQUFNLG1CQUFvQixTQUFRLEtBQUs7SUFDckMsUUFBUSxDQUFTO0lBQ2pCLEVBQUUsQ0FBUztJQUNYLE1BQU0sQ0FBUztJQUVmLFlBQVksUUFBZ0IsRUFBRSxFQUFVLEVBQUUsTUFBYztRQUN0RCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQztRQUNsQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLFNBQVUsU0FBUSxLQUFLO0lBQ2xDLGFBQWEsQ0FBd0I7SUFFckMsWUFBWSxPQUF5QjtRQUNuQyx5Q0FBeUM7UUFDekMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQzdDLE1BQU0sTUFBTSxHQUFtQixDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDaEUsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFXLEVBQUUsRUFBRTtnQkFDcEQseUNBQXlDO2dCQUN6QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxHQUFHO29CQUFFLE9BQVEsUUFBZ0IsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztvQkFDekIsOEZBQThGO29CQUM5RixJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO3dCQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUM7NEJBQ3JELEdBQUcsR0FBRyxJQUFJLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7d0JBQzNELENBQUM7b0JBQ0gsQ0FBQzt5QkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQzt3QkFDbEMsTUFBTSxTQUFTLEdBQUcsT0FBZ0QsQ0FBQzt3QkFDbkUsS0FBSyxNQUFNLElBQUksSUFBSSxTQUFTLEVBQUUsQ0FBQzs0QkFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0NBQy9ELEdBQUcsR0FBRyxJQUFJLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQ0FDbkUsTUFBTTs0QkFDUixDQUFDO3dCQUNILENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO2dCQUNBLFFBQWdCLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUNGLEtBQUssQ0FBQztZQUNKLE9BQU8sRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUU7U0FDbEUsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBQzVDLENBQUM7SUFFRCxRQUFRLENBQUMsT0FBOEIsRUFBRSxPQUFvQztRQUMzRSxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pDLE1BQU0sU0FBUyxHQUFHLE9BQU8sT0FBTyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUNoRyxJQUFJLFFBQVEsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDO1lBQ2xDLDJDQUEyQztZQUMzQyxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN2RCxRQUFRLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN4RCxDQUFDO1lBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlCLElBQUksTUFBTSxLQUFLLENBQUMsSUFBSSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLHlEQUF5RDtnQkFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO29CQUNwRCxNQUFNLElBQUksbUJBQW1CLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDNUQsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0YifQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cEFnZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0h0dHBBZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxVQUFVLENBQUM7QUFDM0IsT0FBTyxFQUFrQixJQUFJLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEQsT0FBTyxFQUNMLEtBQUssR0FHTixNQUFNLFFBQVEsQ0FBQztBQVdoQixNQUFNLG1CQUFvQixTQUFRLEtBQUs7SUFDckMsUUFBUSxDQUFTO0lBQ2pCLEVBQUUsQ0FBUztJQUNYLE1BQU0sQ0FBUztJQUVmLFlBQVksUUFBZ0IsRUFBRSxFQUFVLEVBQUUsTUFBYztRQUN0RCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQztRQUNsQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLFNBQVUsU0FBUSxLQUFLO0lBQ2xDLGFBQWEsQ0FBd0I7SUFFckMsWUFBWSxPQUF5QjtRQUNuQyx5Q0FBeUM7UUFDekMsTUFBTSxFQUFFLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRXJELE1BQU0sY0FBYyxHQUFtQixDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDeEUsTUFBTSxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxHQUFH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
@@ -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
  };