@gcmdev/faxios 0.2.2 → 0.2.3
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/lib/adapters/fetch.d.ts +4 -1
- package/dist/lib/adapters/fetch.d.ts.map +1 -1
- package/dist/lib/adapters/fetch.js +134 -76
- package/dist/lib/adapters/fetch.js.map +1 -1
- package/dist/lib/core/FaxiosHeaders.d.ts.map +1 -1
- package/dist/lib/core/FaxiosHeaders.js +31 -7
- package/dist/lib/core/FaxiosHeaders.js.map +1 -1
- package/dist/lib/core/dispatchRequest.d.ts.map +1 -1
- package/dist/lib/core/dispatchRequest.js +6 -1
- package/dist/lib/core/dispatchRequest.js.map +1 -1
- package/dist/lib/env/data.d.ts +1 -1
- package/dist/lib/env/data.js +1 -1
- package/dist/lib/helpers/progressEventReducer.d.ts.map +1 -1
- package/dist/lib/helpers/progressEventReducer.js +14 -1
- package/dist/lib/helpers/progressEventReducer.js.map +1 -1
- package/dist/lib/helpers/toFormData.d.ts.map +1 -1
- package/dist/lib/helpers/toFormData.js +12 -18
- package/dist/lib/helpers/toFormData.js.map +1 -1
- package/dist/lib/helpers/trackStream.d.ts.map +1 -1
- package/dist/lib/helpers/trackStream.js +27 -3
- package/dist/lib/helpers/trackStream.js.map +1 -1
- package/dist/lib/types.d.ts +14 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +9 -3
- package/dist/lib/utils.js.map +1 -1
- package/package.json +1 -1
- package/skills/configure-requests/SKILL.md +6 -3
- package/skills/configure-requests/references/axios-differences.md +1 -1
- package/src/lib/adapters/fetch.ts +152 -94
- package/src/lib/core/FaxiosHeaders.ts +34 -7
- package/src/lib/core/dispatchRequest.ts +6 -1
- package/src/lib/env/data.ts +1 -1
- package/src/lib/helpers/progressEventReducer.ts +14 -1
- package/src/lib/helpers/toFormData.ts +15 -19
- package/src/lib/helpers/trackStream.ts +38 -10
- package/src/lib/types.ts +14 -0
- package/src/lib/utils.ts +9 -3
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import type { InternalFaxiosRequestConfig } from "../types.js";
|
|
2
|
+
type FetchAdapter = (config: InternalFaxiosRequestConfig) => Promise<unknown>;
|
|
1
3
|
export declare const getFetch: (config?: {
|
|
2
4
|
env?: Record<string, unknown>;
|
|
3
|
-
}) =>
|
|
5
|
+
}) => false | FetchAdapter;
|
|
6
|
+
export {};
|
|
4
7
|
//# sourceMappingURL=fetch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/fetch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/fetch.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAEV,2BAA2B,EAC5B,oBAAoB;AA6JrB,KAAK,YAAY,GAAG,CAAC,MAAM,EAAE,2BAA2B,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAytB9E,eAAO,MAAM,QAAQ,GAAI,SAAS;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAAE,KAAG,KAAK,GAAG,YAsB9E,CAAC"}
|
|
@@ -31,10 +31,11 @@ const rejectUsedStreamBody = (data, config) => {
|
|
|
31
31
|
if (isWebStream)
|
|
32
32
|
sentStreamBodies.add(body);
|
|
33
33
|
};
|
|
34
|
+
const isBrowserRuntime = platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv;
|
|
34
35
|
// Server runtimes default User-Agent to their own (e.g. "node"), so name faxios there.
|
|
35
36
|
// Browsers send their own User-Agent; setting one makes every cross-origin request
|
|
36
37
|
// need a CORS preflight that most APIs don't allow.
|
|
37
|
-
const setsUserAgent = !
|
|
38
|
+
const setsUserAgent = !isBrowserRuntime;
|
|
38
39
|
const applyDefaultUserAgent = (headers) => {
|
|
39
40
|
if (setsUserAgent)
|
|
40
41
|
headers.set("User-Agent", "faxios/" + VERSION, false);
|
|
@@ -100,25 +101,21 @@ const REQUEST_INIT_DEFAULTS = {
|
|
|
100
101
|
};
|
|
101
102
|
// Where undici (Node's fetch) keeps its global dispatcher.
|
|
102
103
|
const UNDICI_GLOBAL_DISPATCHER = Symbol.for("undici.globalDispatcher.1");
|
|
103
|
-
//
|
|
104
|
+
// Own reads only: a polluted Object.prototype.fetch must never become the transport.
|
|
105
|
+
const readOwn = (obj, key) => typeof obj === "object" && obj !== null && utils.hasOwnProp(obj, key) ? Reflect.get(obj, key) : undefined;
|
|
106
|
+
const ownEnv = (config, key) => readOwn(readOwn(config, "env"), key);
|
|
107
|
+
// Feature detection depends only on the Request and Response constructors, so one adapter
|
|
108
|
+
// serves every `env.fetch`. `env.fetch` is read for each request.
|
|
104
109
|
const factory = (env) => {
|
|
105
110
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
106
111
|
const globalObject = utils.global ?? globalThis;
|
|
107
112
|
const ReadableStream = globalObject["ReadableStream"];
|
|
108
113
|
const TextEncoder = globalObject["TextEncoder"];
|
|
109
114
|
// `undefined` falls back to the global constructor; `null` disables it.
|
|
110
|
-
const envFetch = env.fetch;
|
|
111
115
|
const Request = (env.Request === undefined ? globalObject["Request"] : env.Request);
|
|
112
116
|
const Response = (env.Response === undefined ? globalObject["Response"] : env.Response);
|
|
113
|
-
const _globalFetch = globalThis["fetch"];
|
|
114
|
-
const isFetchSupported = envFetch
|
|
115
|
-
? isFunction(envFetch)
|
|
116
|
-
: isFunction(_globalFetch);
|
|
117
117
|
const isRequestSupported = isFunction(Request);
|
|
118
118
|
const isResponseSupported = isFunction(Response);
|
|
119
|
-
if (!isFetchSupported) {
|
|
120
|
-
return false;
|
|
121
|
-
}
|
|
122
119
|
// Only members this runtime's Request exposes, so an engine that rejects members it doesn't
|
|
123
120
|
// implement (Cloudflare Workers) is never sent one.
|
|
124
121
|
const requestInitDefaults = Object.entries(REQUEST_INIT_DEFAULTS).filter(([key]) => isRequestSupported && utils.hasOwnInPrototypeChain(Request.prototype, key));
|
|
@@ -127,7 +124,7 @@ const factory = (env) => {
|
|
|
127
124
|
// .mode or undici .dispatcher apply to every request. Every own enumerable key of fetchOptions
|
|
128
125
|
// is copied, so runtime extensions (Next.js `next`, Workers `cf`, Bun `tls`) still pass through;
|
|
129
126
|
// inherited keys never do. The caller sets signal, method, headers, body, duplex, credentials.
|
|
130
|
-
const initFromFetchOptions = (fetchOptions) => {
|
|
127
|
+
const initFromFetchOptions = (fetchOptions, envFetch) => {
|
|
131
128
|
const init = Object.create(null);
|
|
132
129
|
for (const [key, value] of requestInitDefaults)
|
|
133
130
|
init[key] = value;
|
|
@@ -179,26 +176,27 @@ const factory = (env) => {
|
|
|
179
176
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
180
177
|
return duplexAccessed && !hasContentType;
|
|
181
178
|
});
|
|
179
|
+
// Outside browsers a FormData body under maxBodyLength is streamed and counted as fetch reads it;
|
|
180
|
+
// browsers can't send a stream body (see buildUploadStream).
|
|
181
|
+
const countsFormDataWhileSent = !isBrowserRuntime && supportsRequestStream;
|
|
182
|
+
// Bodies counted as fetch reads them when maxBodyLength is set.
|
|
183
|
+
const isCountedWhileSent = (body) => utils.isReadableStream(body) || utils.isStream(body) || (countsFormDataWhileSent && utils.isSpecCompliantForm(body));
|
|
182
184
|
const supportsResponseStream = isResponseSupported &&
|
|
183
185
|
isReadableStreamSupported &&
|
|
184
186
|
test(() => utils.isReadableStream(new Response("").body));
|
|
185
187
|
const resolvers = {
|
|
186
188
|
stream: supportsResponseStream && ((res) => res.body),
|
|
187
189
|
};
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
return method.call(res);
|
|
197
|
-
}
|
|
198
|
-
throw new FaxiosError(`Response type '${type}' is not supported`, FaxiosError.ERR_NOT_SUPPORT, config);
|
|
199
|
-
});
|
|
190
|
+
["text", "arrayBuffer", "blob", "formData", "stream"].forEach(type => {
|
|
191
|
+
!resolvers[type] &&
|
|
192
|
+
(resolvers[type] = (res, config) => {
|
|
193
|
+
const method = res[type];
|
|
194
|
+
if (method) {
|
|
195
|
+
return method.call(res);
|
|
196
|
+
}
|
|
197
|
+
throw new FaxiosError(`Response type '${type}' is not supported`, FaxiosError.ERR_NOT_SUPPORT, config);
|
|
200
198
|
});
|
|
201
|
-
|
|
199
|
+
});
|
|
202
200
|
const getBodyLength = async (body) => {
|
|
203
201
|
if (body == null) {
|
|
204
202
|
return 0;
|
|
@@ -206,13 +204,6 @@ const factory = (env) => {
|
|
|
206
204
|
if (utils.isBlob(body)) {
|
|
207
205
|
return body.size;
|
|
208
206
|
}
|
|
209
|
-
if (utils.isSpecCompliantForm(body)) {
|
|
210
|
-
const _request = new Request(platform.origin, {
|
|
211
|
-
method: "POST",
|
|
212
|
-
body,
|
|
213
|
-
});
|
|
214
|
-
return (await _request.arrayBuffer()).byteLength;
|
|
215
|
-
}
|
|
216
207
|
if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {
|
|
217
208
|
return body.byteLength;
|
|
218
209
|
}
|
|
@@ -224,6 +215,22 @@ const factory = (env) => {
|
|
|
224
215
|
}
|
|
225
216
|
return undefined;
|
|
226
217
|
};
|
|
218
|
+
// The bytes of a FormData body's field values and files, from their sizes, without reading the
|
|
219
|
+
// body. A lower bound: the multipart body adds boundaries and part headers. Undefined for any
|
|
220
|
+
// other body.
|
|
221
|
+
const getFormDataFieldsLength = async (body) => {
|
|
222
|
+
if (!utils.isSpecCompliantForm(body)) {
|
|
223
|
+
return undefined;
|
|
224
|
+
}
|
|
225
|
+
let length = 0;
|
|
226
|
+
for (const [, value] of body) {
|
|
227
|
+
// A FormData value is a string or a File.
|
|
228
|
+
const size = utils.isString(value) ? undefined : utils.getSafeProp(value, "size");
|
|
229
|
+
// eslint-disable-next-line no-await-in-loop
|
|
230
|
+
length += typeof size === "number" ? size : (await encodeText(String(value))).byteLength;
|
|
231
|
+
}
|
|
232
|
+
return length;
|
|
233
|
+
};
|
|
227
234
|
const resolveBodyLength = async (headers, body) => {
|
|
228
235
|
const length = utils.toFiniteNumber(headers.getContentLength());
|
|
229
236
|
return length == null ? getBodyLength(body) : length;
|
|
@@ -280,10 +287,13 @@ const factory = (env) => {
|
|
|
280
287
|
}
|
|
281
288
|
// Enforce maxBodyLength against known-size bodies before dispatch using
|
|
282
289
|
// the body's actual size — never a caller-declared Content-Length.
|
|
290
|
+
// A FormData body isn't measured, since that buffers it whole: its values alone over the limit
|
|
291
|
+
// reject it here, and where it's streamed the byte counter covers the multipart framing too.
|
|
283
292
|
if (hasMaxBodyLength && method !== "get" && method !== "head") {
|
|
284
293
|
const outboundLength = await getBodyLength(data);
|
|
285
|
-
|
|
286
|
-
|
|
294
|
+
const checkedLength = outboundLength ?? await getFormDataFieldsLength(data);
|
|
295
|
+
if (typeof checkedLength === "number" && isFinite(checkedLength)) {
|
|
296
|
+
if (checkedLength > maxBodyLength) {
|
|
287
297
|
throw new FaxiosError("Request body larger than maxBodyLength limit", FaxiosError.ERR_BAD_REQUEST, config, request);
|
|
288
298
|
}
|
|
289
299
|
return outboundLength;
|
|
@@ -308,6 +318,10 @@ const factory = (env) => {
|
|
|
308
318
|
};
|
|
309
319
|
// Set up request body streaming with upload progress and/or maxBodyLength enforcement.
|
|
310
320
|
const buildUploadStream = async (data, url, method, headers, onUploadProgress, mustEnforceStreamBody, requestContentLength, hasMaxBodyLength, maxBodyLength, config, request, pendingBodyErrorRef) => {
|
|
321
|
+
// Browsers can't be given a stream body for upload progress: Chromium sends one only over
|
|
322
|
+
// HTTP/2 or later and WebKit not at all, so the upload would fail. onUploadProgress isn't
|
|
323
|
+
// called there (#209).
|
|
324
|
+
const uploadProgress = isBrowserRuntime ? undefined : onUploadProgress;
|
|
311
325
|
const _makeBodyLengthError = () => new FaxiosError("Request body larger than maxBodyLength limit", FaxiosError.ERR_BAD_REQUEST, config, request);
|
|
312
326
|
const _trackStream = (stream, onProgress, flush) => trackStream(stream, DEFAULT_CHUNK_SIZE, (loadedBytes) => {
|
|
313
327
|
if (hasMaxBodyLength && loadedBytes > maxBodyLength) {
|
|
@@ -315,11 +329,18 @@ const factory = (env) => {
|
|
|
315
329
|
throw pendingBodyErrorRef.value;
|
|
316
330
|
}
|
|
317
331
|
onProgress && onProgress(loadedBytes);
|
|
318
|
-
},
|
|
332
|
+
}, (err) => {
|
|
333
|
+
// A chunk trackStream rejected (not bytes) surfaces as the coded error, not ERR_NETWORK.
|
|
334
|
+
if (err instanceof FaxiosError && !pendingBodyErrorRef.value) {
|
|
335
|
+
err.config = config;
|
|
336
|
+
pendingBodyErrorRef.value = err;
|
|
337
|
+
}
|
|
338
|
+
flush && flush();
|
|
339
|
+
});
|
|
319
340
|
if (supportsRequestStream &&
|
|
320
341
|
method !== "get" &&
|
|
321
342
|
method !== "head" &&
|
|
322
|
-
(
|
|
343
|
+
(uploadProgress || mustEnforceStreamBody)) {
|
|
323
344
|
requestContentLength =
|
|
324
345
|
requestContentLength == null
|
|
325
346
|
? await resolveBodyLength(headers, data)
|
|
@@ -332,7 +353,7 @@ const factory = (env) => {
|
|
|
332
353
|
body: data,
|
|
333
354
|
duplex: "half",
|
|
334
355
|
});
|
|
335
|
-
data = applyUploadProgress(_request, data, headers, requestContentLength,
|
|
356
|
+
data = applyUploadProgress(_request, data, headers, requestContentLength, uploadProgress, _trackStream);
|
|
336
357
|
}
|
|
337
358
|
}
|
|
338
359
|
else if (mustEnforceStreamBody &&
|
|
@@ -352,8 +373,8 @@ const factory = (env) => {
|
|
|
352
373
|
return { data, requestContentLength };
|
|
353
374
|
};
|
|
354
375
|
// Wrap the response body stream with download progress tracking and maxContentLength enforcement.
|
|
355
|
-
const buildDownloadStream = (response, responseHeaders, onDownloadProgress, hasMaxContentLength, maxContentLength, isStreamResponse,
|
|
356
|
-
const needsWrapping = onDownloadProgress || hasMaxContentLength ||
|
|
376
|
+
const buildDownloadStream = (response, responseHeaders, onDownloadProgress, hasMaxContentLength, maxContentLength, isStreamResponse, release, config, request) => {
|
|
377
|
+
const needsWrapping = !!onDownloadProgress || hasMaxContentLength || isStreamResponse;
|
|
357
378
|
if (!supportsResponseStream || !response.body || !needsWrapping) {
|
|
358
379
|
return response;
|
|
359
380
|
}
|
|
@@ -361,7 +382,13 @@ const factory = (env) => {
|
|
|
361
382
|
["status", "statusText", "headers"].forEach(prop => {
|
|
362
383
|
options[prop] = response[prop];
|
|
363
384
|
});
|
|
364
|
-
|
|
385
|
+
// Content-Length is the encoded size; the stream yields decoded bytes, so
|
|
386
|
+
// the total is unknown when the body is content-encoded.
|
|
387
|
+
const contentEncoding = String(responseHeaders.get("content-encoding") ?? "").trim()
|
|
388
|
+
.toLowerCase();
|
|
389
|
+
const responseContentLength = contentEncoding && contentEncoding !== "identity"
|
|
390
|
+
? undefined
|
|
391
|
+
: utils.toFiniteNumber(responseHeaders.getContentLength());
|
|
365
392
|
const [onProgress, flush] = onDownloadProgress
|
|
366
393
|
? progressEventDecorator(responseContentLength, progressEventReducer(asyncDecorator(onDownloadProgress), true))
|
|
367
394
|
: [];
|
|
@@ -375,14 +402,15 @@ const factory = (env) => {
|
|
|
375
402
|
}
|
|
376
403
|
onProgress && onProgress(loadedBytes);
|
|
377
404
|
};
|
|
378
|
-
return new Response(trackStream(response.body, DEFAULT_CHUNK_SIZE, onChunkProgress, () => {
|
|
405
|
+
return new Response(trackStream(response.body, DEFAULT_CHUNK_SIZE, onChunkProgress, (err) => {
|
|
379
406
|
flush && flush();
|
|
380
|
-
|
|
407
|
+
release(err);
|
|
381
408
|
}), options);
|
|
382
409
|
};
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
410
|
+
// A stream body releases the request when it ends; a response without a body has nothing to wait for.
|
|
411
|
+
const unsubscribeOnComplete = (isStreamResponse, response, unsubscribe) => {
|
|
412
|
+
if (!isStreamResponse || response.body == null)
|
|
413
|
+
unsubscribe();
|
|
386
414
|
};
|
|
387
415
|
return async (config) => {
|
|
388
416
|
const _resolved = prepareRequest(config);
|
|
@@ -394,13 +422,17 @@ const factory = (env) => {
|
|
|
394
422
|
const own = (key) => utils.hasOwnProp(config, key)
|
|
395
423
|
? config[key]
|
|
396
424
|
: undefined;
|
|
425
|
+
const envFetch = ownEnv(config, "fetch");
|
|
397
426
|
const _fetch = (envFetch || globalThis["fetch"]);
|
|
398
427
|
if (timeout != null && !Number.isFinite(Number(timeout))) {
|
|
399
428
|
throw new FaxiosError("error trying to parse `config.timeout` to int", FaxiosError.ERR_BAD_OPTION_VALUE, config);
|
|
400
429
|
}
|
|
401
430
|
responseType = (responseType ? (responseType + "").toLowerCase() : "text");
|
|
402
|
-
|
|
403
|
-
|
|
431
|
+
// Owns the request's cleanup: aborting it on a failure aborts fetch, which releases the
|
|
432
|
+
// connection and any body still being sent or received.
|
|
433
|
+
const requestController = new AbortController();
|
|
434
|
+
const composedSignal = composeSignals([signal, requestController.signal], timeout, timeoutErrorMessage);
|
|
435
|
+
const unsubscribe = composedSignal.unsubscribe.bind(composedSignal);
|
|
404
436
|
let request = null;
|
|
405
437
|
const pendingBodyErrorRef = { value: null };
|
|
406
438
|
try {
|
|
@@ -409,8 +441,7 @@ const factory = (env) => {
|
|
|
409
441
|
const preflightContentLength = await checkPreflightLimits(url, data, method, hasMaxContentLength, maxContentLength, hasMaxBodyLength, maxBodyLength, config, request);
|
|
410
442
|
// A streamed body under maxBodyLength must be counted as fetch consumes
|
|
411
443
|
// it; its size is never trusted from a caller-declared Content-Length.
|
|
412
|
-
const
|
|
413
|
-
const mustEnforceStreamBody = hasMaxBodyLength && isStreamLike;
|
|
444
|
+
const mustEnforceStreamBody = hasMaxBodyLength && isCountedWhileSent(data);
|
|
414
445
|
({ data } = await buildUploadStream(data, url, method, headers, onUploadProgress, mustEnforceStreamBody, preflightContentLength, hasMaxBodyLength, maxBodyLength, config, request, pendingBodyErrorRef));
|
|
415
446
|
withCredentials = normalizeCredentials(withCredentials);
|
|
416
447
|
// Cloudflare Workers throws when credentials are defined
|
|
@@ -425,7 +456,7 @@ const factory = (env) => {
|
|
|
425
456
|
// Encoding as Uint8Array prevents the browser from injecting a content-type.
|
|
426
457
|
// Case-insensitive check: toByteStringHeaderObject may normalize to lowercase.
|
|
427
458
|
data = toWebStream(await encodeBodyIfNeeded(data, serializedHeaders, encodeText));
|
|
428
|
-
const resolvedOptions = initFromFetchOptions(fetchOptions);
|
|
459
|
+
const resolvedOptions = initFromFetchOptions(fetchOptions, envFetch);
|
|
429
460
|
resolvedOptions["signal"] = composedSignal;
|
|
430
461
|
resolvedOptions["method"] = method.toUpperCase();
|
|
431
462
|
resolvedOptions["headers"] = serializedHeaders;
|
|
@@ -444,17 +475,26 @@ const factory = (env) => {
|
|
|
444
475
|
checkDeclaredContentLength(responseHeaders, hasMaxContentLength, maxContentLength, config, request);
|
|
445
476
|
const isStreamResponse = supportsResponseStream &&
|
|
446
477
|
(responseType === "stream" || responseType === "response");
|
|
447
|
-
|
|
478
|
+
// A stream body outlives this call, so its end, error or cancel releases the request.
|
|
479
|
+
// A buffered body is released below, or by the catch on failure.
|
|
480
|
+
const releaseStreamBody = (bodyErr) => {
|
|
481
|
+
if (!isStreamResponse)
|
|
482
|
+
return;
|
|
483
|
+
if (bodyErr !== undefined)
|
|
484
|
+
requestController.abort(bodyErr);
|
|
485
|
+
unsubscribe();
|
|
486
|
+
};
|
|
487
|
+
response = buildDownloadStream(response, responseHeaders, onDownloadProgress, hasMaxContentLength, maxContentLength, isStreamResponse, releaseStreamBody, config, request);
|
|
448
488
|
responseType = responseType || "text";
|
|
449
489
|
const resolverKey = utils.findKey(resolvers, responseType) || "text";
|
|
450
490
|
const resolver = resolvers[resolverKey];
|
|
451
491
|
const responseData = await (resolver && resolver(response, config));
|
|
452
492
|
checkMaterializedSize(responseData, hasMaxContentLength, maxContentLength, isStreamResponse, supportsResponseStream, config, request);
|
|
453
|
-
unsubscribeOnComplete(isStreamResponse, unsubscribe);
|
|
493
|
+
unsubscribeOnComplete(isStreamResponse, response, unsubscribe);
|
|
454
494
|
return await new Promise((resolve, reject) => {
|
|
455
495
|
settle(resolve, reject, {
|
|
456
496
|
data: responseData,
|
|
457
|
-
headers:
|
|
497
|
+
headers: responseHeaders,
|
|
458
498
|
status: response.status,
|
|
459
499
|
statusText: response.statusText,
|
|
460
500
|
config,
|
|
@@ -463,35 +503,53 @@ const factory = (env) => {
|
|
|
463
503
|
});
|
|
464
504
|
}
|
|
465
505
|
catch (err) {
|
|
466
|
-
|
|
467
|
-
|
|
506
|
+
let error = err;
|
|
507
|
+
try {
|
|
508
|
+
handleFetchCaughtError(err, composedSignal, pendingBodyErrorRef, config, request);
|
|
509
|
+
}
|
|
510
|
+
catch (classified) {
|
|
511
|
+
error = classified;
|
|
512
|
+
}
|
|
513
|
+
// Classify first: the abort below sets the composed signal's reason.
|
|
514
|
+
requestController.abort(error);
|
|
515
|
+
unsubscribe();
|
|
516
|
+
throw error;
|
|
468
517
|
}
|
|
469
518
|
};
|
|
470
519
|
};
|
|
471
|
-
|
|
520
|
+
// One adapter per Request/Response pair. Weak keys let a per-request `env.Request` or
|
|
521
|
+
// `env.Response` be collected. `undefined` (use the global) and any non-function (disabled)
|
|
522
|
+
// get stand-in keys.
|
|
523
|
+
const GLOBAL_CTOR = {};
|
|
524
|
+
const NO_CTOR = {};
|
|
525
|
+
const adapters = new WeakMap();
|
|
526
|
+
const ctorKey = (ctor) => {
|
|
527
|
+
if (ctor === undefined)
|
|
528
|
+
return GLOBAL_CTOR;
|
|
529
|
+
return isFunction(ctor) ? ctor : NO_CTOR;
|
|
530
|
+
};
|
|
531
|
+
// `false` tells dispatchRequest that this runtime has no fetch.
|
|
532
|
+
// eslint-disable-next-line sonarjs/function-return-type
|
|
472
533
|
export const getFetch = (config) => {
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
const Request =
|
|
478
|
-
const Response =
|
|
479
|
-
const
|
|
480
|
-
const
|
|
481
|
-
let
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
map.set(seed, target);
|
|
491
|
-
}
|
|
492
|
-
map = target;
|
|
534
|
+
const fetch = ownEnv(config, "fetch");
|
|
535
|
+
if (!isFunction(fetch || globalThis["fetch"])) {
|
|
536
|
+
return false;
|
|
537
|
+
}
|
|
538
|
+
const Request = ownEnv(config, "Request");
|
|
539
|
+
const Response = ownEnv(config, "Response");
|
|
540
|
+
const requestKey = ctorKey(Request);
|
|
541
|
+
const responseKey = ctorKey(Response);
|
|
542
|
+
let byResponse = adapters.get(requestKey);
|
|
543
|
+
if (!byResponse) {
|
|
544
|
+
byResponse = new WeakMap();
|
|
545
|
+
adapters.set(requestKey, byResponse);
|
|
546
|
+
}
|
|
547
|
+
let adapter = byResponse.get(responseKey);
|
|
548
|
+
if (!adapter) {
|
|
549
|
+
adapter = factory({ Request, Response });
|
|
550
|
+
byResponse.set(responseKey, adapter);
|
|
493
551
|
}
|
|
494
|
-
return
|
|
552
|
+
return adapter;
|
|
495
553
|
};
|
|
496
554
|
getFetch();
|
|
497
555
|
//# sourceMappingURL=fetch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/lib/adapters/fetch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/lib/adapters/fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FaxiosHeaders.d.ts","sourceRoot":"","sources":["../../../src/lib/core/FaxiosHeaders.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB;AAKrD,KAAK,aAAa,GACd,CAAC,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAC/D,MAAM,GACN,MAAM,CAAC;AAEX,KAAK,WAAW,GACZ,aAAa,GACb,IAAI,GACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,MAAM,GACN,SAAS,CAAC;AAEd,iEAAiE;AACjE,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,kBAAkB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"FaxiosHeaders.d.ts","sourceRoot":"","sources":["../../../src/lib/core/FaxiosHeaders.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,22 @@ function normalizeHeader(header) {
|
|
|
8
8
|
return header && String(header).trim()
|
|
9
9
|
.toLowerCase();
|
|
10
10
|
}
|
|
11
|
+
// Per instance: lowercased own key -> own key. Callers may also write and delete headers as plain
|
|
12
|
+
// properties, so an entry is only trusted while its key is still own, and a miss rebuilds the index.
|
|
13
|
+
const keyIndexes = new WeakMap();
|
|
14
|
+
function indexKeys(headers) {
|
|
15
|
+
const index = new Map();
|
|
16
|
+
// Later keys overwrite earlier ones, matching utils.findKey, which scans from the end.
|
|
17
|
+
for (const key of Object.keys(headers)) {
|
|
18
|
+
index.set(key.toLowerCase(), key);
|
|
19
|
+
}
|
|
20
|
+
keyIndexes.set(headers, index);
|
|
21
|
+
return index;
|
|
22
|
+
}
|
|
23
|
+
function findHeaderKey(headers, lHeader) {
|
|
24
|
+
const key = keyIndexes.get(headers)?.get(lHeader);
|
|
25
|
+
return key !== undefined && utils.hasOwnProp(headers, key) ? key : indexKeys(headers).get(lHeader);
|
|
26
|
+
}
|
|
11
27
|
// eslint-disable-next-line sonarjs/function-return-type
|
|
12
28
|
function normalizeValue(value) {
|
|
13
29
|
if (value == null) {
|
|
@@ -89,12 +105,19 @@ class FaxiosHeaders {
|
|
|
89
105
|
}
|
|
90
106
|
set(header, valueOrRewrite, rewrite) {
|
|
91
107
|
const self = this;
|
|
108
|
+
// Set once a lookup misses, which rebuilds the index from the own keys. Only setHeader writes
|
|
109
|
+
// to self until this call returns, so from then on the index is complete and a miss is final.
|
|
110
|
+
let index;
|
|
92
111
|
function setHeader(_value, _header, _rewrite) {
|
|
93
112
|
const lHeader = normalizeHeader(_header);
|
|
94
113
|
if (!lHeader) {
|
|
95
114
|
return;
|
|
96
115
|
}
|
|
97
|
-
const key =
|
|
116
|
+
const key = index ? index.get(lHeader) : findHeaderKey(self, lHeader);
|
|
117
|
+
if (key === undefined) {
|
|
118
|
+
index ??= keyIndexes.get(self);
|
|
119
|
+
index.set(String(_header).toLowerCase(), _header);
|
|
120
|
+
}
|
|
98
121
|
if (!key ||
|
|
99
122
|
self[key] === undefined ||
|
|
100
123
|
_rewrite === true ||
|
|
@@ -128,7 +151,7 @@ class FaxiosHeaders {
|
|
|
128
151
|
get(header, parser) {
|
|
129
152
|
header = normalizeHeader(header);
|
|
130
153
|
if (header) {
|
|
131
|
-
const key =
|
|
154
|
+
const key = findHeaderKey(this, header);
|
|
132
155
|
if (key) {
|
|
133
156
|
const value = this[key];
|
|
134
157
|
if (!parser) {
|
|
@@ -151,7 +174,7 @@ class FaxiosHeaders {
|
|
|
151
174
|
has(header, matcher) {
|
|
152
175
|
header = normalizeHeader(header);
|
|
153
176
|
if (header) {
|
|
154
|
-
const key =
|
|
177
|
+
const key = findHeaderKey(this, header);
|
|
155
178
|
return !!(key &&
|
|
156
179
|
this[key] !== undefined &&
|
|
157
180
|
(!matcher ||
|
|
@@ -165,7 +188,7 @@ class FaxiosHeaders {
|
|
|
165
188
|
function deleteHeader(_header) {
|
|
166
189
|
_header = normalizeHeader(_header);
|
|
167
190
|
if (_header) {
|
|
168
|
-
const key =
|
|
191
|
+
const key = findHeaderKey(self, _header);
|
|
169
192
|
if (key &&
|
|
170
193
|
(!matcher ||
|
|
171
194
|
matchHeaderValue(self, self[key], key, matcher))) {
|
|
@@ -198,10 +221,11 @@ class FaxiosHeaders {
|
|
|
198
221
|
}
|
|
199
222
|
normalize(format = false) {
|
|
200
223
|
const self = this;
|
|
201
|
-
|
|
224
|
+
// Lowercased normalized name -> normalized name, for names already kept.
|
|
225
|
+
const kept = new Map();
|
|
202
226
|
utils.forEach(this, (value, _header) => {
|
|
203
227
|
const header = _header;
|
|
204
|
-
const key =
|
|
228
|
+
const key = kept.get(header.toLowerCase());
|
|
205
229
|
if (key) {
|
|
206
230
|
self[key] = normalizeValue(value);
|
|
207
231
|
delete self[header];
|
|
@@ -212,7 +236,7 @@ class FaxiosHeaders {
|
|
|
212
236
|
delete self[header];
|
|
213
237
|
}
|
|
214
238
|
self[normalized] = normalizeValue(value);
|
|
215
|
-
|
|
239
|
+
kept.set(normalized.toLowerCase(), normalized);
|
|
216
240
|
});
|
|
217
241
|
return this;
|
|
218
242
|
}
|