rezo 1.0.30 → 1.0.32
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 +165 -0
- package/dist/cache/universal-response-cache.js +162 -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_5a8lhg = require('./crawler.cjs');
|
|
2
|
+
exports.Crawler = _mod_5a8lhg.Crawler;;
|
|
3
|
+
const _mod_7jcyeu = require('./crawler-options.cjs');
|
|
4
|
+
exports.CrawlerOptions = _mod_7jcyeu.CrawlerOptions;;
|
|
5
|
+
const _mod_7ggie9 = require('../cache/file-cacher.cjs');
|
|
6
|
+
exports.FileCacher = _mod_7ggie9.FileCacher;;
|
|
7
|
+
const _mod_uo3nz5 = require('../cache/url-store.cjs');
|
|
8
|
+
exports.UrlStore = _mod_uo3nz5.UrlStore;;
|
|
9
|
+
const _mod_b2ikp7 = require('./addon/oxylabs/index.cjs');
|
|
10
|
+
exports.Oxylabs = _mod_b2ikp7.Oxylabs;;
|
|
11
|
+
const _mod_lphot2 = require('./addon/oxylabs/options.cjs');
|
|
12
|
+
exports.OXYLABS_BROWSER_TYPES = _mod_lphot2.OXYLABS_BROWSER_TYPES;
|
|
13
|
+
exports.OXYLABS_COMMON_LOCALES = _mod_lphot2.OXYLABS_COMMON_LOCALES;
|
|
14
|
+
exports.OXYLABS_COMMON_GEO_LOCATIONS = _mod_lphot2.OXYLABS_COMMON_GEO_LOCATIONS;
|
|
15
|
+
exports.OXYLABS_US_STATES = _mod_lphot2.OXYLABS_US_STATES;
|
|
16
|
+
exports.OXYLABS_EUROPEAN_COUNTRIES = _mod_lphot2.OXYLABS_EUROPEAN_COUNTRIES;
|
|
17
|
+
exports.OXYLABS_ASIAN_COUNTRIES = _mod_lphot2.OXYLABS_ASIAN_COUNTRIES;
|
|
18
|
+
exports.getRandomOxylabsBrowserType = _mod_lphot2.getRandomBrowserType;
|
|
19
|
+
exports.getRandomOxylabsLocale = _mod_lphot2.getRandomLocale;
|
|
20
|
+
exports.getRandomOxylabsGeoLocation = _mod_lphot2.getRandomGeoLocation;;
|
|
21
|
+
const _mod_5kgnw1 = require('./addon/decodo/index.cjs');
|
|
22
|
+
exports.Decodo = _mod_5kgnw1.Decodo;;
|
|
23
|
+
const _mod_jb40qg = require('./addon/decodo/options.cjs');
|
|
24
|
+
exports.DECODO_DEVICE_TYPES = _mod_jb40qg.DECODO_DEVICE_TYPES;
|
|
25
|
+
exports.DECODO_HEADLESS_MODES = _mod_jb40qg.DECODO_HEADLESS_MODES;
|
|
26
|
+
exports.DECODO_COMMON_LOCALES = _mod_jb40qg.DECODO_COMMON_LOCALES;
|
|
27
|
+
exports.DECODO_COMMON_COUNTRIES = _mod_jb40qg.DECODO_COMMON_COUNTRIES;
|
|
28
|
+
exports.DECODO_EUROPEAN_COUNTRIES = _mod_jb40qg.DECODO_EUROPEAN_COUNTRIES;
|
|
29
|
+
exports.DECODO_ASIAN_COUNTRIES = _mod_jb40qg.DECODO_ASIAN_COUNTRIES;
|
|
30
|
+
exports.DECODO_US_STATES = _mod_jb40qg.DECODO_US_STATES;
|
|
31
|
+
exports.DECODO_COMMON_CITIES = _mod_jb40qg.DECODO_COMMON_CITIES;
|
|
32
|
+
exports.getRandomDecodoDeviceType = _mod_jb40qg.getRandomDeviceType;
|
|
33
|
+
exports.getRandomDecodoLocale = _mod_jb40qg.getRandomLocale;
|
|
34
|
+
exports.getRandomDecodoCountry = _mod_jb40qg.getRandomCountry;
|
|
35
|
+
exports.getRandomDecodoCity = _mod_jb40qg.getRandomCity;
|
|
36
|
+
exports.generateDecodoSessionId = _mod_jb40qg.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_ap1blk = require('./manager.cjs');
|
|
6
|
+
exports.ProxyManager = _mod_ap1blk.ProxyManager;;
|
|
7
|
+
const _mod_y8ilfd = require('./parse.cjs');
|
|
8
|
+
exports.parseProxyString = _mod_y8ilfd.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_v9yuxn = require('./queue.cjs');
|
|
2
|
+
exports.RezoQueue = _mod_v9yuxn.RezoQueue;;
|
|
3
|
+
const _mod_00j0h6 = require('./http-queue.cjs');
|
|
4
|
+
exports.HttpQueue = _mod_00j0h6.HttpQueue;
|
|
5
|
+
exports.extractDomain = _mod_00j0h6.extractDomain;;
|
|
6
|
+
const _mod_iesj5b = require('./types.cjs');
|
|
7
|
+
exports.Priority = _mod_iesj5b.Priority;
|
|
8
|
+
exports.HttpMethodPriority = _mod_iesj5b.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_bd2u9j = require('./event-emitter.cjs');
|
|
2
|
+
exports.UniversalEventEmitter = _mod_bd2u9j.UniversalEventEmitter;;
|
|
3
|
+
const _mod_ikninx = require('./stream.cjs');
|
|
4
|
+
exports.UniversalStreamResponse = _mod_ikninx.UniversalStreamResponse;
|
|
5
|
+
exports.StreamResponse = _mod_ikninx.StreamResponse;;
|
|
6
|
+
const _mod_a1z0lo = require('./download.cjs');
|
|
7
|
+
exports.UniversalDownloadResponse = _mod_a1z0lo.UniversalDownloadResponse;
|
|
8
|
+
exports.DownloadResponse = _mod_a1z0lo.DownloadResponse;;
|
|
9
|
+
const _mod_4xan3j = require('./upload.cjs');
|
|
10
|
+
exports.UniversalUploadResponse = _mod_4xan3j.UniversalUploadResponse;
|
|
11
|
+
exports.UploadResponse = _mod_4xan3j.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;
|