@crawlee/core 3.13.6-beta.0 → 4.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autoscaling/autoscaled_pool.d.ts +3 -3
- package/autoscaling/autoscaled_pool.d.ts.map +1 -1
- package/autoscaling/autoscaled_pool.js +76 -225
- package/autoscaling/autoscaled_pool.js.map +1 -1
- package/autoscaling/index.d.ts +3 -3
- package/autoscaling/index.d.ts.map +1 -1
- package/autoscaling/index.js +3 -6
- package/autoscaling/index.js.map +1 -1
- package/autoscaling/snapshotter.d.ts +3 -3
- package/autoscaling/snapshotter.d.ts.map +1 -1
- package/autoscaling/snapshotter.js +42 -137
- package/autoscaling/snapshotter.js.map +1 -1
- package/autoscaling/system_status.d.ts +2 -2
- package/autoscaling/system_status.d.ts.map +1 -1
- package/autoscaling/system_status.js +20 -55
- package/autoscaling/system_status.js.map +1 -1
- package/configuration.d.ts +4 -4
- package/configuration.d.ts.map +1 -1
- package/configuration.js +79 -126
- package/configuration.js.map +1 -1
- package/cookie_utils.js +17 -25
- package/cookie_utils.js.map +1 -1
- package/crawlers/crawler_commons.d.ts +9 -8
- package/crawlers/crawler_commons.d.ts.map +1 -1
- package/crawlers/crawler_commons.js +47 -121
- package/crawlers/crawler_commons.js.map +1 -1
- package/crawlers/crawler_extension.d.ts +1 -1
- package/crawlers/crawler_extension.d.ts.map +1 -1
- package/crawlers/crawler_extension.js +4 -20
- package/crawlers/crawler_extension.js.map +1 -1
- package/crawlers/crawler_utils.d.ts +1 -1
- package/crawlers/crawler_utils.d.ts.map +1 -1
- package/crawlers/crawler_utils.js +3 -6
- package/crawlers/crawler_utils.js.map +1 -1
- package/crawlers/error_snapshotter.d.ts +3 -3
- package/crawlers/error_snapshotter.d.ts.map +1 -1
- package/crawlers/error_snapshotter.js +8 -38
- package/crawlers/error_snapshotter.js.map +1 -1
- package/crawlers/error_tracker.d.ts +2 -2
- package/crawlers/error_tracker.d.ts.map +1 -1
- package/crawlers/error_tracker.js +18 -40
- package/crawlers/error_tracker.js.map +1 -1
- package/crawlers/index.d.ts +6 -6
- package/crawlers/index.d.ts.map +1 -1
- package/crawlers/index.js +6 -9
- package/crawlers/index.js.map +1 -1
- package/crawlers/statistics.d.ts +3 -3
- package/crawlers/statistics.d.ts.map +1 -1
- package/crawlers/statistics.js +59 -167
- package/crawlers/statistics.js.map +1 -1
- package/enqueue_links/enqueue_links.d.ts +2 -2
- package/enqueue_links/enqueue_links.d.ts.map +1 -1
- package/enqueue_links/enqueue_links.js +41 -47
- package/enqueue_links/enqueue_links.js.map +1 -1
- package/enqueue_links/index.d.ts +2 -2
- package/enqueue_links/index.d.ts.map +1 -1
- package/enqueue_links/index.js +2 -5
- package/enqueue_links/index.js.map +1 -1
- package/enqueue_links/shared.d.ts +4 -4
- package/enqueue_links/shared.d.ts.map +1 -1
- package/enqueue_links/shared.js +23 -35
- package/enqueue_links/shared.js.map +1 -1
- package/errors.js +5 -13
- package/errors.js.map +1 -1
- package/events/event_manager.d.ts +1 -1
- package/events/event_manager.d.ts.map +1 -1
- package/events/event_manager.js +16 -45
- package/events/event_manager.js.map +1 -1
- package/events/index.d.ts +2 -2
- package/events/index.d.ts.map +1 -1
- package/events/index.js +2 -5
- package/events/index.js.map +1 -1
- package/events/local_event_manager.d.ts +1 -1
- package/events/local_event_manager.d.ts.map +1 -1
- package/events/local_event_manager.js +15 -28
- package/events/local_event_manager.js.map +1 -1
- package/http_clients/base-http-client.d.ts +1 -1
- package/http_clients/base-http-client.d.ts.map +1 -1
- package/http_clients/base-http-client.js +5 -8
- package/http_clients/base-http-client.js.map +1 -1
- package/http_clients/form-data-like.js +1 -2
- package/http_clients/form-data-like.js.map +1 -1
- package/http_clients/got-scraping-http-client.d.ts +1 -1
- package/http_clients/got-scraping-http-client.d.ts.map +1 -1
- package/http_clients/got-scraping-http-client.js +6 -11
- package/http_clients/got-scraping-http-client.js.map +1 -1
- package/http_clients/index.d.ts +2 -2
- package/http_clients/index.d.ts.map +1 -1
- package/http_clients/index.js +2 -5
- package/http_clients/index.js.map +1 -1
- package/index.d.ts +16 -16
- package/index.d.ts.map +1 -1
- package/index.js +17 -22
- package/index.js.map +1 -1
- package/log.js +2 -11
- package/log.js.map +1 -1
- package/package.json +27 -33
- package/proxy_configuration.d.ts +1 -1
- package/proxy_configuration.d.ts.map +1 -1
- package/proxy_configuration.js +22 -78
- package/proxy_configuration.js.map +1 -1
- package/request.d.ts +2 -2
- package/request.d.ts.map +1 -1
- package/request.js +76 -147
- package/request.js.map +1 -1
- package/router.d.ts +3 -3
- package/router.d.ts.map +1 -1
- package/router.js +6 -21
- package/router.js.map +1 -1
- package/serialization.d.ts.map +1 -1
- package/serialization.js +22 -44
- package/serialization.js.map +1 -1
- package/session_pool/consts.js +3 -6
- package/session_pool/consts.js.map +1 -1
- package/session_pool/errors.js +3 -11
- package/session_pool/errors.js.map +1 -1
- package/session_pool/events.js +1 -4
- package/session_pool/events.js.map +1 -1
- package/session_pool/index.d.ts +5 -5
- package/session_pool/index.d.ts.map +1 -1
- package/session_pool/index.js +5 -8
- package/session_pool/index.js.map +1 -1
- package/session_pool/session.d.ts +3 -17
- package/session_pool/session.d.ts.map +1 -1
- package/session_pool/session.js +52 -116
- package/session_pool/session.js.map +1 -1
- package/session_pool/session_pool.d.ts +7 -7
- package/session_pool/session_pool.d.ts.map +1 -1
- package/session_pool/session_pool.js +42 -126
- package/session_pool/session_pool.js.map +1 -1
- package/storages/access_checking.d.ts +1 -1
- package/storages/access_checking.d.ts.map +1 -1
- package/storages/access_checking.js +4 -9
- package/storages/access_checking.js.map +1 -1
- package/storages/dataset.d.ts +4 -4
- package/storages/dataset.d.ts.map +1 -1
- package/storages/dataset.js +45 -76
- package/storages/dataset.js.map +1 -1
- package/storages/index.d.ts +11 -11
- package/storages/index.d.ts.map +1 -1
- package/storages/index.js +11 -18
- package/storages/index.js.map +1 -1
- package/storages/key_value_store.d.ts +3 -3
- package/storages/key_value_store.d.ts.map +1 -1
- package/storages/key_value_store.js +62 -102
- package/storages/key_value_store.js.map +1 -1
- package/storages/request_list.d.ts +3 -3
- package/storages/request_list.d.ts.map +1 -1
- package/storages/request_list.js +83 -183
- package/storages/request_list.js.map +1 -1
- package/storages/request_provider.d.ts +5 -5
- package/storages/request_provider.d.ts.map +1 -1
- package/storages/request_provider.js +97 -201
- package/storages/request_provider.js.map +1 -1
- package/storages/request_queue.d.ts +4 -4
- package/storages/request_queue.d.ts.map +1 -1
- package/storages/request_queue.js +27 -40
- package/storages/request_queue.js.map +1 -1
- package/storages/request_queue_v2.d.ts +4 -4
- package/storages/request_queue_v2.d.ts.map +1 -1
- package/storages/request_queue_v2.js +18 -42
- package/storages/request_queue_v2.js.map +1 -1
- package/storages/sitemap_request_list.d.ts +4 -4
- package/storages/sitemap_request_list.d.ts.map +1 -1
- package/storages/sitemap_request_list.js +96 -181
- package/storages/sitemap_request_list.js.map +1 -1
- package/storages/storage_manager.d.ts +3 -3
- package/storages/storage_manager.d.ts.map +1 -1
- package/storages/storage_manager.js +14 -42
- package/storages/storage_manager.js.map +1 -1
- package/storages/utils.d.ts +1 -1
- package/storages/utils.d.ts.map +1 -1
- package/storages/utils.js +16 -23
- package/storages/utils.js.map +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/typedefs.js +2 -6
- package/typedefs.js.map +1 -1
- package/validators.js +6 -10
- package/validators.js.map +1 -1
- package/index.mjs +0 -88
package/enqueue_links/shared.js
CHANGED
|
@@ -1,20 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.constructGlobObjectsFromGlobs = constructGlobObjectsFromGlobs;
|
|
7
|
-
exports.validateGlobPattern = validateGlobPattern;
|
|
8
|
-
exports.constructRegExpObjectsFromRegExps = constructRegExpObjectsFromRegExps;
|
|
9
|
-
exports.createRequests = createRequests;
|
|
10
|
-
exports.filterRequestsByPatterns = filterRequestsByPatterns;
|
|
11
|
-
exports.createRequestOptions = createRequestOptions;
|
|
12
|
-
const node_url_1 = require("node:url");
|
|
13
|
-
const minimatch_1 = require("minimatch");
|
|
14
|
-
const pseudo_url_1 = require("@apify/pseudo_url");
|
|
15
|
-
const request_1 = require("../request");
|
|
16
|
-
var utils_1 = require("@crawlee/utils");
|
|
17
|
-
Object.defineProperty(exports, "tryAbsoluteURL", { enumerable: true, get: function () { return utils_1.tryAbsoluteURL; } });
|
|
1
|
+
import { URL } from 'node:url';
|
|
2
|
+
import { minimatch } from 'minimatch';
|
|
3
|
+
import { purlToRegExp } from '@apify/pseudo_url';
|
|
4
|
+
import { Request } from '../request.js';
|
|
5
|
+
export { tryAbsoluteURL } from '@crawlee/utils';
|
|
18
6
|
const MAX_ENQUEUE_LINKS_CACHE_SIZE = 1000;
|
|
19
7
|
/**
|
|
20
8
|
* To enable direct use of the Actor UI `globs`/`regexps`/`pseudoUrls` output while keeping high performance,
|
|
@@ -26,7 +14,7 @@ const enqueueLinksPatternCache = new Map();
|
|
|
26
14
|
/**
|
|
27
15
|
* @ignore
|
|
28
16
|
*/
|
|
29
|
-
function updateEnqueueLinksPatternCache(item, pattern) {
|
|
17
|
+
export function updateEnqueueLinksPatternCache(item, pattern) {
|
|
30
18
|
enqueueLinksPatternCache.set(item, pattern);
|
|
31
19
|
if (enqueueLinksPatternCache.size > MAX_ENQUEUE_LINKS_CACHE_SIZE) {
|
|
32
20
|
const key = enqueueLinksPatternCache.keys().next().value;
|
|
@@ -38,18 +26,18 @@ function updateEnqueueLinksPatternCache(item, pattern) {
|
|
|
38
26
|
* to construct RegExps from PseudoUrl strings.
|
|
39
27
|
* @ignore
|
|
40
28
|
*/
|
|
41
|
-
function constructRegExpObjectsFromPseudoUrls(pseudoUrls) {
|
|
29
|
+
export function constructRegExpObjectsFromPseudoUrls(pseudoUrls) {
|
|
42
30
|
return pseudoUrls.map((item) => {
|
|
43
31
|
// Get pseudoUrl object from cache.
|
|
44
32
|
let regexpObject = enqueueLinksPatternCache.get(item);
|
|
45
33
|
if (regexpObject)
|
|
46
34
|
return regexpObject;
|
|
47
35
|
if (typeof item === 'string') {
|
|
48
|
-
regexpObject = { regexp:
|
|
36
|
+
regexpObject = { regexp: purlToRegExp(item) };
|
|
49
37
|
}
|
|
50
38
|
else {
|
|
51
39
|
const { purl, ...requestOptions } = item;
|
|
52
|
-
regexpObject = { regexp:
|
|
40
|
+
regexpObject = { regexp: purlToRegExp(purl), ...requestOptions };
|
|
53
41
|
}
|
|
54
42
|
updateEnqueueLinksPatternCache(item, regexpObject);
|
|
55
43
|
return regexpObject;
|
|
@@ -60,7 +48,7 @@ function constructRegExpObjectsFromPseudoUrls(pseudoUrls) {
|
|
|
60
48
|
* to construct Glob objects from Glob pattern strings.
|
|
61
49
|
* @ignore
|
|
62
50
|
*/
|
|
63
|
-
function constructGlobObjectsFromGlobs(globs) {
|
|
51
|
+
export function constructGlobObjectsFromGlobs(globs) {
|
|
64
52
|
return globs
|
|
65
53
|
.filter((glob) => {
|
|
66
54
|
// Skip possibly nullish, empty strings
|
|
@@ -94,7 +82,7 @@ function constructGlobObjectsFromGlobs(globs) {
|
|
|
94
82
|
/**
|
|
95
83
|
* @internal
|
|
96
84
|
*/
|
|
97
|
-
function validateGlobPattern(glob) {
|
|
85
|
+
export function validateGlobPattern(glob) {
|
|
98
86
|
const globTrimmed = glob.trim();
|
|
99
87
|
if (globTrimmed.length === 0)
|
|
100
88
|
throw new Error(`Cannot parse Glob pattern '${globTrimmed}': it must be an non-empty string`);
|
|
@@ -105,7 +93,7 @@ function validateGlobPattern(glob) {
|
|
|
105
93
|
* to check RegExps input and return valid RegExps.
|
|
106
94
|
* @ignore
|
|
107
95
|
*/
|
|
108
|
-
function constructRegExpObjectsFromRegExps(regexps) {
|
|
96
|
+
export function constructRegExpObjectsFromRegExps(regexps) {
|
|
109
97
|
return regexps.map((item) => {
|
|
110
98
|
// Get regexp object from cache.
|
|
111
99
|
let regexpObject = enqueueLinksPatternCache.get(item);
|
|
@@ -124,26 +112,26 @@ function constructRegExpObjectsFromRegExps(regexps) {
|
|
|
124
112
|
/**
|
|
125
113
|
* @ignore
|
|
126
114
|
*/
|
|
127
|
-
function createRequests(requestOptions, urlPatternObjects, excludePatternObjects = [], strategy) {
|
|
115
|
+
export function createRequests(requestOptions, urlPatternObjects, excludePatternObjects = [], strategy) {
|
|
128
116
|
return requestOptions
|
|
129
117
|
.map((opts) => ({ url: typeof opts === 'string' ? opts : opts.url, opts }))
|
|
130
118
|
.filter(({ url }) => {
|
|
131
119
|
return !excludePatternObjects.some((excludePatternObject) => {
|
|
132
120
|
const { regexp, glob } = excludePatternObject;
|
|
133
|
-
return (regexp && url.match(regexp)) || (glob &&
|
|
121
|
+
return (regexp && url.match(regexp)) || (glob && minimatch(url, glob, { nocase: true }));
|
|
134
122
|
});
|
|
135
123
|
})
|
|
136
124
|
.map(({ url, opts }) => {
|
|
137
125
|
if (!urlPatternObjects || !urlPatternObjects.length) {
|
|
138
|
-
return new
|
|
126
|
+
return new Request(typeof opts === 'string' ? { url: opts, enqueueStrategy: strategy } : { ...opts });
|
|
139
127
|
}
|
|
140
128
|
for (const urlPatternObject of urlPatternObjects) {
|
|
141
129
|
const { regexp, glob, ...requestRegExpOptions } = urlPatternObject;
|
|
142
|
-
if ((regexp && url.match(regexp)) || (glob &&
|
|
130
|
+
if ((regexp && url.match(regexp)) || (glob && minimatch(url, glob, { nocase: true }))) {
|
|
143
131
|
const request = typeof opts === 'string'
|
|
144
132
|
? { url: opts, ...requestRegExpOptions, enqueueStrategy: strategy }
|
|
145
133
|
: { ...opts, ...requestRegExpOptions, enqueueStrategy: strategy };
|
|
146
|
-
return new
|
|
134
|
+
return new Request(request);
|
|
147
135
|
}
|
|
148
136
|
}
|
|
149
137
|
// didn't match any positive pattern
|
|
@@ -151,7 +139,7 @@ function createRequests(requestOptions, urlPatternObjects, excludePatternObjects
|
|
|
151
139
|
})
|
|
152
140
|
.filter((request) => request);
|
|
153
141
|
}
|
|
154
|
-
function filterRequestsByPatterns(requests, patterns) {
|
|
142
|
+
export function filterRequestsByPatterns(requests, patterns) {
|
|
155
143
|
if (!patterns?.length) {
|
|
156
144
|
return requests;
|
|
157
145
|
}
|
|
@@ -159,7 +147,7 @@ function filterRequestsByPatterns(requests, patterns) {
|
|
|
159
147
|
for (const request of requests) {
|
|
160
148
|
for (const urlPatternObject of patterns) {
|
|
161
149
|
const { regexp, glob } = urlPatternObject;
|
|
162
|
-
if ((regexp && request.url.match(regexp)) || (glob &&
|
|
150
|
+
if ((regexp && request.url.match(regexp)) || (glob && minimatch(request.url, glob, { nocase: true }))) {
|
|
163
151
|
filtered.push(request);
|
|
164
152
|
// Break the pattern loop, as we already matched this request once
|
|
165
153
|
break;
|
|
@@ -171,22 +159,22 @@ function filterRequestsByPatterns(requests, patterns) {
|
|
|
171
159
|
/**
|
|
172
160
|
* @ignore
|
|
173
161
|
*/
|
|
174
|
-
function createRequestOptions(sources, options = {}) {
|
|
162
|
+
export function createRequestOptions(sources, options = {}) {
|
|
175
163
|
return sources
|
|
176
164
|
.map((src) => typeof src === 'string'
|
|
177
165
|
? { url: src, enqueueStrategy: options.strategy }
|
|
178
166
|
: { ...src, enqueueStrategy: options.strategy })
|
|
179
167
|
.filter(({ url }) => {
|
|
180
168
|
try {
|
|
181
|
-
return new
|
|
169
|
+
return new URL(url, options.baseUrl).href;
|
|
182
170
|
}
|
|
183
171
|
catch (err) {
|
|
184
172
|
return false;
|
|
185
173
|
}
|
|
186
174
|
})
|
|
187
175
|
.map((requestOptions) => {
|
|
188
|
-
requestOptions.url = new
|
|
189
|
-
requestOptions.userData
|
|
176
|
+
requestOptions.url = new URL(requestOptions.url, options.baseUrl).href;
|
|
177
|
+
requestOptions.userData ??= options.userData ?? {};
|
|
190
178
|
if (typeof options.label === 'string') {
|
|
191
179
|
requestOptions.userData = {
|
|
192
180
|
...requestOptions.userData,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/enqueue_links/shared.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/enqueue_links/shared.ts"],"names":[],"mappings":"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"}
|
package/errors.js
CHANGED
|
@@ -1,45 +1,37 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SessionError = exports.RetryRequestError = exports.MissingRouteError = exports.CriticalError = exports.NonRetryableError = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Errors of `NonRetryableError` type will never be retried by the crawler.
|
|
6
3
|
*/
|
|
7
|
-
class NonRetryableError extends Error {
|
|
4
|
+
export class NonRetryableError extends Error {
|
|
8
5
|
}
|
|
9
|
-
exports.NonRetryableError = NonRetryableError;
|
|
10
6
|
/**
|
|
11
7
|
* Errors of `CriticalError` type will shut down the whole crawler.
|
|
12
8
|
* Error handlers catching CriticalError should avoid logging it, as it will be logged by Node.js itself at the end
|
|
13
9
|
*/
|
|
14
|
-
class CriticalError extends NonRetryableError {
|
|
10
|
+
export class CriticalError extends NonRetryableError {
|
|
15
11
|
}
|
|
16
|
-
exports.CriticalError = CriticalError;
|
|
17
12
|
/**
|
|
18
13
|
* @ignore
|
|
19
14
|
*/
|
|
20
|
-
class MissingRouteError extends CriticalError {
|
|
15
|
+
export class MissingRouteError extends CriticalError {
|
|
21
16
|
}
|
|
22
|
-
exports.MissingRouteError = MissingRouteError;
|
|
23
17
|
/**
|
|
24
18
|
* Errors of `RetryRequestError` type will always be retried by the crawler.
|
|
25
19
|
*
|
|
26
20
|
* *This error overrides the `maxRequestRetries` option, i.e. the request can be retried indefinitely until it succeeds.*
|
|
27
21
|
*/
|
|
28
|
-
class RetryRequestError extends Error {
|
|
22
|
+
export class RetryRequestError extends Error {
|
|
29
23
|
constructor(message) {
|
|
30
24
|
super(message ?? "Request is being retried at the user's request");
|
|
31
25
|
}
|
|
32
26
|
}
|
|
33
|
-
exports.RetryRequestError = RetryRequestError;
|
|
34
27
|
/**
|
|
35
28
|
* Errors of `SessionError` type will trigger a session rotation.
|
|
36
29
|
*
|
|
37
30
|
* This error doesn't respect the `maxRequestRetries` option and has a separate limit of `maxSessionRotations`.
|
|
38
31
|
*/
|
|
39
|
-
class SessionError extends RetryRequestError {
|
|
32
|
+
export class SessionError extends RetryRequestError {
|
|
40
33
|
constructor(message) {
|
|
41
34
|
super(`Detected a session error, rotating session... ${message ? `\n${message}` : ''}`);
|
|
42
35
|
}
|
|
43
36
|
}
|
|
44
|
-
exports.SessionError = SessionError;
|
|
45
37
|
//# sourceMappingURL=errors.js.map
|
package/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;CAAG;AAE/C;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,iBAAiB;CAAG;AAEvD;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,aAAa;CAAG;AAEvD;;;;GAIG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACxC,YAAY,OAAgB;QACxB,KAAK,CAAC,OAAO,IAAI,gDAAgD,CAAC,CAAC;IACvE,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,iBAAiB;IAC/C,YAAY,OAAgB;QACxB,KAAK,CAAC,iDAAiD,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5F,CAAC;CACJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AsyncEventEmitter } from '@vladfrangu/async_event_emitter';
|
|
2
2
|
import type { BetterIntervalID } from '@apify/utilities';
|
|
3
|
-
import { Configuration } from '../configuration';
|
|
3
|
+
import { Configuration } from '../configuration.js';
|
|
4
4
|
export declare const enum EventType {
|
|
5
5
|
PERSIST_STATE = "persistState",
|
|
6
6
|
SYSTEM_INFO = "systemInfo",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event_manager.d.ts","sourceRoot":"","sources":["../../src/events/event_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"event_manager.d.ts","sourceRoot":"","sources":["../../src/events/event_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,0BAAkB,SAAS;IACvB,aAAa,iBAAiB;IAC9B,WAAW,eAAe;IAC1B,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,IAAI,SAAS;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,YAAY,GAAG,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AAE1G,UAAU,SAAS;IACf,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAED,8BAAsB,YAAY;IAMlB,QAAQ,CAAC,MAAM;IAL3B,SAAS,CAAC,MAAM,wBAA2B;IAC3C,SAAS,CAAC,WAAW,UAAS;IAC9B,SAAS,CAAC,SAAS,EAAE,SAAS,CAAM;IACpC,SAAS,CAAC,GAAG,2BAAmC;gBAE3B,MAAM,gBAAkC;IAI7D;;;OAGG;IACG,IAAI;IAaV;;;OAGG;IACG,KAAK;IAeX,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI;IAIjE,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI;IAQnE,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIpD,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;IAI3C;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE;IAI3D;;OAEG;IACG,6BAA6B;CAGtC"}
|
package/events/event_manager.js
CHANGED
|
@@ -1,51 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const log_1 = tslib_1.__importDefault(require("@apify/log"));
|
|
7
|
-
const utilities_1 = require("@apify/utilities");
|
|
8
|
-
const configuration_1 = require("../configuration");
|
|
9
|
-
var EventType;
|
|
1
|
+
import { AsyncEventEmitter } from '@vladfrangu/async_event_emitter';
|
|
2
|
+
import log from '@apify/log';
|
|
3
|
+
import { betterClearInterval, betterSetInterval } from '@apify/utilities';
|
|
4
|
+
import { Configuration } from '../configuration.js';
|
|
5
|
+
export var EventType;
|
|
10
6
|
(function (EventType) {
|
|
11
7
|
EventType["PERSIST_STATE"] = "persistState";
|
|
12
8
|
EventType["SYSTEM_INFO"] = "systemInfo";
|
|
13
9
|
EventType["MIGRATING"] = "migrating";
|
|
14
10
|
EventType["ABORTING"] = "aborting";
|
|
15
11
|
EventType["EXIT"] = "exit";
|
|
16
|
-
})(EventType || (
|
|
17
|
-
class EventManager {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
Object.defineProperty(this, "events", {
|
|
26
|
-
enumerable: true,
|
|
27
|
-
configurable: true,
|
|
28
|
-
writable: true,
|
|
29
|
-
value: new async_event_emitter_1.AsyncEventEmitter()
|
|
30
|
-
});
|
|
31
|
-
Object.defineProperty(this, "initialized", {
|
|
32
|
-
enumerable: true,
|
|
33
|
-
configurable: true,
|
|
34
|
-
writable: true,
|
|
35
|
-
value: false
|
|
36
|
-
});
|
|
37
|
-
Object.defineProperty(this, "intervals", {
|
|
38
|
-
enumerable: true,
|
|
39
|
-
configurable: true,
|
|
40
|
-
writable: true,
|
|
41
|
-
value: {}
|
|
42
|
-
});
|
|
43
|
-
Object.defineProperty(this, "log", {
|
|
44
|
-
enumerable: true,
|
|
45
|
-
configurable: true,
|
|
46
|
-
writable: true,
|
|
47
|
-
value: log_1.default.child({ prefix: 'Events' })
|
|
48
|
-
});
|
|
12
|
+
})(EventType || (EventType = {}));
|
|
13
|
+
export class EventManager {
|
|
14
|
+
config;
|
|
15
|
+
events = new AsyncEventEmitter();
|
|
16
|
+
initialized = false;
|
|
17
|
+
intervals = {};
|
|
18
|
+
log = log.child({ prefix: 'Events' });
|
|
19
|
+
constructor(config = Configuration.getGlobalConfig()) {
|
|
20
|
+
this.config = config;
|
|
49
21
|
this.events.setMaxListeners(50);
|
|
50
22
|
}
|
|
51
23
|
/**
|
|
@@ -57,7 +29,7 @@ class EventManager {
|
|
|
57
29
|
return;
|
|
58
30
|
}
|
|
59
31
|
const persistStateIntervalMillis = this.config.get('persistStateIntervalMillis');
|
|
60
|
-
this.intervals.persistState =
|
|
32
|
+
this.intervals.persistState = betterSetInterval((intervalCallback) => {
|
|
61
33
|
this.emit("persistState" /* EventType.PERSIST_STATE */, { isMigrating: false });
|
|
62
34
|
intervalCallback();
|
|
63
35
|
}, persistStateIntervalMillis);
|
|
@@ -71,7 +43,7 @@ class EventManager {
|
|
|
71
43
|
if (!this.initialized) {
|
|
72
44
|
return;
|
|
73
45
|
}
|
|
74
|
-
|
|
46
|
+
betterClearInterval(this.intervals.persistState);
|
|
75
47
|
this.initialized = false;
|
|
76
48
|
// Emit final PERSIST_STATE event
|
|
77
49
|
this.emit("persistState" /* EventType.PERSIST_STATE */, { isMigrating: false });
|
|
@@ -114,5 +86,4 @@ class EventManager {
|
|
|
114
86
|
return this.events.waitForAllListenersToComplete();
|
|
115
87
|
}
|
|
116
88
|
}
|
|
117
|
-
exports.EventManager = EventManager;
|
|
118
89
|
//# sourceMappingURL=event_manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event_manager.js","sourceRoot":"","sources":["../../src/events/event_manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"event_manager.js","sourceRoot":"","sources":["../../src/events/event_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAN,IAAkB,SAMjB;AAND,WAAkB,SAAS;IACvB,2CAA8B,CAAA;IAC9B,uCAA0B,CAAA;IAC1B,oCAAuB,CAAA;IACvB,kCAAqB,CAAA;IACrB,0BAAa,CAAA;AACjB,CAAC,EANiB,SAAS,KAAT,SAAS,QAM1B;AASD,MAAM,OAAgB,YAAY;IAMT;IALX,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACjC,WAAW,GAAG,KAAK,CAAC;IACpB,SAAS,GAAc,EAAE,CAAC;IAC1B,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEhD,YAAqB,SAAS,aAAa,CAAC,eAAe,EAAE;QAAxC,WAAM,GAAN,MAAM,CAAkC;QACzD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACN,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QAED,MAAM,0BAA0B,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAE,CAAC;QAClF,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,iBAAiB,CAAC,CAAC,gBAA+B,EAAE,EAAE;YAChF,IAAI,CAAC,IAAI,+CAA0B,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3D,gBAAgB,EAAE,CAAC;QACvB,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,OAAO;QACX,CAAC;QAED,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,YAAa,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,iCAAiC;QACjC,IAAI,CAAC,IAAI,+CAA0B,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3D,oCAAoC;QACpC,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;IAC/C,CAAC;IAED,EAAE,CAAC,KAAoB,EAAE,QAAiC;QACtD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,GAAG,CAAC,KAAoB,EAAE,QAAkC;QACxD,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAoB,EAAE,GAAG,IAAe;QACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,KAAoB;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,KAAoB;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAA+B,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,6BAA6B;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,6BAA6B,EAAE,CAAC;IACvD,CAAC;CACJ"}
|
package/events/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './event_manager';
|
|
2
|
-
export * from './local_event_manager';
|
|
1
|
+
export * from './event_manager.js';
|
|
2
|
+
export * from './local_event_manager.js';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/events/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC"}
|
package/events/index.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./event_manager"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./local_event_manager"), exports);
|
|
1
|
+
export * from './event_manager.js';
|
|
2
|
+
export * from './local_event_manager.js';
|
|
6
3
|
//# sourceMappingURL=index.js.map
|
package/events/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local_event_manager.d.ts","sourceRoot":"","sources":["../../src/events/local_event_manager.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAa,MAAM,
|
|
1
|
+
{"version":3,"file":"local_event_manager.d.ts","sourceRoot":"","sources":["../../src/events/local_event_manager.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAa,MAAM,oBAAoB,CAAC;AAE7D,qBAAa,iBAAkB,SAAQ,YAAY;IAC/C,OAAO,CAAC,aAAa,CAAyB;IAE9C;;;OAGG;IACY,IAAI;IAYnB;;OAEG;IACY,KAAK;IASpB;;OAEG;IACG,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,OAAO;IAQzD;;OAEG;IACG,sBAAsB;IAI5B,OAAO,CAAC,kBAAkB;IAc1B;;OAEG;YACW,gBAAgB;YAQhB,aAAa;YAoBb,gBAAgB;CAiBjC"}
|
|
@@ -1,22 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const utilities_1 = require("@apify/utilities");
|
|
9
|
-
const event_manager_1 = require("./event_manager");
|
|
10
|
-
class LocalEventManager extends event_manager_1.EventManager {
|
|
11
|
-
constructor() {
|
|
12
|
-
super(...arguments);
|
|
13
|
-
Object.defineProperty(this, "previousTicks", {
|
|
14
|
-
enumerable: true,
|
|
15
|
-
configurable: true,
|
|
16
|
-
writable: true,
|
|
17
|
-
value: { idle: 0, total: 0 }
|
|
18
|
-
});
|
|
19
|
-
}
|
|
1
|
+
import os from 'node:os';
|
|
2
|
+
import { getCurrentCpuTicksV2, getMemoryInfo, getMemoryInfoV2, isContainerized } from '@crawlee/utils';
|
|
3
|
+
import log from '@apify/log';
|
|
4
|
+
import { betterClearInterval, betterSetInterval } from '@apify/utilities';
|
|
5
|
+
import { EventManager } from './event_manager.js';
|
|
6
|
+
export class LocalEventManager extends EventManager {
|
|
7
|
+
previousTicks = { idle: 0, total: 0 };
|
|
20
8
|
/**
|
|
21
9
|
* Initializes the EventManager and sets up periodic `systemInfo` and `persistState` events.
|
|
22
10
|
* This is automatically called at the beginning of `crawler.run()`.
|
|
@@ -28,7 +16,7 @@ class LocalEventManager extends event_manager_1.EventManager {
|
|
|
28
16
|
await super.init();
|
|
29
17
|
const systemInfoIntervalMillis = this.config.get('systemInfoIntervalMillis');
|
|
30
18
|
this.emitSystemInfoEvent = this.emitSystemInfoEvent.bind(this);
|
|
31
|
-
this.intervals.systemInfo =
|
|
19
|
+
this.intervals.systemInfo = betterSetInterval(this.emitSystemInfoEvent.bind(this), systemInfoIntervalMillis);
|
|
32
20
|
}
|
|
33
21
|
/**
|
|
34
22
|
* @inheritDoc
|
|
@@ -38,7 +26,7 @@ class LocalEventManager extends event_manager_1.EventManager {
|
|
|
38
26
|
return;
|
|
39
27
|
}
|
|
40
28
|
await super.close();
|
|
41
|
-
|
|
29
|
+
betterClearInterval(this.intervals.systemInfo);
|
|
42
30
|
}
|
|
43
31
|
/**
|
|
44
32
|
* @internal
|
|
@@ -54,10 +42,10 @@ class LocalEventManager extends event_manager_1.EventManager {
|
|
|
54
42
|
* @internal
|
|
55
43
|
*/
|
|
56
44
|
async isContainerizedWrapper() {
|
|
57
|
-
return this.config.get('containerized', await
|
|
45
|
+
return this.config.get('containerized', await isContainerized());
|
|
58
46
|
}
|
|
59
47
|
getCurrentCpuTicks() {
|
|
60
|
-
const cpus =
|
|
48
|
+
const cpus = os.cpus();
|
|
61
49
|
return cpus.reduce((acc, cpu) => {
|
|
62
50
|
const cpuTimes = Object.values(cpu.times);
|
|
63
51
|
return {
|
|
@@ -78,7 +66,7 @@ class LocalEventManager extends event_manager_1.EventManager {
|
|
|
78
66
|
}
|
|
79
67
|
async createCpuInfo(options) {
|
|
80
68
|
if (this.config.get('systemInfoV2')) {
|
|
81
|
-
const usedCpuRatio = await
|
|
69
|
+
const usedCpuRatio = await getCurrentCpuTicksV2(await this.isContainerizedWrapper());
|
|
82
70
|
return {
|
|
83
71
|
cpuCurrentUsage: usedCpuRatio * 100,
|
|
84
72
|
isCpuOverloaded: usedCpuRatio > options.maxUsedCpuRatio,
|
|
@@ -97,21 +85,20 @@ class LocalEventManager extends event_manager_1.EventManager {
|
|
|
97
85
|
async createMemoryInfo() {
|
|
98
86
|
try {
|
|
99
87
|
if (this.config.get('systemInfoV2')) {
|
|
100
|
-
const memInfo = await
|
|
88
|
+
const memInfo = await getMemoryInfoV2(await this.isContainerizedWrapper());
|
|
101
89
|
return {
|
|
102
90
|
memCurrentBytes: memInfo.mainProcessBytes + memInfo.childProcessesBytes,
|
|
103
91
|
};
|
|
104
92
|
}
|
|
105
|
-
const memInfo = await
|
|
93
|
+
const memInfo = await getMemoryInfo();
|
|
106
94
|
return {
|
|
107
95
|
memCurrentBytes: memInfo.mainProcessBytes + memInfo.childProcessesBytes,
|
|
108
96
|
};
|
|
109
97
|
}
|
|
110
98
|
catch (err) {
|
|
111
|
-
|
|
99
|
+
log.exception(err, 'Memory snapshot failed.');
|
|
112
100
|
return {};
|
|
113
101
|
}
|
|
114
102
|
}
|
|
115
103
|
}
|
|
116
|
-
exports.LocalEventManager = LocalEventManager;
|
|
117
104
|
//# sourceMappingURL=local_event_manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local_event_manager.js","sourceRoot":"","sources":["../../src/events/local_event_manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"local_event_manager.js","sourceRoot":"","sources":["../../src/events/local_event_manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Readable } from 'node:stream';
|
|
2
2
|
import { type SearchParams } from '@crawlee/utils';
|
|
3
|
-
import type { FormDataLike } from './form-data-like';
|
|
3
|
+
import type { FormDataLike } from './form-data-like.js';
|
|
4
4
|
type Timeout = {
|
|
5
5
|
lookup: number;
|
|
6
6
|
connect: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-http-client.d.ts","sourceRoot":"","sources":["../../src/http_clients/base-http-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"base-http-client.d.ts","sourceRoot":"","sources":["../../src/http_clients/base-http-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.processHttpRequestOptions = processHttpRequestOptions;
|
|
4
|
-
const utils_1 = require("@crawlee/utils");
|
|
1
|
+
import { applySearchParams } from '@crawlee/utils';
|
|
5
2
|
/**
|
|
6
3
|
* Converts {@link HttpRequestOptions} to a {@link HttpRequest}.
|
|
7
4
|
*/
|
|
8
|
-
function processHttpRequestOptions({ searchParams, form, json, username, password, ...request }) {
|
|
5
|
+
export function processHttpRequestOptions({ searchParams, form, json, username, password, ...request }) {
|
|
9
6
|
const url = new URL(request.url);
|
|
10
7
|
const headers = { ...request.headers };
|
|
11
|
-
|
|
8
|
+
applySearchParams(url, searchParams);
|
|
12
9
|
if ([request.body, form, json].filter((value) => value !== undefined).length > 1) {
|
|
13
10
|
throw new Error('At most one of `body`, `form` and `json` may be specified in sendRequest arguments');
|
|
14
11
|
}
|
|
@@ -22,10 +19,10 @@ function processHttpRequestOptions({ searchParams, form, json, username, passwor
|
|
|
22
19
|
return request.body;
|
|
23
20
|
})();
|
|
24
21
|
if (form !== undefined) {
|
|
25
|
-
headers['content-type']
|
|
22
|
+
headers['content-type'] ??= 'application/x-www-form-urlencoded';
|
|
26
23
|
}
|
|
27
24
|
if (json !== undefined) {
|
|
28
|
-
headers['content-type']
|
|
25
|
+
headers['content-type'] ??= 'application/json';
|
|
29
26
|
}
|
|
30
27
|
if (username !== undefined || password !== undefined) {
|
|
31
28
|
const encodedAuth = Buffer.from(`${username ?? ''}:${password ?? ''}`).toString('base64');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-http-client.js","sourceRoot":"","sources":["../../src/http_clients/base-http-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-http-client.js","sourceRoot":"","sources":["../../src/http_clients/base-http-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAqB,MAAM,gBAAgB,CAAC;AA8LtE;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAqD,EAC1F,YAAY,EACZ,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,GAAG,OAAO,EACsB;IAChC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAEvC,iBAAiB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAErC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;IAC1G,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE;QACf,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChD,CAAC;QAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,OAAO,CAAC,IAAI,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,CAAC,cAAc,CAAC,KAAK,mCAAmC,CAAC;IACpE,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,CAAC,cAAc,CAAC,KAAK,kBAAkB,CAAC;IACnD,CAAC;IAED,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1F,OAAO,CAAC,aAAa,GAAG,SAAS,WAAW,EAAE,CAAC;IACnD,CAAC;IAED,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AAC9C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-data-like.js","sourceRoot":"","sources":["../../src/http_clients/form-data-like.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"form-data-like.js","sourceRoot":"","sources":["../../src/http_clients/form-data-like.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BaseHttpClient, HttpRequest, HttpResponse, RedirectHandler, ResponseTypes, StreamingHttpResponse } from './base-http-client';
|
|
1
|
+
import type { BaseHttpClient, HttpRequest, HttpResponse, RedirectHandler, ResponseTypes, StreamingHttpResponse } from './base-http-client.js';
|
|
2
2
|
/**
|
|
3
3
|
* A HTTP client implementation based on the `got-scraping` library.
|
|
4
4
|
*/
|