fetch-nodeshim 0.2.1-canary-83f2b69271c3dc3d97aa9c6a60ae2ddbe62a46ae → 0.3.0-canary-4913c1df1c113e5c07d128c574512b23632ce954
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/CHANGELOG.md +8 -1
- package/LICENSE.md +1 -0
- package/dist/minifetch.d.ts +26 -3
- package/dist/minifetch.js +164 -109
- package/dist/minifetch.js.map +1 -1
- package/dist/minifetch.mjs +142 -87
- package/dist/minifetch.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
# minifetch
|
|
2
2
|
|
|
3
|
-
## 0.
|
|
3
|
+
## 0.3.0-canary-4913c1df1c113e5c07d128c574512b23632ce954
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Add `Body` mixin as export
|
|
8
|
+
Submitted by [@kitten](https://github.com/kitten) (See [#6](https://github.com/kitten/fetch-nodeshim/pull/6))
|
|
9
|
+
|
|
10
|
+
## 0.2.1
|
|
4
11
|
|
|
5
12
|
### Patch Changes
|
|
6
13
|
|
package/LICENSE.md
CHANGED
package/dist/minifetch.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import * as buffer from 'node:buffer';
|
|
2
|
+
import * as buffer$1 from 'buffer';
|
|
3
|
+
import * as undici_types from 'undici-types';
|
|
4
|
+
import { Readable } from 'node:stream';
|
|
2
5
|
|
|
3
6
|
type Or<T, U> = void extends T ? U : T;
|
|
4
7
|
type HeadersInit = string[][] | Record<string, string | ReadonlyArray<string>> | _Headers;
|
|
@@ -9,7 +12,7 @@ interface _Iterable<T, TReturn = any, TNext = any>
|
|
|
9
12
|
interface _AsyncIterable<T, TReturn = any, TNext = any>
|
|
10
13
|
extends Or<AsyncIterable<T, TReturn, TNext>, globalThis.AsyncIterable<T, TReturn, TNext>> {}
|
|
11
14
|
interface _ReadableStream<T = any> extends Or<ReadableStream<T>, globalThis.ReadableStream<T>> {}
|
|
12
|
-
type BodyInit =
|
|
15
|
+
type BodyInit$1 =
|
|
13
16
|
| ArrayBuffer
|
|
14
17
|
| _Blob
|
|
15
18
|
| NodeJS.ArrayBufferView
|
|
@@ -47,7 +50,7 @@ interface RequestClass extends Or<typeof Request, typeof globalThis.Request> {
|
|
|
47
50
|
interface _Request extends Or<Request, globalThis.Request> {}
|
|
48
51
|
declare const _Request: RequestClass;
|
|
49
52
|
interface ResponseClass extends Or<typeof Response, typeof globalThis.Response> {
|
|
50
|
-
new (body?: BodyInit, init?: _ResponseInit): _Response;
|
|
53
|
+
new (body?: BodyInit$1, init?: _ResponseInit): _Response;
|
|
51
54
|
}
|
|
52
55
|
interface _Response extends Or<Response, globalThis.Response> {}
|
|
53
56
|
declare const _Response: ResponseClass;
|
|
@@ -66,9 +69,29 @@ declare function _fetch(
|
|
|
66
69
|
requestInit?: _RequestInit
|
|
67
70
|
): Promise<_Response>;
|
|
68
71
|
|
|
72
|
+
type BodyInit = Exclude<RequestInit['body'], undefined | null> | FormDataPolyfill | Readable;
|
|
73
|
+
interface FormDataPolyfill extends Readable {
|
|
74
|
+
getBoundary(): string;
|
|
75
|
+
getLengthSync(): number;
|
|
76
|
+
hasKnownLength(): number;
|
|
77
|
+
}
|
|
78
|
+
declare const kBodyInternals: unique symbol;
|
|
79
|
+
declare class Body {
|
|
80
|
+
private [kBodyInternals];
|
|
81
|
+
constructor(init: BodyInit | null);
|
|
82
|
+
get body(): Uint8Array<ArrayBufferLike> | ReadableStream<any> | Readable | null;
|
|
83
|
+
get bodyUsed(): boolean;
|
|
84
|
+
arrayBuffer(): Promise<ArrayBuffer | Uint8Array<ArrayBufferLike>>;
|
|
85
|
+
formData(): Promise<undici_types.FormData>;
|
|
86
|
+
blob(): Promise<buffer$1.Blob>;
|
|
87
|
+
json(): Promise<any>;
|
|
88
|
+
text(): Promise<string>;
|
|
89
|
+
}
|
|
90
|
+
|
|
69
91
|
export {
|
|
70
92
|
_Blob as Blob,
|
|
71
|
-
|
|
93
|
+
Body,
|
|
94
|
+
type BodyInit$1 as BodyInit,
|
|
72
95
|
_File as File,
|
|
73
96
|
_FormData as FormData,
|
|
74
97
|
type FormDataEntryValue,
|
package/dist/minifetch.js
CHANGED
|
@@ -10,13 +10,13 @@ var r = require("node:http");
|
|
|
10
10
|
|
|
11
11
|
var n = require("node:url");
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var a = require("node:util/types");
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var o = require("node:crypto");
|
|
16
16
|
|
|
17
|
-
var s = require("node:
|
|
17
|
+
var s = require("node:buffer");
|
|
18
18
|
|
|
19
|
-
var i = require("node:
|
|
19
|
+
var i = require("node:zlib");
|
|
20
20
|
|
|
21
21
|
function _interopNamespaceDefault(e) {
|
|
22
22
|
var t = Object.create(null);
|
|
@@ -47,9 +47,33 @@ var c = _interopNamespaceDefault(s);
|
|
|
47
47
|
|
|
48
48
|
var d = _interopNamespaceDefault(i);
|
|
49
49
|
|
|
50
|
-
var p =
|
|
50
|
+
var p = globalThis.File || c.File;
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
if (void 0 === globalThis.File) {
|
|
53
|
+
globalThis.File = p;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
var y = Blob;
|
|
57
|
+
|
|
58
|
+
var h = URLSearchParams;
|
|
59
|
+
|
|
60
|
+
var v = URL;
|
|
61
|
+
|
|
62
|
+
var b = Request;
|
|
63
|
+
|
|
64
|
+
var m = Response;
|
|
65
|
+
|
|
66
|
+
var g = Headers;
|
|
67
|
+
|
|
68
|
+
var w = FormData;
|
|
69
|
+
|
|
70
|
+
var T = "\r\n";
|
|
71
|
+
|
|
72
|
+
var L = "-".repeat(2);
|
|
73
|
+
|
|
74
|
+
var isReadable = t => e.Readable.isReadable(t);
|
|
75
|
+
|
|
76
|
+
var isReadableStream = e => "object" == typeof e && "function" == typeof e.getReader && "function" == typeof e.cancel && "function" == typeof e.tee;
|
|
53
77
|
|
|
54
78
|
var isBlob = e => {
|
|
55
79
|
if ("object" == typeof e && "function" == typeof e.arrayBuffer && "string" == typeof e.type && "function" == typeof e.stream && "function" == typeof e.constructor) {
|
|
@@ -61,18 +85,18 @@ var isBlob = e => {
|
|
|
61
85
|
};
|
|
62
86
|
|
|
63
87
|
var getFormHeader = (e, t, r) => {
|
|
64
|
-
var n = `${
|
|
88
|
+
var n = `${L}${e}${T}`;
|
|
65
89
|
n += `Content-Disposition: form-data; name="${t}"`;
|
|
66
90
|
if (isBlob(r)) {
|
|
67
|
-
n += `; filename="${r.name ?? "blob"}"${
|
|
91
|
+
n += `; filename="${r.name ?? "blob"}"${T}`;
|
|
68
92
|
n += `Content-Type: ${r.type || "application/octet-stream"}`;
|
|
69
93
|
}
|
|
70
|
-
return `${n}${
|
|
94
|
+
return `${n}${T}${T}`;
|
|
71
95
|
};
|
|
72
96
|
|
|
73
|
-
var getFormFooter = e => `${
|
|
97
|
+
var getFormFooter = e => `${L}${e}${L}${T}${T}`;
|
|
74
98
|
|
|
75
|
-
var
|
|
99
|
+
var _ = new TextEncoder;
|
|
76
100
|
|
|
77
101
|
var extractBody = t => {
|
|
78
102
|
var r = null;
|
|
@@ -82,12 +106,12 @@ var extractBody = t => {
|
|
|
82
106
|
n = null;
|
|
83
107
|
s = 0;
|
|
84
108
|
} else if ("string" == typeof t) {
|
|
85
|
-
var i =
|
|
109
|
+
var i = _.encode(`${t}`);
|
|
86
110
|
r = "text/plain;charset=UTF-8";
|
|
87
111
|
s = i.byteLength;
|
|
88
112
|
n = i;
|
|
89
113
|
} else if ((e => "object" == typeof e && "function" == typeof e.append && "function" == typeof e.delete && "function" == typeof e.get && "function" == typeof e.getAll && "function" == typeof e.has && "function" == typeof e.set && "function" == typeof e.sort && "URLSearchParams" === e[Symbol.toStringTag])(t)) {
|
|
90
|
-
var f =
|
|
114
|
+
var f = _.encode(t.toString());
|
|
91
115
|
n = f;
|
|
92
116
|
s = f.byteLength;
|
|
93
117
|
r = "application/x-www-form-urlencoded;charset=UTF-8";
|
|
@@ -98,7 +122,7 @@ var extractBody = t => {
|
|
|
98
122
|
} else if (t instanceof Uint8Array) {
|
|
99
123
|
n = t;
|
|
100
124
|
s = t.byteLength;
|
|
101
|
-
} else if (
|
|
125
|
+
} else if (a.isAnyArrayBuffer(t)) {
|
|
102
126
|
var l = new Uint8Array(t);
|
|
103
127
|
n = l;
|
|
104
128
|
s = l.byteLength;
|
|
@@ -106,27 +130,27 @@ var extractBody = t => {
|
|
|
106
130
|
var u = new Uint8Array(t.buffer, t.byteOffset, t.byteLength);
|
|
107
131
|
n = u;
|
|
108
132
|
s = u.byteLength;
|
|
109
|
-
} else if ((
|
|
133
|
+
} else if (isReadableStream(t)) {
|
|
110
134
|
n = t;
|
|
111
135
|
} else if ((e => "object" == typeof e && "function" == typeof e.append && "function" == typeof e.set && "function" == typeof e.get && "function" == typeof e.getAll && "function" == typeof e.delete && "function" == typeof e.keys && "function" == typeof e.values && "function" == typeof e.entries && "function" == typeof e.constructor && "FormData" === e[Symbol.toStringTag])(t)) {
|
|
112
|
-
var c = `formdata-${
|
|
136
|
+
var c = `formdata-${o.randomBytes(8).toString("hex")}`;
|
|
113
137
|
r = `multipart/form-data; boundary=${c}`;
|
|
114
138
|
s = ((e, t) => {
|
|
115
139
|
var r = Buffer.byteLength(getFormFooter(t));
|
|
116
|
-
for (var [n,
|
|
117
|
-
r += Buffer.byteLength(getFormHeader(t, n,
|
|
140
|
+
for (var [n, a] of e) {
|
|
141
|
+
r += Buffer.byteLength(getFormHeader(t, n, a)) + (isBlob(a) ? a.size : Buffer.byteLength(`${a}`)) + 2;
|
|
118
142
|
}
|
|
119
143
|
return r;
|
|
120
144
|
})(t, c);
|
|
121
145
|
n = e.Readable.from(async function* generatorOfFormData(e, t) {
|
|
122
146
|
var r = new TextEncoder;
|
|
123
|
-
for (var [n,
|
|
124
|
-
if (isBlob(
|
|
125
|
-
yield r.encode(getFormHeader(t, n,
|
|
126
|
-
yield*
|
|
127
|
-
yield r.encode(
|
|
147
|
+
for (var [n, a] of e) {
|
|
148
|
+
if (isBlob(a)) {
|
|
149
|
+
yield r.encode(getFormHeader(t, n, a));
|
|
150
|
+
yield* a.stream();
|
|
151
|
+
yield r.encode(T);
|
|
128
152
|
} else {
|
|
129
|
-
yield r.encode(getFormHeader(t, n,
|
|
153
|
+
yield r.encode(getFormHeader(t, n, a) + a + T);
|
|
130
154
|
}
|
|
131
155
|
}
|
|
132
156
|
yield r.encode(getFormFooter(t));
|
|
@@ -135,12 +159,12 @@ var extractBody = t => {
|
|
|
135
159
|
r = `multipart/form-data; boundary=${t.getBoundary()}`;
|
|
136
160
|
s = t.hasKnownLength() ? t.getLengthSync() : null;
|
|
137
161
|
n = t;
|
|
138
|
-
} else if (
|
|
162
|
+
} else if (isReadable(t)) {
|
|
139
163
|
n = t;
|
|
140
164
|
} else if ((e => "function" == typeof e[Symbol.asyncIterator] || "function" == typeof e[Symbol.iterator])(t)) {
|
|
141
165
|
n = e.Readable.from(t);
|
|
142
166
|
} else {
|
|
143
|
-
var d =
|
|
167
|
+
var d = _.encode(`${t}`);
|
|
144
168
|
r = "text/plain;charset=UTF-8";
|
|
145
169
|
n = d;
|
|
146
170
|
s = d.byteLength;
|
|
@@ -152,6 +176,8 @@ var extractBody = t => {
|
|
|
152
176
|
};
|
|
153
177
|
};
|
|
154
178
|
|
|
179
|
+
var S = Symbol("kBodyInternals");
|
|
180
|
+
|
|
155
181
|
class InflateStream extends e.Transform {
|
|
156
182
|
constructor(e) {
|
|
157
183
|
super();
|
|
@@ -163,7 +189,7 @@ class InflateStream extends e.Transform {
|
|
|
163
189
|
r();
|
|
164
190
|
return;
|
|
165
191
|
}
|
|
166
|
-
this._inflate = 8 == (15 & e[0]) ?
|
|
192
|
+
this._inflate = 8 == (15 & e[0]) ? d.createInflate(this._opts) : d.createInflateRaw(this._opts);
|
|
167
193
|
this._inflate.on("data", this.push.bind(this));
|
|
168
194
|
this._inflate.on("end", (() => this.push(null)));
|
|
169
195
|
this._inflate.on("error", (e => this.destroy(e)));
|
|
@@ -179,26 +205,6 @@ class InflateStream extends e.Transform {
|
|
|
179
205
|
}
|
|
180
206
|
}
|
|
181
207
|
|
|
182
|
-
var v = globalThis.File || d.File;
|
|
183
|
-
|
|
184
|
-
if (void 0 === globalThis.File) {
|
|
185
|
-
globalThis.File = v;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
var b = Blob;
|
|
189
|
-
|
|
190
|
-
var m = URLSearchParams;
|
|
191
|
-
|
|
192
|
-
var g = URL;
|
|
193
|
-
|
|
194
|
-
var w = Request;
|
|
195
|
-
|
|
196
|
-
var L = Response;
|
|
197
|
-
|
|
198
|
-
var T = Headers;
|
|
199
|
-
|
|
200
|
-
var _ = FormData;
|
|
201
|
-
|
|
202
208
|
var headersOfRawHeaders = e => {
|
|
203
209
|
var t = new Headers;
|
|
204
210
|
for (var r = 0; r < e.length; r += 2) {
|
|
@@ -220,7 +226,7 @@ var methodToHttpOption = e => {
|
|
|
220
226
|
};
|
|
221
227
|
|
|
222
228
|
var urlToHttpOptions = e => {
|
|
223
|
-
var t = new
|
|
229
|
+
var t = new v(e);
|
|
224
230
|
switch (t.protocol) {
|
|
225
231
|
case "http:":
|
|
226
232
|
case "https:":
|
|
@@ -233,8 +239,8 @@ var urlToHttpOptions = e => {
|
|
|
233
239
|
|
|
234
240
|
async function _fetch(t, r) {
|
|
235
241
|
var n = (e => null != e && "object" == typeof e && "body" in e)(t);
|
|
236
|
-
var
|
|
237
|
-
var
|
|
242
|
+
var a = n ? t.url : t;
|
|
243
|
+
var o = n ? t.body : r?.body || null;
|
|
238
244
|
var s = n ? t.signal : r?.signal || void 0;
|
|
239
245
|
var i = (e => {
|
|
240
246
|
switch (e) {
|
|
@@ -250,8 +256,8 @@ async function _fetch(t, r) {
|
|
|
250
256
|
throw new TypeError(`Request constructor: ${e} is not an accepted type. Expected one of follow, manual, error.`);
|
|
251
257
|
}
|
|
252
258
|
})(n ? t.redirect : r?.redirect);
|
|
253
|
-
var u = new
|
|
254
|
-
var
|
|
259
|
+
var u = new v(a);
|
|
260
|
+
var c = extractBody(o);
|
|
255
261
|
var p = 0;
|
|
256
262
|
var y = new Headers(r?.headers || (n ? t.headers : void 0));
|
|
257
263
|
var h = {
|
|
@@ -261,88 +267,88 @@ async function _fetch(t, r) {
|
|
|
261
267
|
};
|
|
262
268
|
return await new Promise((function _call(t, r) {
|
|
263
269
|
var n = h.method;
|
|
264
|
-
var
|
|
265
|
-
|
|
266
|
-
|
|
270
|
+
var a = ("https:" === h.protocol ? f : l).request(h);
|
|
271
|
+
a.on("response", (a => {
|
|
272
|
+
a.setTimeout(0);
|
|
267
273
|
var f = {
|
|
268
|
-
status:
|
|
269
|
-
statusText:
|
|
270
|
-
headers: headersOfRawHeaders(
|
|
274
|
+
status: a.statusCode,
|
|
275
|
+
statusText: a.statusMessage,
|
|
276
|
+
headers: headersOfRawHeaders(a.rawHeaders)
|
|
271
277
|
};
|
|
272
|
-
if (301 === (
|
|
278
|
+
if (301 === (g = f.status) || 302 === g || 303 === g || 307 === g || 308 === g) {
|
|
273
279
|
var l = f.headers.get("Location");
|
|
274
|
-
var
|
|
280
|
+
var b = null != l ? new v(l, u) : null;
|
|
275
281
|
if ("error" === i) {
|
|
276
282
|
r(new Error("URI requested responds with a redirect, redirect mode is set to error"));
|
|
277
283
|
return;
|
|
278
|
-
} else if ("manual" === i && null !==
|
|
279
|
-
f.headers.set("Location",
|
|
280
|
-
} else if ("follow" === i && null !==
|
|
284
|
+
} else if ("manual" === i && null !== b) {
|
|
285
|
+
f.headers.set("Location", b.toString());
|
|
286
|
+
} else if ("follow" === i && null !== b) {
|
|
281
287
|
if (++p > 20) {
|
|
282
288
|
r(new Error(`maximum redirect reached at: ${u}`));
|
|
283
289
|
return;
|
|
284
|
-
} else if ("http:" !==
|
|
290
|
+
} else if ("http:" !== b.protocol && "https:" !== b.protocol) {
|
|
285
291
|
r(new Error("URL scheme must be a HTTP(S) scheme"));
|
|
286
292
|
return;
|
|
287
293
|
}
|
|
288
294
|
if (303 === f.status || (301 === f.status || 302 === f.status) && "POST" === n) {
|
|
289
|
-
|
|
295
|
+
c = extractBody(null);
|
|
290
296
|
h.method = "GET";
|
|
291
297
|
y.delete("Content-Length");
|
|
292
|
-
} else if (null !=
|
|
298
|
+
} else if (null != c.body && null == c.contentLength) {
|
|
293
299
|
r(new Error("Cannot follow redirect with a streamed body"));
|
|
294
300
|
return;
|
|
295
301
|
} else {
|
|
296
|
-
|
|
302
|
+
c = extractBody(o);
|
|
297
303
|
}
|
|
298
|
-
Object.assign(h, urlToHttpOptions(u =
|
|
304
|
+
Object.assign(h, urlToHttpOptions(u = b));
|
|
299
305
|
return _call(t, r);
|
|
300
306
|
}
|
|
301
307
|
}
|
|
302
|
-
var
|
|
308
|
+
var g;
|
|
303
309
|
var destroy = e => {
|
|
304
310
|
s?.removeEventListener("abort", destroy);
|
|
305
311
|
if (e) {
|
|
306
|
-
|
|
312
|
+
a.destroy(s?.aborted ? s.reason : e);
|
|
307
313
|
r(s?.aborted ? s.reason : e);
|
|
308
314
|
}
|
|
309
315
|
};
|
|
310
316
|
s?.addEventListener("abort", destroy);
|
|
311
|
-
var
|
|
312
|
-
var
|
|
317
|
+
var w = a;
|
|
318
|
+
var T = f.headers.get("Content-Encoding")?.toLowerCase();
|
|
313
319
|
if ("HEAD" === n || 204 === f.status || 304 === f.status) {
|
|
314
|
-
|
|
315
|
-
} else if (null !=
|
|
316
|
-
f.headers.set("Content-Encoding",
|
|
317
|
-
|
|
320
|
+
w = null;
|
|
321
|
+
} else if (null != T) {
|
|
322
|
+
f.headers.set("Content-Encoding", T);
|
|
323
|
+
w = e.pipeline(w, (t => {
|
|
318
324
|
switch (t) {
|
|
319
325
|
case "br":
|
|
320
|
-
return
|
|
321
|
-
flush:
|
|
322
|
-
finishFlush:
|
|
326
|
+
return d.createBrotliDecompress({
|
|
327
|
+
flush: d.constants.BROTLI_OPERATION_FLUSH,
|
|
328
|
+
finishFlush: d.constants.BROTLI_OPERATION_FLUSH
|
|
323
329
|
});
|
|
324
330
|
|
|
325
331
|
case "gzip":
|
|
326
332
|
case "x-gzip":
|
|
327
|
-
return
|
|
328
|
-
flush:
|
|
329
|
-
finishFlush:
|
|
333
|
+
return d.createGunzip({
|
|
334
|
+
flush: d.constants.Z_SYNC_FLUSH,
|
|
335
|
+
finishFlush: d.constants.Z_SYNC_FLUSH
|
|
330
336
|
});
|
|
331
337
|
|
|
332
338
|
case "deflate":
|
|
333
339
|
case "x-deflate":
|
|
334
340
|
return new InflateStream({
|
|
335
|
-
flush:
|
|
336
|
-
finishFlush:
|
|
341
|
+
flush: d.constants.Z_SYNC_FLUSH,
|
|
342
|
+
finishFlush: d.constants.Z_SYNC_FLUSH
|
|
337
343
|
});
|
|
338
344
|
|
|
339
345
|
default:
|
|
340
346
|
return new e.PassThrough;
|
|
341
347
|
}
|
|
342
|
-
})(
|
|
348
|
+
})(T), destroy);
|
|
343
349
|
}
|
|
344
350
|
t(function createResponse(e, t, r) {
|
|
345
|
-
var n = new
|
|
351
|
+
var n = new m(e, t);
|
|
346
352
|
Object.defineProperty(n, "url", {
|
|
347
353
|
value: r.url
|
|
348
354
|
});
|
|
@@ -357,23 +363,23 @@ async function _fetch(t, r) {
|
|
|
357
363
|
});
|
|
358
364
|
}
|
|
359
365
|
return n;
|
|
360
|
-
}(
|
|
366
|
+
}(w, f, {
|
|
361
367
|
type: "default",
|
|
362
368
|
url: u.toString(),
|
|
363
369
|
redirected: p > 0
|
|
364
370
|
}));
|
|
365
371
|
}));
|
|
366
|
-
|
|
372
|
+
a.on("error", r);
|
|
367
373
|
if (!y.has("Accept")) {
|
|
368
374
|
y.set("Accept", "*/*");
|
|
369
375
|
}
|
|
370
|
-
if (
|
|
371
|
-
y.set("Content-Type",
|
|
376
|
+
if (c.contentType) {
|
|
377
|
+
y.set("Content-Type", c.contentType);
|
|
372
378
|
}
|
|
373
|
-
if (null ==
|
|
379
|
+
if (null == c.body && ("POST" === n || "PUT" === n)) {
|
|
374
380
|
y.set("Content-Length", "0");
|
|
375
|
-
} else if (null !=
|
|
376
|
-
y.set("Content-Length", `${
|
|
381
|
+
} else if (null != c.body && null != c.contentLength) {
|
|
382
|
+
y.set("Content-Length", `${c.contentLength}`);
|
|
377
383
|
}
|
|
378
384
|
((e, t) => {
|
|
379
385
|
if ("function" == typeof e.setHeaders) {
|
|
@@ -383,15 +389,15 @@ async function _fetch(t, r) {
|
|
|
383
389
|
e.setHeader(r, n);
|
|
384
390
|
}
|
|
385
391
|
}
|
|
386
|
-
})(
|
|
387
|
-
if (null ==
|
|
388
|
-
|
|
389
|
-
} else if (
|
|
390
|
-
|
|
391
|
-
|
|
392
|
+
})(a, y);
|
|
393
|
+
if (null == c.body) {
|
|
394
|
+
a.end();
|
|
395
|
+
} else if (c.body instanceof Uint8Array) {
|
|
396
|
+
a.write(c.body);
|
|
397
|
+
a.end();
|
|
392
398
|
} else {
|
|
393
|
-
var
|
|
394
|
-
e.pipeline(
|
|
399
|
+
var b = c.body instanceof e.Stream ? c.body : e.Readable.fromWeb(c.body);
|
|
400
|
+
e.pipeline(b, a, (e => {
|
|
395
401
|
if (e) {
|
|
396
402
|
r(e);
|
|
397
403
|
}
|
|
@@ -400,21 +406,70 @@ async function _fetch(t, r) {
|
|
|
400
406
|
}));
|
|
401
407
|
}
|
|
402
408
|
|
|
403
|
-
exports.Blob =
|
|
409
|
+
exports.Blob = y;
|
|
410
|
+
|
|
411
|
+
exports.Body = class Body {
|
|
412
|
+
constructor(e) {
|
|
413
|
+
this[S] = extractBody(e);
|
|
414
|
+
}
|
|
415
|
+
get body() {
|
|
416
|
+
return this[S].body;
|
|
417
|
+
}
|
|
418
|
+
get bodyUsed() {
|
|
419
|
+
var {body: t} = this[S];
|
|
420
|
+
if (isReadable(t)) {
|
|
421
|
+
return e.Readable.isDisturbed(t);
|
|
422
|
+
} else if (isReadableStream(t)) {
|
|
423
|
+
return t.locked;
|
|
424
|
+
} else {
|
|
425
|
+
return !1;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
async arrayBuffer() {
|
|
429
|
+
var {body: e} = this[S];
|
|
430
|
+
return a.isAnyArrayBuffer(e) ? e : new m(this.body).arrayBuffer();
|
|
431
|
+
}
|
|
432
|
+
async formData() {
|
|
433
|
+
var {body: e, contentLength: t, contentType: r} = this[S];
|
|
434
|
+
var n = {};
|
|
435
|
+
if (t) {
|
|
436
|
+
n["Content-Length"] = t;
|
|
437
|
+
}
|
|
438
|
+
if (r) {
|
|
439
|
+
n["Content-Type"] = r;
|
|
440
|
+
}
|
|
441
|
+
return new m(e, {
|
|
442
|
+
headers: n
|
|
443
|
+
}).formData();
|
|
444
|
+
}
|
|
445
|
+
async blob() {
|
|
446
|
+
var {contentType: e} = this[S];
|
|
447
|
+
return new y([ await this.arrayBuffer() ], {
|
|
448
|
+
type: e ?? void 0
|
|
449
|
+
});
|
|
450
|
+
}
|
|
451
|
+
async json() {
|
|
452
|
+
var e = await this.text();
|
|
453
|
+
return JSON.parse(e);
|
|
454
|
+
}
|
|
455
|
+
async text() {
|
|
456
|
+
return (new TextDecoder).decode(await this.arrayBuffer());
|
|
457
|
+
}
|
|
458
|
+
};
|
|
404
459
|
|
|
405
|
-
exports.File =
|
|
460
|
+
exports.File = p;
|
|
406
461
|
|
|
407
|
-
exports.FormData =
|
|
462
|
+
exports.FormData = w;
|
|
408
463
|
|
|
409
|
-
exports.Headers =
|
|
464
|
+
exports.Headers = g;
|
|
410
465
|
|
|
411
|
-
exports.Request =
|
|
466
|
+
exports.Request = b;
|
|
412
467
|
|
|
413
|
-
exports.Response =
|
|
468
|
+
exports.Response = m;
|
|
414
469
|
|
|
415
|
-
exports.URL =
|
|
470
|
+
exports.URL = v;
|
|
416
471
|
|
|
417
|
-
exports.URLSearchParams =
|
|
472
|
+
exports.URLSearchParams = h;
|
|
418
473
|
|
|
419
474
|
exports.default = _fetch;
|
|
420
475
|
|