rezo 1.0.30 → 1.0.31
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/adapters/curl.cjs +8 -10
- package/dist/adapters/curl.js +8 -10
- package/dist/adapters/entries/curl.d.ts +169 -313
- package/dist/adapters/entries/fetch.d.ts +169 -313
- package/dist/adapters/entries/http.d.ts +169 -313
- package/dist/adapters/entries/http2.d.ts +169 -313
- package/dist/adapters/entries/react-native.d.ts +169 -313
- package/dist/adapters/entries/xhr.d.ts +169 -313
- package/dist/adapters/fetch.cjs +10 -7
- package/dist/adapters/fetch.js +10 -7
- package/dist/adapters/http.cjs +9 -12
- package/dist/adapters/http.js +9 -12
- package/dist/adapters/http2.cjs +6 -11
- package/dist/adapters/http2.js +6 -11
- package/dist/adapters/index.cjs +6 -6
- package/dist/adapters/react-native.cjs +4 -4
- package/dist/adapters/react-native.js +4 -4
- package/dist/adapters/xhr.cjs +4 -4
- package/dist/adapters/xhr.js +4 -4
- package/dist/cache/index.cjs +13 -13
- package/dist/cache/universal-response-cache.cjs +156 -0
- package/dist/cache/universal-response-cache.js +155 -0
- package/dist/core/rezo.cjs +2 -8
- package/dist/core/rezo.js +2 -8
- package/dist/crawler.d.ts +163 -313
- package/dist/entries/crawler.cjs +5 -5
- package/dist/index.cjs +24 -24
- package/dist/index.d.ts +169 -313
- package/dist/platform/browser.d.ts +169 -313
- package/dist/platform/bun.d.ts +169 -313
- package/dist/platform/deno.d.ts +169 -313
- package/dist/platform/node.d.ts +169 -313
- package/dist/platform/react-native.d.ts +169 -313
- package/dist/platform/worker.d.ts +169 -313
- package/dist/plugin/crawler.cjs +1 -1
- package/dist/plugin/crawler.js +1 -1
- package/dist/plugin/index.cjs +36 -36
- package/dist/proxy/index.cjs +4 -4
- package/dist/queue/index.cjs +8 -8
- package/dist/responses/buildResponse.cjs +15 -15
- package/dist/responses/buildResponse.js +15 -15
- package/dist/responses/universal/download.cjs +23 -0
- package/dist/responses/universal/download.js +22 -0
- package/dist/responses/universal/event-emitter.cjs +104 -0
- package/dist/responses/universal/event-emitter.js +102 -0
- package/dist/responses/universal/index.cjs +11 -0
- package/dist/responses/universal/index.js +4 -0
- package/dist/responses/universal/stream.cjs +32 -0
- package/dist/responses/universal/stream.js +31 -0
- package/dist/responses/universal/upload.cjs +23 -0
- package/dist/responses/universal/upload.js +22 -0
- package/dist/utils/cookies.browser.cjs +63 -0
- package/dist/utils/cookies.browser.js +61 -0
- package/dist/utils/form-data.cjs +212 -189
- package/dist/utils/form-data.js +212 -189
- package/dist/utils/http-config.cjs +28 -15
- package/dist/utils/http-config.js +28 -15
- package/package.json +11 -4
- package/dist/types/cookies.cjs +0 -394
- package/dist/types/cookies.js +0 -391
package/dist/plugin/index.cjs
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
const
|
|
2
|
-
exports.Crawler =
|
|
3
|
-
const
|
|
4
|
-
exports.CrawlerOptions =
|
|
5
|
-
const
|
|
6
|
-
exports.FileCacher =
|
|
7
|
-
const
|
|
8
|
-
exports.UrlStore =
|
|
9
|
-
const
|
|
10
|
-
exports.Oxylabs =
|
|
11
|
-
const
|
|
12
|
-
exports.OXYLABS_BROWSER_TYPES =
|
|
13
|
-
exports.OXYLABS_COMMON_LOCALES =
|
|
14
|
-
exports.OXYLABS_COMMON_GEO_LOCATIONS =
|
|
15
|
-
exports.OXYLABS_US_STATES =
|
|
16
|
-
exports.OXYLABS_EUROPEAN_COUNTRIES =
|
|
17
|
-
exports.OXYLABS_ASIAN_COUNTRIES =
|
|
18
|
-
exports.getRandomOxylabsBrowserType =
|
|
19
|
-
exports.getRandomOxylabsLocale =
|
|
20
|
-
exports.getRandomOxylabsGeoLocation =
|
|
21
|
-
const
|
|
22
|
-
exports.Decodo =
|
|
23
|
-
const
|
|
24
|
-
exports.DECODO_DEVICE_TYPES =
|
|
25
|
-
exports.DECODO_HEADLESS_MODES =
|
|
26
|
-
exports.DECODO_COMMON_LOCALES =
|
|
27
|
-
exports.DECODO_COMMON_COUNTRIES =
|
|
28
|
-
exports.DECODO_EUROPEAN_COUNTRIES =
|
|
29
|
-
exports.DECODO_ASIAN_COUNTRIES =
|
|
30
|
-
exports.DECODO_US_STATES =
|
|
31
|
-
exports.DECODO_COMMON_CITIES =
|
|
32
|
-
exports.getRandomDecodoDeviceType =
|
|
33
|
-
exports.getRandomDecodoLocale =
|
|
34
|
-
exports.getRandomDecodoCountry =
|
|
35
|
-
exports.getRandomDecodoCity =
|
|
36
|
-
exports.generateDecodoSessionId =
|
|
1
|
+
const _mod_ozd9xa = require('./crawler.cjs');
|
|
2
|
+
exports.Crawler = _mod_ozd9xa.Crawler;;
|
|
3
|
+
const _mod_75ajju = require('./crawler-options.cjs');
|
|
4
|
+
exports.CrawlerOptions = _mod_75ajju.CrawlerOptions;;
|
|
5
|
+
const _mod_xamy9c = require('../cache/file-cacher.cjs');
|
|
6
|
+
exports.FileCacher = _mod_xamy9c.FileCacher;;
|
|
7
|
+
const _mod_ll052q = require('../cache/url-store.cjs');
|
|
8
|
+
exports.UrlStore = _mod_ll052q.UrlStore;;
|
|
9
|
+
const _mod_saehzf = require('./addon/oxylabs/index.cjs');
|
|
10
|
+
exports.Oxylabs = _mod_saehzf.Oxylabs;;
|
|
11
|
+
const _mod_mgemv8 = require('./addon/oxylabs/options.cjs');
|
|
12
|
+
exports.OXYLABS_BROWSER_TYPES = _mod_mgemv8.OXYLABS_BROWSER_TYPES;
|
|
13
|
+
exports.OXYLABS_COMMON_LOCALES = _mod_mgemv8.OXYLABS_COMMON_LOCALES;
|
|
14
|
+
exports.OXYLABS_COMMON_GEO_LOCATIONS = _mod_mgemv8.OXYLABS_COMMON_GEO_LOCATIONS;
|
|
15
|
+
exports.OXYLABS_US_STATES = _mod_mgemv8.OXYLABS_US_STATES;
|
|
16
|
+
exports.OXYLABS_EUROPEAN_COUNTRIES = _mod_mgemv8.OXYLABS_EUROPEAN_COUNTRIES;
|
|
17
|
+
exports.OXYLABS_ASIAN_COUNTRIES = _mod_mgemv8.OXYLABS_ASIAN_COUNTRIES;
|
|
18
|
+
exports.getRandomOxylabsBrowserType = _mod_mgemv8.getRandomBrowserType;
|
|
19
|
+
exports.getRandomOxylabsLocale = _mod_mgemv8.getRandomLocale;
|
|
20
|
+
exports.getRandomOxylabsGeoLocation = _mod_mgemv8.getRandomGeoLocation;;
|
|
21
|
+
const _mod_ad0knl = require('./addon/decodo/index.cjs');
|
|
22
|
+
exports.Decodo = _mod_ad0knl.Decodo;;
|
|
23
|
+
const _mod_0gdkhq = require('./addon/decodo/options.cjs');
|
|
24
|
+
exports.DECODO_DEVICE_TYPES = _mod_0gdkhq.DECODO_DEVICE_TYPES;
|
|
25
|
+
exports.DECODO_HEADLESS_MODES = _mod_0gdkhq.DECODO_HEADLESS_MODES;
|
|
26
|
+
exports.DECODO_COMMON_LOCALES = _mod_0gdkhq.DECODO_COMMON_LOCALES;
|
|
27
|
+
exports.DECODO_COMMON_COUNTRIES = _mod_0gdkhq.DECODO_COMMON_COUNTRIES;
|
|
28
|
+
exports.DECODO_EUROPEAN_COUNTRIES = _mod_0gdkhq.DECODO_EUROPEAN_COUNTRIES;
|
|
29
|
+
exports.DECODO_ASIAN_COUNTRIES = _mod_0gdkhq.DECODO_ASIAN_COUNTRIES;
|
|
30
|
+
exports.DECODO_US_STATES = _mod_0gdkhq.DECODO_US_STATES;
|
|
31
|
+
exports.DECODO_COMMON_CITIES = _mod_0gdkhq.DECODO_COMMON_CITIES;
|
|
32
|
+
exports.getRandomDecodoDeviceType = _mod_0gdkhq.getRandomDeviceType;
|
|
33
|
+
exports.getRandomDecodoLocale = _mod_0gdkhq.getRandomLocale;
|
|
34
|
+
exports.getRandomDecodoCountry = _mod_0gdkhq.getRandomCountry;
|
|
35
|
+
exports.getRandomDecodoCity = _mod_0gdkhq.getRandomCity;
|
|
36
|
+
exports.generateDecodoSessionId = _mod_0gdkhq.generateSessionId;;
|
package/dist/proxy/index.cjs
CHANGED
|
@@ -2,10 +2,10 @@ const { SocksProxyAgent: RezoSocksProxy } = require("socks-proxy-agent");
|
|
|
2
2
|
const { HttpsProxyAgent: RezoHttpsSocks } = require("https-proxy-agent");
|
|
3
3
|
const { HttpProxyAgent: RezoHttpSocks } = require("http-proxy-agent");
|
|
4
4
|
const { parseProxyString } = require('./parse.cjs');
|
|
5
|
-
const
|
|
6
|
-
exports.ProxyManager =
|
|
7
|
-
const
|
|
8
|
-
exports.parseProxyString =
|
|
5
|
+
const _mod_6fvk9y = require('./manager.cjs');
|
|
6
|
+
exports.ProxyManager = _mod_6fvk9y.ProxyManager;;
|
|
7
|
+
const _mod_n5bh9r = require('./parse.cjs');
|
|
8
|
+
exports.parseProxyString = _mod_n5bh9r.parseProxyString;;
|
|
9
9
|
function createOptions(uri, opts) {
|
|
10
10
|
if (uri instanceof URL || typeof uri === "string") {
|
|
11
11
|
return {
|
package/dist/queue/index.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const
|
|
2
|
-
exports.RezoQueue =
|
|
3
|
-
const
|
|
4
|
-
exports.HttpQueue =
|
|
5
|
-
exports.extractDomain =
|
|
6
|
-
const
|
|
7
|
-
exports.Priority =
|
|
8
|
-
exports.HttpMethodPriority =
|
|
1
|
+
const _mod_zxou4r = require('./queue.cjs');
|
|
2
|
+
exports.RezoQueue = _mod_zxou4r.RezoQueue;;
|
|
3
|
+
const _mod_4vomvf = require('./http-queue.cjs');
|
|
4
|
+
exports.HttpQueue = _mod_4vomvf.HttpQueue;
|
|
5
|
+
exports.extractDomain = _mod_4vomvf.extractDomain;;
|
|
6
|
+
const _mod_5t6002 = require('./types.cjs');
|
|
7
|
+
exports.Priority = _mod_5t6002.Priority;
|
|
8
|
+
exports.HttpMethodPriority = _mod_5t6002.HttpMethodPriority;;
|
|
@@ -87,7 +87,7 @@ function formatResponse(data, config, headers) {
|
|
|
87
87
|
if (responseType === "buffer" || responseType === "binary") {
|
|
88
88
|
config.responseType = "buffer";
|
|
89
89
|
if (supportsBuffer()) {
|
|
90
|
-
return data
|
|
90
|
+
return Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
91
91
|
}
|
|
92
92
|
return data;
|
|
93
93
|
}
|
|
@@ -99,7 +99,7 @@ function formatResponse(data, config, headers) {
|
|
|
99
99
|
const encoder = new TextEncoder;
|
|
100
100
|
return encoder.encode(data).buffer;
|
|
101
101
|
}
|
|
102
|
-
if (supportsBuffer() && data
|
|
102
|
+
if (supportsBuffer() && Buffer.isBuffer(data)) {
|
|
103
103
|
return data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
|
|
104
104
|
}
|
|
105
105
|
}
|
|
@@ -110,7 +110,7 @@ function formatResponse(data, config, headers) {
|
|
|
110
110
|
if (typeof data === "string") {
|
|
111
111
|
return new Blob([data]);
|
|
112
112
|
}
|
|
113
|
-
if (data instanceof ArrayBuffer || supportsBuffer() && data
|
|
113
|
+
if (data instanceof ArrayBuffer || supportsBuffer() && Buffer.isBuffer(data)) {
|
|
114
114
|
return new Blob([data]);
|
|
115
115
|
}
|
|
116
116
|
}
|
|
@@ -119,7 +119,7 @@ function formatResponse(data, config, headers) {
|
|
|
119
119
|
if (responseType === "text") {
|
|
120
120
|
if (typeof data === "string")
|
|
121
121
|
return data;
|
|
122
|
-
if (supportsBuffer() && data
|
|
122
|
+
if (supportsBuffer() && Buffer.isBuffer(data)) {
|
|
123
123
|
return data.toString("utf-8");
|
|
124
124
|
}
|
|
125
125
|
if (data instanceof ArrayBuffer) {
|
|
@@ -140,14 +140,14 @@ function parseResponseBodyWithAutoDetect(data, contentType, config) {
|
|
|
140
140
|
if (contentType && (contentType.includes("image/") || contentType.includes("video/") || contentType.includes("audio/"))) {
|
|
141
141
|
config.responseType = "buffer";
|
|
142
142
|
if (supportsBuffer()) {
|
|
143
|
-
return data
|
|
143
|
+
return Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
144
144
|
}
|
|
145
145
|
return data;
|
|
146
146
|
}
|
|
147
147
|
if (contentType && contentType.includes("application/octet-stream")) {
|
|
148
148
|
config.responseType = "buffer";
|
|
149
149
|
if (supportsBuffer()) {
|
|
150
|
-
return data
|
|
150
|
+
return Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
151
151
|
}
|
|
152
152
|
return data;
|
|
153
153
|
}
|
|
@@ -155,7 +155,7 @@ function parseResponseBodyWithAutoDetect(data, contentType, config) {
|
|
|
155
155
|
config.responseType = "text";
|
|
156
156
|
if (typeof data === "string")
|
|
157
157
|
return data;
|
|
158
|
-
if (supportsBuffer() && data
|
|
158
|
+
if (supportsBuffer() && Buffer.isBuffer(data)) {
|
|
159
159
|
return data.toString("utf-8");
|
|
160
160
|
}
|
|
161
161
|
if (data instanceof ArrayBuffer) {
|
|
@@ -165,7 +165,7 @@ function parseResponseBodyWithAutoDetect(data, contentType, config) {
|
|
|
165
165
|
}
|
|
166
166
|
config.responseType = "buffer";
|
|
167
167
|
if (supportsBuffer()) {
|
|
168
|
-
return data
|
|
168
|
+
return Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
169
169
|
}
|
|
170
170
|
if (supportsArrayBuffer()) {
|
|
171
171
|
if (data instanceof ArrayBuffer)
|
|
@@ -191,7 +191,7 @@ function parseResponseBody(data, contentType, responseType) {
|
|
|
191
191
|
if (responseType === "arrayBuffer" && supportsArrayBuffer()) {
|
|
192
192
|
if (data instanceof ArrayBuffer)
|
|
193
193
|
return data;
|
|
194
|
-
if (supportsBuffer() && data
|
|
194
|
+
if (supportsBuffer() && Buffer.isBuffer(data)) {
|
|
195
195
|
return data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
|
|
196
196
|
}
|
|
197
197
|
}
|
|
@@ -200,19 +200,19 @@ function parseResponseBody(data, contentType, responseType) {
|
|
|
200
200
|
if (responseType === "arrayBuffer" && supportsArrayBuffer()) {
|
|
201
201
|
if (data instanceof ArrayBuffer)
|
|
202
202
|
return data;
|
|
203
|
-
if (supportsBuffer() && data
|
|
203
|
+
if (supportsBuffer() && Buffer.isBuffer(data)) {
|
|
204
204
|
return data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
207
|
if (supportsBuffer()) {
|
|
208
|
-
return data
|
|
208
|
+
return Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
209
209
|
}
|
|
210
210
|
return data;
|
|
211
211
|
}
|
|
212
212
|
if (contentType && textRelatedTypes.some((type) => contentType.includes(type))) {
|
|
213
213
|
if (typeof data === "string")
|
|
214
214
|
return data;
|
|
215
|
-
if (supportsBuffer() && data
|
|
215
|
+
if (supportsBuffer() && Buffer.isBuffer(data)) {
|
|
216
216
|
return data.toString("utf-8");
|
|
217
217
|
}
|
|
218
218
|
if (data instanceof ArrayBuffer) {
|
|
@@ -221,7 +221,7 @@ function parseResponseBody(data, contentType, responseType) {
|
|
|
221
221
|
return String(data);
|
|
222
222
|
}
|
|
223
223
|
if (supportsBuffer()) {
|
|
224
|
-
return data
|
|
224
|
+
return Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
225
225
|
}
|
|
226
226
|
if (supportsArrayBuffer()) {
|
|
227
227
|
if (data instanceof ArrayBuffer)
|
|
@@ -240,7 +240,7 @@ function parseJsonData(body) {
|
|
|
240
240
|
if (body.length < 3)
|
|
241
241
|
return body;
|
|
242
242
|
jsonString = body;
|
|
243
|
-
} else if (supportsBuffer() && body
|
|
243
|
+
} else if (supportsBuffer() && Buffer.isBuffer(body)) {
|
|
244
244
|
jsonString = body.toString("utf-8");
|
|
245
245
|
} else if (body instanceof ArrayBuffer) {
|
|
246
246
|
jsonString = new TextDecoder().decode(body);
|
|
@@ -270,7 +270,7 @@ function parseJsonData(body) {
|
|
|
270
270
|
} catch {
|
|
271
271
|
if (typeof body === "string")
|
|
272
272
|
return body;
|
|
273
|
-
if (supportsBuffer() && body
|
|
273
|
+
if (supportsBuffer() && Buffer.isBuffer(body)) {
|
|
274
274
|
return body.toString("utf-8");
|
|
275
275
|
}
|
|
276
276
|
if (body instanceof ArrayBuffer) {
|
|
@@ -87,7 +87,7 @@ function formatResponse(data, config, headers) {
|
|
|
87
87
|
if (responseType === "buffer" || responseType === "binary") {
|
|
88
88
|
config.responseType = "buffer";
|
|
89
89
|
if (supportsBuffer()) {
|
|
90
|
-
return data
|
|
90
|
+
return Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
91
91
|
}
|
|
92
92
|
return data;
|
|
93
93
|
}
|
|
@@ -99,7 +99,7 @@ function formatResponse(data, config, headers) {
|
|
|
99
99
|
const encoder = new TextEncoder;
|
|
100
100
|
return encoder.encode(data).buffer;
|
|
101
101
|
}
|
|
102
|
-
if (supportsBuffer() && data
|
|
102
|
+
if (supportsBuffer() && Buffer.isBuffer(data)) {
|
|
103
103
|
return data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
|
|
104
104
|
}
|
|
105
105
|
}
|
|
@@ -110,7 +110,7 @@ function formatResponse(data, config, headers) {
|
|
|
110
110
|
if (typeof data === "string") {
|
|
111
111
|
return new Blob([data]);
|
|
112
112
|
}
|
|
113
|
-
if (data instanceof ArrayBuffer || supportsBuffer() && data
|
|
113
|
+
if (data instanceof ArrayBuffer || supportsBuffer() && Buffer.isBuffer(data)) {
|
|
114
114
|
return new Blob([data]);
|
|
115
115
|
}
|
|
116
116
|
}
|
|
@@ -119,7 +119,7 @@ function formatResponse(data, config, headers) {
|
|
|
119
119
|
if (responseType === "text") {
|
|
120
120
|
if (typeof data === "string")
|
|
121
121
|
return data;
|
|
122
|
-
if (supportsBuffer() && data
|
|
122
|
+
if (supportsBuffer() && Buffer.isBuffer(data)) {
|
|
123
123
|
return data.toString("utf-8");
|
|
124
124
|
}
|
|
125
125
|
if (data instanceof ArrayBuffer) {
|
|
@@ -140,14 +140,14 @@ function parseResponseBodyWithAutoDetect(data, contentType, config) {
|
|
|
140
140
|
if (contentType && (contentType.includes("image/") || contentType.includes("video/") || contentType.includes("audio/"))) {
|
|
141
141
|
config.responseType = "buffer";
|
|
142
142
|
if (supportsBuffer()) {
|
|
143
|
-
return data
|
|
143
|
+
return Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
144
144
|
}
|
|
145
145
|
return data;
|
|
146
146
|
}
|
|
147
147
|
if (contentType && contentType.includes("application/octet-stream")) {
|
|
148
148
|
config.responseType = "buffer";
|
|
149
149
|
if (supportsBuffer()) {
|
|
150
|
-
return data
|
|
150
|
+
return Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
151
151
|
}
|
|
152
152
|
return data;
|
|
153
153
|
}
|
|
@@ -155,7 +155,7 @@ function parseResponseBodyWithAutoDetect(data, contentType, config) {
|
|
|
155
155
|
config.responseType = "text";
|
|
156
156
|
if (typeof data === "string")
|
|
157
157
|
return data;
|
|
158
|
-
if (supportsBuffer() && data
|
|
158
|
+
if (supportsBuffer() && Buffer.isBuffer(data)) {
|
|
159
159
|
return data.toString("utf-8");
|
|
160
160
|
}
|
|
161
161
|
if (data instanceof ArrayBuffer) {
|
|
@@ -165,7 +165,7 @@ function parseResponseBodyWithAutoDetect(data, contentType, config) {
|
|
|
165
165
|
}
|
|
166
166
|
config.responseType = "buffer";
|
|
167
167
|
if (supportsBuffer()) {
|
|
168
|
-
return data
|
|
168
|
+
return Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
169
169
|
}
|
|
170
170
|
if (supportsArrayBuffer()) {
|
|
171
171
|
if (data instanceof ArrayBuffer)
|
|
@@ -191,7 +191,7 @@ function parseResponseBody(data, contentType, responseType) {
|
|
|
191
191
|
if (responseType === "arrayBuffer" && supportsArrayBuffer()) {
|
|
192
192
|
if (data instanceof ArrayBuffer)
|
|
193
193
|
return data;
|
|
194
|
-
if (supportsBuffer() && data
|
|
194
|
+
if (supportsBuffer() && Buffer.isBuffer(data)) {
|
|
195
195
|
return data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
|
|
196
196
|
}
|
|
197
197
|
}
|
|
@@ -200,19 +200,19 @@ function parseResponseBody(data, contentType, responseType) {
|
|
|
200
200
|
if (responseType === "arrayBuffer" && supportsArrayBuffer()) {
|
|
201
201
|
if (data instanceof ArrayBuffer)
|
|
202
202
|
return data;
|
|
203
|
-
if (supportsBuffer() && data
|
|
203
|
+
if (supportsBuffer() && Buffer.isBuffer(data)) {
|
|
204
204
|
return data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
207
|
if (supportsBuffer()) {
|
|
208
|
-
return data
|
|
208
|
+
return Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
209
209
|
}
|
|
210
210
|
return data;
|
|
211
211
|
}
|
|
212
212
|
if (contentType && textRelatedTypes.some((type) => contentType.includes(type))) {
|
|
213
213
|
if (typeof data === "string")
|
|
214
214
|
return data;
|
|
215
|
-
if (supportsBuffer() && data
|
|
215
|
+
if (supportsBuffer() && Buffer.isBuffer(data)) {
|
|
216
216
|
return data.toString("utf-8");
|
|
217
217
|
}
|
|
218
218
|
if (data instanceof ArrayBuffer) {
|
|
@@ -221,7 +221,7 @@ function parseResponseBody(data, contentType, responseType) {
|
|
|
221
221
|
return String(data);
|
|
222
222
|
}
|
|
223
223
|
if (supportsBuffer()) {
|
|
224
|
-
return data
|
|
224
|
+
return Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
225
225
|
}
|
|
226
226
|
if (supportsArrayBuffer()) {
|
|
227
227
|
if (data instanceof ArrayBuffer)
|
|
@@ -240,7 +240,7 @@ function parseJsonData(body) {
|
|
|
240
240
|
if (body.length < 3)
|
|
241
241
|
return body;
|
|
242
242
|
jsonString = body;
|
|
243
|
-
} else if (supportsBuffer() && body
|
|
243
|
+
} else if (supportsBuffer() && Buffer.isBuffer(body)) {
|
|
244
244
|
jsonString = body.toString("utf-8");
|
|
245
245
|
} else if (body instanceof ArrayBuffer) {
|
|
246
246
|
jsonString = new TextDecoder().decode(body);
|
|
@@ -270,7 +270,7 @@ function parseJsonData(body) {
|
|
|
270
270
|
} catch {
|
|
271
271
|
if (typeof body === "string")
|
|
272
272
|
return body;
|
|
273
|
-
if (supportsBuffer() && body
|
|
273
|
+
if (supportsBuffer() && Buffer.isBuffer(body)) {
|
|
274
274
|
return body.toString("utf-8");
|
|
275
275
|
}
|
|
276
276
|
if (body instanceof ArrayBuffer) {
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const { UniversalEventEmitter } = require('./event-emitter.cjs');
|
|
2
|
+
|
|
3
|
+
class UniversalDownloadResponse extends UniversalEventEmitter {
|
|
4
|
+
fileName;
|
|
5
|
+
url;
|
|
6
|
+
status;
|
|
7
|
+
statusText;
|
|
8
|
+
_finished = false;
|
|
9
|
+
constructor(fileName, url) {
|
|
10
|
+
super();
|
|
11
|
+
this.fileName = fileName;
|
|
12
|
+
this.url = url;
|
|
13
|
+
}
|
|
14
|
+
isFinished() {
|
|
15
|
+
return this._finished;
|
|
16
|
+
}
|
|
17
|
+
_markFinished() {
|
|
18
|
+
this._finished = true;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
exports.DownloadResponse = UniversalDownloadResponse;
|
|
23
|
+
exports.UniversalDownloadResponse = UniversalDownloadResponse;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { UniversalEventEmitter } from './event-emitter.js';
|
|
2
|
+
|
|
3
|
+
export class UniversalDownloadResponse extends UniversalEventEmitter {
|
|
4
|
+
fileName;
|
|
5
|
+
url;
|
|
6
|
+
status;
|
|
7
|
+
statusText;
|
|
8
|
+
_finished = false;
|
|
9
|
+
constructor(fileName, url) {
|
|
10
|
+
super();
|
|
11
|
+
this.fileName = fileName;
|
|
12
|
+
this.url = url;
|
|
13
|
+
}
|
|
14
|
+
isFinished() {
|
|
15
|
+
return this._finished;
|
|
16
|
+
}
|
|
17
|
+
_markFinished() {
|
|
18
|
+
this._finished = true;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { UniversalDownloadResponse as DownloadResponse };
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
class UniversalEventEmitter {
|
|
2
|
+
_listeners = new Map;
|
|
3
|
+
_onceListeners = new Map;
|
|
4
|
+
on(event, listener) {
|
|
5
|
+
if (!this._listeners.has(event)) {
|
|
6
|
+
this._listeners.set(event, new Set);
|
|
7
|
+
}
|
|
8
|
+
this._listeners.get(event).add(listener);
|
|
9
|
+
return this;
|
|
10
|
+
}
|
|
11
|
+
once(event, listener) {
|
|
12
|
+
if (!this._onceListeners.has(event)) {
|
|
13
|
+
this._onceListeners.set(event, new Set);
|
|
14
|
+
}
|
|
15
|
+
this._onceListeners.get(event).add(listener);
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
off(event, listener) {
|
|
19
|
+
this._listeners.get(event)?.delete(listener);
|
|
20
|
+
this._onceListeners.get(event)?.delete(listener);
|
|
21
|
+
return this;
|
|
22
|
+
}
|
|
23
|
+
removeListener(event, listener) {
|
|
24
|
+
return this.off(event, listener);
|
|
25
|
+
}
|
|
26
|
+
removeAllListeners(event) {
|
|
27
|
+
if (event) {
|
|
28
|
+
this._listeners.delete(event);
|
|
29
|
+
this._onceListeners.delete(event);
|
|
30
|
+
} else {
|
|
31
|
+
this._listeners.clear();
|
|
32
|
+
this._onceListeners.clear();
|
|
33
|
+
}
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
addListener(event, listener) {
|
|
37
|
+
return this.on(event, listener);
|
|
38
|
+
}
|
|
39
|
+
prependListener(event, listener) {
|
|
40
|
+
return this.on(event, listener);
|
|
41
|
+
}
|
|
42
|
+
prependOnceListener(event, listener) {
|
|
43
|
+
return this.once(event, listener);
|
|
44
|
+
}
|
|
45
|
+
emit(event, ...args) {
|
|
46
|
+
let hasListeners = false;
|
|
47
|
+
const listeners = this._listeners.get(event);
|
|
48
|
+
if (listeners && listeners.size > 0) {
|
|
49
|
+
hasListeners = true;
|
|
50
|
+
for (const listener of listeners) {
|
|
51
|
+
try {
|
|
52
|
+
listener(...args);
|
|
53
|
+
} catch (err) {
|
|
54
|
+
console.error("EventEmitter listener error:", err);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const onceListeners = this._onceListeners.get(event);
|
|
59
|
+
if (onceListeners && onceListeners.size > 0) {
|
|
60
|
+
hasListeners = true;
|
|
61
|
+
const toCall = [...onceListeners];
|
|
62
|
+
onceListeners.clear();
|
|
63
|
+
for (const listener of toCall) {
|
|
64
|
+
try {
|
|
65
|
+
listener(...args);
|
|
66
|
+
} catch (err) {
|
|
67
|
+
console.error("EventEmitter once listener error:", err);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return hasListeners;
|
|
72
|
+
}
|
|
73
|
+
listenerCount(event) {
|
|
74
|
+
const regular = this._listeners.get(event)?.size || 0;
|
|
75
|
+
const once = this._onceListeners.get(event)?.size || 0;
|
|
76
|
+
return regular + once;
|
|
77
|
+
}
|
|
78
|
+
listeners(event) {
|
|
79
|
+
const regular = this._listeners.get(event) || new Set;
|
|
80
|
+
const once = this._onceListeners.get(event) || new Set;
|
|
81
|
+
return [...regular, ...once];
|
|
82
|
+
}
|
|
83
|
+
eventNames() {
|
|
84
|
+
const names = new Set;
|
|
85
|
+
for (const key of this._listeners.keys()) {
|
|
86
|
+
names.add(key);
|
|
87
|
+
}
|
|
88
|
+
for (const key of this._onceListeners.keys()) {
|
|
89
|
+
names.add(key);
|
|
90
|
+
}
|
|
91
|
+
return [...names];
|
|
92
|
+
}
|
|
93
|
+
setMaxListeners(_n) {
|
|
94
|
+
return this;
|
|
95
|
+
}
|
|
96
|
+
getMaxListeners() {
|
|
97
|
+
return 1 / 0;
|
|
98
|
+
}
|
|
99
|
+
rawListeners(event) {
|
|
100
|
+
return this.listeners(event);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
exports.UniversalEventEmitter = UniversalEventEmitter;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
export class UniversalEventEmitter {
|
|
2
|
+
_listeners = new Map;
|
|
3
|
+
_onceListeners = new Map;
|
|
4
|
+
on(event, listener) {
|
|
5
|
+
if (!this._listeners.has(event)) {
|
|
6
|
+
this._listeners.set(event, new Set);
|
|
7
|
+
}
|
|
8
|
+
this._listeners.get(event).add(listener);
|
|
9
|
+
return this;
|
|
10
|
+
}
|
|
11
|
+
once(event, listener) {
|
|
12
|
+
if (!this._onceListeners.has(event)) {
|
|
13
|
+
this._onceListeners.set(event, new Set);
|
|
14
|
+
}
|
|
15
|
+
this._onceListeners.get(event).add(listener);
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
off(event, listener) {
|
|
19
|
+
this._listeners.get(event)?.delete(listener);
|
|
20
|
+
this._onceListeners.get(event)?.delete(listener);
|
|
21
|
+
return this;
|
|
22
|
+
}
|
|
23
|
+
removeListener(event, listener) {
|
|
24
|
+
return this.off(event, listener);
|
|
25
|
+
}
|
|
26
|
+
removeAllListeners(event) {
|
|
27
|
+
if (event) {
|
|
28
|
+
this._listeners.delete(event);
|
|
29
|
+
this._onceListeners.delete(event);
|
|
30
|
+
} else {
|
|
31
|
+
this._listeners.clear();
|
|
32
|
+
this._onceListeners.clear();
|
|
33
|
+
}
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
addListener(event, listener) {
|
|
37
|
+
return this.on(event, listener);
|
|
38
|
+
}
|
|
39
|
+
prependListener(event, listener) {
|
|
40
|
+
return this.on(event, listener);
|
|
41
|
+
}
|
|
42
|
+
prependOnceListener(event, listener) {
|
|
43
|
+
return this.once(event, listener);
|
|
44
|
+
}
|
|
45
|
+
emit(event, ...args) {
|
|
46
|
+
let hasListeners = false;
|
|
47
|
+
const listeners = this._listeners.get(event);
|
|
48
|
+
if (listeners && listeners.size > 0) {
|
|
49
|
+
hasListeners = true;
|
|
50
|
+
for (const listener of listeners) {
|
|
51
|
+
try {
|
|
52
|
+
listener(...args);
|
|
53
|
+
} catch (err) {
|
|
54
|
+
console.error("EventEmitter listener error:", err);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const onceListeners = this._onceListeners.get(event);
|
|
59
|
+
if (onceListeners && onceListeners.size > 0) {
|
|
60
|
+
hasListeners = true;
|
|
61
|
+
const toCall = [...onceListeners];
|
|
62
|
+
onceListeners.clear();
|
|
63
|
+
for (const listener of toCall) {
|
|
64
|
+
try {
|
|
65
|
+
listener(...args);
|
|
66
|
+
} catch (err) {
|
|
67
|
+
console.error("EventEmitter once listener error:", err);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return hasListeners;
|
|
72
|
+
}
|
|
73
|
+
listenerCount(event) {
|
|
74
|
+
const regular = this._listeners.get(event)?.size || 0;
|
|
75
|
+
const once = this._onceListeners.get(event)?.size || 0;
|
|
76
|
+
return regular + once;
|
|
77
|
+
}
|
|
78
|
+
listeners(event) {
|
|
79
|
+
const regular = this._listeners.get(event) || new Set;
|
|
80
|
+
const once = this._onceListeners.get(event) || new Set;
|
|
81
|
+
return [...regular, ...once];
|
|
82
|
+
}
|
|
83
|
+
eventNames() {
|
|
84
|
+
const names = new Set;
|
|
85
|
+
for (const key of this._listeners.keys()) {
|
|
86
|
+
names.add(key);
|
|
87
|
+
}
|
|
88
|
+
for (const key of this._onceListeners.keys()) {
|
|
89
|
+
names.add(key);
|
|
90
|
+
}
|
|
91
|
+
return [...names];
|
|
92
|
+
}
|
|
93
|
+
setMaxListeners(_n) {
|
|
94
|
+
return this;
|
|
95
|
+
}
|
|
96
|
+
getMaxListeners() {
|
|
97
|
+
return 1 / 0;
|
|
98
|
+
}
|
|
99
|
+
rawListeners(event) {
|
|
100
|
+
return this.listeners(event);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const _mod_o19nj9 = require('./event-emitter.cjs');
|
|
2
|
+
exports.UniversalEventEmitter = _mod_o19nj9.UniversalEventEmitter;;
|
|
3
|
+
const _mod_id3q4c = require('./stream.cjs');
|
|
4
|
+
exports.UniversalStreamResponse = _mod_id3q4c.UniversalStreamResponse;
|
|
5
|
+
exports.StreamResponse = _mod_id3q4c.StreamResponse;;
|
|
6
|
+
const _mod_lr8pkh = require('./download.cjs');
|
|
7
|
+
exports.UniversalDownloadResponse = _mod_lr8pkh.UniversalDownloadResponse;
|
|
8
|
+
exports.DownloadResponse = _mod_lr8pkh.DownloadResponse;;
|
|
9
|
+
const _mod_l8cfzp = require('./upload.cjs');
|
|
10
|
+
exports.UniversalUploadResponse = _mod_l8cfzp.UniversalUploadResponse;
|
|
11
|
+
exports.UploadResponse = _mod_l8cfzp.UploadResponse;;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { UniversalEventEmitter } from './event-emitter.js';
|
|
2
|
+
export { UniversalStreamResponse, StreamResponse } from './stream.js';
|
|
3
|
+
export { UniversalDownloadResponse, DownloadResponse } from './download.js';
|
|
4
|
+
export { UniversalUploadResponse, UploadResponse } from './upload.js';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const { UniversalEventEmitter } = require('./event-emitter.cjs');
|
|
2
|
+
|
|
3
|
+
class UniversalStreamResponse extends UniversalEventEmitter {
|
|
4
|
+
_finished = false;
|
|
5
|
+
_encoding;
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
}
|
|
9
|
+
setEncoding(encoding) {
|
|
10
|
+
this._encoding = encoding;
|
|
11
|
+
return this;
|
|
12
|
+
}
|
|
13
|
+
getEncoding() {
|
|
14
|
+
return this._encoding;
|
|
15
|
+
}
|
|
16
|
+
isFinished() {
|
|
17
|
+
return this._finished;
|
|
18
|
+
}
|
|
19
|
+
_markFinished() {
|
|
20
|
+
this._finished = true;
|
|
21
|
+
}
|
|
22
|
+
write(chunk) {
|
|
23
|
+
this.emit("data", chunk);
|
|
24
|
+
}
|
|
25
|
+
end() {
|
|
26
|
+
this._finished = true;
|
|
27
|
+
this.emit("close");
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
exports.StreamResponse = UniversalStreamResponse;
|
|
32
|
+
exports.UniversalStreamResponse = UniversalStreamResponse;
|