@rafikidota/scoutee 0.12.0 → 0.15.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/dist/common/constant/boolean.constant.d.ts +3 -0
- package/dist/common/constant/boolean.constant.js +17 -0
- package/dist/common/constant/boolean.constant.js.map +1 -0
- package/dist/common/util/boolean.d.ts +1 -0
- package/dist/common/util/{boolean.validator.js → boolean.joi.js} +10 -22
- package/dist/common/util/boolean.joi.js.map +1 -0
- package/dist/common/util/boolean.js +22 -0
- package/dist/common/util/boolean.js.map +1 -0
- package/dist/common/util/boolean.zod.js +3 -14
- package/dist/common/util/boolean.zod.js.map +1 -1
- package/dist/exports/camoufox.d.ts +5 -0
- package/dist/exports/camoufox.js +22 -0
- package/dist/exports/camoufox.js.map +1 -0
- package/dist/exports/cheerio.d.ts +5 -0
- package/dist/exports/cheerio.js +22 -0
- package/dist/exports/cheerio.js.map +1 -0
- package/dist/exports/http.d.ts +5 -0
- package/dist/exports/http.js +22 -0
- package/dist/exports/http.js.map +1 -0
- package/dist/exports/playwright.d.ts +5 -0
- package/dist/exports/playwright.js +22 -0
- package/dist/exports/playwright.js.map +1 -0
- package/dist/modules/camoufox/camoufox.module.js +7 -1
- package/dist/modules/camoufox/camoufox.module.js.map +1 -1
- package/dist/modules/camoufox/camoufox.service.d.ts +2 -9
- package/dist/modules/camoufox/camoufox.service.js +11 -23
- package/dist/modules/camoufox/camoufox.service.js.map +1 -1
- package/dist/modules/camoufox/constant/camoufox.env.constant.d.ts +12 -10
- package/dist/modules/camoufox/constant/camoufox.env.constant.js +13 -11
- package/dist/modules/camoufox/constant/camoufox.env.constant.js.map +1 -1
- package/dist/modules/camoufox/env/camoufox.env.config.d.ts +9 -9
- package/dist/modules/camoufox/env/camoufox.env.config.js +9 -9
- package/dist/modules/camoufox/env/camoufox.env.config.js.map +1 -1
- package/dist/modules/camoufox/env/camoufox.env.validation.js +4 -4
- package/dist/modules/camoufox/env/camoufox.env.validation.js.map +1 -1
- package/dist/modules/camoufox/services/camoufox.browser.service.d.ts +2 -4
- package/dist/modules/camoufox/services/camoufox.browser.service.js +5 -8
- package/dist/modules/camoufox/services/camoufox.browser.service.js.map +1 -1
- package/dist/modules/camoufox/services/camoufox.config.service.d.ts +18 -0
- package/dist/modules/camoufox/services/camoufox.config.service.js +71 -0
- package/dist/modules/camoufox/services/camoufox.config.service.js.map +1 -0
- package/dist/modules/camoufox/services/camoufox.hook.service.d.ts +2 -3
- package/dist/modules/camoufox/services/camoufox.hook.service.js +3 -6
- package/dist/modules/camoufox/services/camoufox.hook.service.js.map +1 -1
- package/dist/modules/camoufox/types/camoufox.config.d.ts +12 -0
- package/dist/modules/camoufox/types/camoufox.config.js +3 -0
- package/dist/modules/camoufox/types/camoufox.config.js.map +1 -0
- package/dist/modules/cheerio/cheerio.module.js +2 -1
- package/dist/modules/cheerio/cheerio.module.js.map +1 -1
- package/dist/modules/cheerio/cheerio.service.d.ts +2 -7
- package/dist/modules/cheerio/cheerio.service.js +8 -17
- package/dist/modules/cheerio/cheerio.service.js.map +1 -1
- package/dist/modules/cheerio/constant/cheerio.env.constant.d.ts +8 -6
- package/dist/modules/cheerio/constant/cheerio.env.constant.js +9 -7
- package/dist/modules/cheerio/constant/cheerio.env.constant.js.map +1 -1
- package/dist/modules/cheerio/services/cheerio.config.service.d.ts +14 -0
- package/dist/modules/cheerio/services/cheerio.config.service.js +55 -0
- package/dist/modules/cheerio/services/cheerio.config.service.js.map +1 -0
- package/dist/modules/cheerio/types/cheerio.config.d.ts +8 -0
- package/dist/modules/cheerio/types/cheerio.config.js +3 -0
- package/dist/modules/cheerio/types/cheerio.config.js.map +1 -0
- package/dist/modules/http/constant/http.env.constant.d.ts +8 -6
- package/dist/modules/http/constant/http.env.constant.js +9 -7
- package/dist/modules/http/constant/http.env.constant.js.map +1 -1
- package/dist/modules/http/http.module.js +2 -1
- package/dist/modules/http/http.module.js.map +1 -1
- package/dist/modules/http/http.service.d.ts +2 -7
- package/dist/modules/http/http.service.js +9 -18
- package/dist/modules/http/http.service.js.map +1 -1
- package/dist/modules/http/services/http.config.service.d.ts +14 -0
- package/dist/modules/http/services/http.config.service.js +55 -0
- package/dist/modules/http/services/http.config.service.js.map +1 -0
- package/dist/modules/http/types/http.config.d.ts +8 -0
- package/dist/modules/http/types/http.config.js +3 -0
- package/dist/modules/http/types/http.config.js.map +1 -0
- package/dist/modules/playwright/constant/playwright.env.constant.d.ts +12 -10
- package/dist/modules/playwright/constant/playwright.env.constant.js +13 -11
- package/dist/modules/playwright/constant/playwright.env.constant.js.map +1 -1
- package/dist/modules/playwright/env/playwright.env.config.d.ts +9 -9
- package/dist/modules/playwright/env/playwright.env.config.js +9 -9
- package/dist/modules/playwright/env/playwright.env.config.js.map +1 -1
- package/dist/modules/playwright/env/playwright.env.validation.js +4 -4
- package/dist/modules/playwright/env/playwright.env.validation.js.map +1 -1
- package/dist/modules/playwright/playwright.module.js +2 -0
- package/dist/modules/playwright/playwright.module.js.map +1 -1
- package/dist/modules/playwright/playwright.service.d.ts +2 -9
- package/dist/modules/playwright/playwright.service.js +11 -23
- package/dist/modules/playwright/playwright.service.js.map +1 -1
- package/dist/modules/playwright/services/playwright.browser.service.d.ts +2 -4
- package/dist/modules/playwright/services/playwright.browser.service.js +5 -8
- package/dist/modules/playwright/services/playwright.browser.service.js.map +1 -1
- package/dist/modules/playwright/services/playwright.config.service.d.ts +19 -0
- package/dist/modules/playwright/services/playwright.config.service.js +71 -0
- package/dist/modules/playwright/services/playwright.config.service.js.map +1 -0
- package/dist/modules/playwright/services/playwright.hook.service.d.ts +2 -3
- package/dist/modules/playwright/services/playwright.hook.service.js +3 -6
- package/dist/modules/playwright/services/playwright.hook.service.js.map +1 -1
- package/dist/modules/playwright/types/playwright.config.d.ts +13 -0
- package/dist/modules/playwright/types/playwright.config.js +3 -0
- package/dist/modules/playwright/types/playwright.config.js.map +1 -0
- package/package.json +23 -1
- package/dist/common/util/boolean.validator.js.map +0 -1
- /package/dist/common/util/{boolean.validator.d.ts → boolean.joi.d.ts} +0 -0
|
@@ -11,25 +11,22 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.CamoufoxBrowserService = void 0;
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
|
-
const config_1 = require("@nestjs/config");
|
|
15
14
|
const playwright_1 = require("playwright");
|
|
16
15
|
const camoufox_js_1 = require("camoufox-js");
|
|
17
16
|
const camoufox_service_1 = require("../camoufox.service");
|
|
18
17
|
const logger_1 = require("../../../common/logger/logger");
|
|
19
|
-
const
|
|
18
|
+
const camoufox_config_service_1 = require("./camoufox.config.service");
|
|
20
19
|
let CamoufoxBrowserService = class CamoufoxBrowserService {
|
|
21
20
|
constructor(config) {
|
|
22
21
|
this.config = config;
|
|
23
22
|
this.logger = new logger_1.Logger(camoufox_service_1.CamoufoxService.name);
|
|
24
|
-
this.headless = this.config.get(camoufox_env_constant_1.HEADLESS);
|
|
25
|
-
this.path = this.config.get(camoufox_env_constant_1.EXECUTABLE_PATH);
|
|
26
23
|
}
|
|
27
24
|
async getLaunchOptions() {
|
|
28
25
|
const options = await (0, camoufox_js_1.launchOptions)({
|
|
29
|
-
headless: this.headless,
|
|
26
|
+
headless: this.config.headless,
|
|
30
27
|
});
|
|
31
|
-
if (this.
|
|
32
|
-
options.executablePath = this.
|
|
28
|
+
if (this.config.executablePath) {
|
|
29
|
+
options.executablePath = this.config.executablePath;
|
|
33
30
|
}
|
|
34
31
|
return options;
|
|
35
32
|
}
|
|
@@ -44,6 +41,6 @@ let CamoufoxBrowserService = class CamoufoxBrowserService {
|
|
|
44
41
|
exports.CamoufoxBrowserService = CamoufoxBrowserService;
|
|
45
42
|
exports.CamoufoxBrowserService = CamoufoxBrowserService = __decorate([
|
|
46
43
|
(0, common_1.Injectable)(),
|
|
47
|
-
__metadata("design:paramtypes", [
|
|
44
|
+
__metadata("design:paramtypes", [camoufox_config_service_1.CamoufoxConfigService])
|
|
48
45
|
], CamoufoxBrowserService);
|
|
49
46
|
//# sourceMappingURL=camoufox.browser.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camoufox.browser.service.js","sourceRoot":"","sources":["../../../../src/modules/camoufox/services/camoufox.browser.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;
|
|
1
|
+
{"version":3,"file":"camoufox.browser.service.js","sourceRoot":"","sources":["../../../../src/modules/camoufox/services/camoufox.browser.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,2CAA8C;AAC9C,6CAA4C;AAE5C,0DAAsD;AAEtD,0DAAuD;AACvD,uEAAkE;AAG3D,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAGjC,YAA6B,MAA6B;QAA7B,WAAM,GAAN,MAAM,CAAuB;QAFzC,WAAM,GAAG,IAAI,eAAM,CAAC,kCAAe,CAAC,IAAI,CAAC,CAAC;IAEE,CAAC;IAE9D,KAAK,CAAC,gBAAgB;QACpB,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAa,EAAC;YAClC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;SAC/B,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC/B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QACtD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,oBAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QACtE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AAtBY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;qCAI0B,+CAAqB;GAH/C,sBAAsB,CAsBlC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ConfigService } from '@nestjs/config';
|
|
2
|
+
import { CamoufoxConfig } from '../types/camoufox.config';
|
|
3
|
+
export declare class CamoufoxConfigService {
|
|
4
|
+
private readonly service;
|
|
5
|
+
private readonly _env;
|
|
6
|
+
constructor(service: ConfigService);
|
|
7
|
+
get env(): CamoufoxConfig;
|
|
8
|
+
get maxRequests(): number;
|
|
9
|
+
get timeoutSecs(): number;
|
|
10
|
+
get maxConcurrency(): number;
|
|
11
|
+
get minConcurrency(): number;
|
|
12
|
+
get maxRequestRetries(): number;
|
|
13
|
+
get headless(): boolean;
|
|
14
|
+
get useIncognitoPages(): boolean;
|
|
15
|
+
get initialPage(): number;
|
|
16
|
+
get executablePath(): string;
|
|
17
|
+
get handleCloudflareChallenge(): boolean;
|
|
18
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CamoufoxConfigService = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const config_1 = require("@nestjs/config");
|
|
15
|
+
const camoufox_env_constant_1 = require("./../constant/camoufox.env.constant");
|
|
16
|
+
let CamoufoxConfigService = class CamoufoxConfigService {
|
|
17
|
+
constructor(service) {
|
|
18
|
+
this.service = service;
|
|
19
|
+
this._env = {
|
|
20
|
+
maxConcurrency: this.service.get(camoufox_env_constant_1.CAMOUFOX_ENV.MAX_CONCURRENCY),
|
|
21
|
+
minConcurrency: this.service.get(camoufox_env_constant_1.CAMOUFOX_ENV.MIN_CONCURRENCY),
|
|
22
|
+
maxRequestRetries: this.service.get(camoufox_env_constant_1.CAMOUFOX_ENV.MAX_REQUEST_RETRIES),
|
|
23
|
+
timeoutSecs: this.service.get(camoufox_env_constant_1.CAMOUFOX_ENV.TIMEOUT_SECS),
|
|
24
|
+
maxRequests: this.service.get(camoufox_env_constant_1.CAMOUFOX_ENV.MAX_REQUESTS),
|
|
25
|
+
initialPage: this.service.get(camoufox_env_constant_1.CAMOUFOX_ENV.INITIAL_PAGE),
|
|
26
|
+
headless: this.service.get(camoufox_env_constant_1.CAMOUFOX_ENV.HEADLESS),
|
|
27
|
+
executablePath: this.service.get(camoufox_env_constant_1.CAMOUFOX_ENV.EXECUTABLE_PATH),
|
|
28
|
+
handleCloudflareChallenge: this.service.get(camoufox_env_constant_1.CAMOUFOX_ENV.HANDLE_CLOUDFLARE_CHALLENGE),
|
|
29
|
+
useIncognitoPages: this.service.get(camoufox_env_constant_1.CAMOUFOX_ENV.INCOGNITO_PAGES),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
get env() {
|
|
33
|
+
return this._env;
|
|
34
|
+
}
|
|
35
|
+
get maxRequests() {
|
|
36
|
+
return Number(this._env.maxRequests);
|
|
37
|
+
}
|
|
38
|
+
get timeoutSecs() {
|
|
39
|
+
return Number(this._env.timeoutSecs);
|
|
40
|
+
}
|
|
41
|
+
get maxConcurrency() {
|
|
42
|
+
return Number(this._env.maxConcurrency);
|
|
43
|
+
}
|
|
44
|
+
get minConcurrency() {
|
|
45
|
+
return Number(this._env.minConcurrency);
|
|
46
|
+
}
|
|
47
|
+
get maxRequestRetries() {
|
|
48
|
+
return Number(this._env.maxRequestRetries);
|
|
49
|
+
}
|
|
50
|
+
get headless() {
|
|
51
|
+
return Boolean(this._env.headless);
|
|
52
|
+
}
|
|
53
|
+
get useIncognitoPages() {
|
|
54
|
+
return Boolean(this._env.useIncognitoPages);
|
|
55
|
+
}
|
|
56
|
+
get initialPage() {
|
|
57
|
+
return Number(this._env.initialPage);
|
|
58
|
+
}
|
|
59
|
+
get executablePath() {
|
|
60
|
+
return String(this._env.executablePath);
|
|
61
|
+
}
|
|
62
|
+
get handleCloudflareChallenge() {
|
|
63
|
+
return Boolean(this._env.handleCloudflareChallenge);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
exports.CamoufoxConfigService = CamoufoxConfigService;
|
|
67
|
+
exports.CamoufoxConfigService = CamoufoxConfigService = __decorate([
|
|
68
|
+
(0, common_1.Injectable)(),
|
|
69
|
+
__metadata("design:paramtypes", [config_1.ConfigService])
|
|
70
|
+
], CamoufoxConfigService);
|
|
71
|
+
//# sourceMappingURL=camoufox.config.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camoufox.config.service.js","sourceRoot":"","sources":["../../../../src/modules/camoufox/services/camoufox.config.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,2CAA+C;AAG/C,+EAA0E;AAGnE,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAGhC,YAA6B,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;QACjD,IAAI,CAAC,IAAI,GAAG;YACV,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAS,oCAAG,CAAC,eAAe,CAAC;YAC7D,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAS,oCAAG,CAAC,eAAe,CAAC;YAC7D,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAS,oCAAG,CAAC,mBAAmB,CAAC;YACpE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAS,oCAAG,CAAC,YAAY,CAAC;YACvD,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAS,oCAAG,CAAC,YAAY,CAAC;YACvD,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAS,oCAAG,CAAC,YAAY,CAAC;YACvD,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAU,oCAAG,CAAC,QAAQ,CAAC;YACjD,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAS,oCAAG,CAAC,eAAe,CAAC;YAC7D,yBAAyB,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CACzC,oCAAG,CAAC,2BAA2B,CAChC;YACD,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAU,oCAAG,CAAC,eAAe,CAAC;SAClE,CAAC;IACJ,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,WAAW;QACb,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,yBAAyB;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACtD,CAAC;CACF,CAAA;AA/DY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;qCAI2B,sBAAa;GAHxC,qBAAqB,CA+DjC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { ConfigService } from '@nestjs/config';
|
|
2
1
|
import { PlaywrightHook } from '@crawlee/playwright';
|
|
2
|
+
import { CamoufoxConfigService } from './camoufox.config.service';
|
|
3
3
|
export declare class CamoufoxHookService {
|
|
4
4
|
private readonly config;
|
|
5
5
|
private readonly logger;
|
|
6
|
-
|
|
7
|
-
constructor(config: ConfigService);
|
|
6
|
+
constructor(config: CamoufoxConfigService);
|
|
8
7
|
getPreNavigationHooks(): PlaywrightHook[];
|
|
9
8
|
getPostNavigationHooks(): PlaywrightHook[];
|
|
10
9
|
}
|
|
@@ -11,16 +11,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.CamoufoxHookService = void 0;
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
|
-
const config_1 = require("@nestjs/config");
|
|
15
14
|
const logger_1 = require("../../../common/logger/logger");
|
|
16
15
|
const camoufox_service_1 = require("../camoufox.service");
|
|
17
|
-
const
|
|
16
|
+
const camoufox_config_service_1 = require("./camoufox.config.service");
|
|
18
17
|
let CamoufoxHookService = class CamoufoxHookService {
|
|
19
18
|
constructor(config) {
|
|
20
19
|
this.config = config;
|
|
21
20
|
this.logger = new logger_1.Logger(camoufox_service_1.CamoufoxService.name);
|
|
22
|
-
const enabled = this.config.get(camoufox_env_constant_1.HANDLE_CLOUDFLARE_CHALLENGE, false);
|
|
23
|
-
this.shouldHandleCloudflareChallenge = enabled;
|
|
24
21
|
}
|
|
25
22
|
getPreNavigationHooks() {
|
|
26
23
|
return [
|
|
@@ -32,7 +29,7 @@ let CamoufoxHookService = class CamoufoxHookService {
|
|
|
32
29
|
getPostNavigationHooks() {
|
|
33
30
|
return [
|
|
34
31
|
async ({ handleCloudflareChallenge }) => {
|
|
35
|
-
if (this.
|
|
32
|
+
if (this.config.handleCloudflareChallenge) {
|
|
36
33
|
await handleCloudflareChallenge();
|
|
37
34
|
}
|
|
38
35
|
},
|
|
@@ -75,6 +72,6 @@ let CamoufoxHookService = class CamoufoxHookService {
|
|
|
75
72
|
exports.CamoufoxHookService = CamoufoxHookService;
|
|
76
73
|
exports.CamoufoxHookService = CamoufoxHookService = __decorate([
|
|
77
74
|
(0, common_1.Injectable)(),
|
|
78
|
-
__metadata("design:paramtypes", [
|
|
75
|
+
__metadata("design:paramtypes", [camoufox_config_service_1.CamoufoxConfigService])
|
|
79
76
|
], CamoufoxHookService);
|
|
80
77
|
//# sourceMappingURL=camoufox.hook.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camoufox.hook.service.js","sourceRoot":"","sources":["../../../../src/modules/camoufox/services/camoufox.hook.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAwD;
|
|
1
|
+
{"version":3,"file":"camoufox.hook.service.js","sourceRoot":"","sources":["../../../../src/modules/camoufox/services/camoufox.hook.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAwD;AAIxD,0DAAuD;AACvD,0DAAsD;AACtD,uEAAkE;AAG3D,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAG9B,YAA6B,MAA6B;QAA7B,WAAM,GAAN,MAAM,CAAuB;QAFzC,WAAM,GAAG,IAAI,eAAM,CAAC,kCAAe,CAAC,IAAI,CAAC,CAAC;IAEE,CAAC;IAE9D,qBAAqB;QACnB,OAAO;YACL,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACvC,CAAC;SACF,CAAC;IACJ,CAAC;IAED,sBAAsB;QACpB,OAAO;YACL,KAAK,EAAE,EAAE,yBAAyB,EAAE,EAAE,EAAE;gBACtC,IAAI,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;oBAC1C,MAAM,yBAAyB,EAAE,CAAC;gBACpC,CAAC;YACH,CAAC;YACD,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACxB,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;gBACxB,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAErC,QAAQ,UAAwB,EAAE,CAAC;oBACjC,KAAK,mBAAU,CAAC,EAAE;wBAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC;wBAC1C,MAAM;oBACR,KAAK,mBAAU,CAAC,WAAW;wBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC;wBAC7C,MAAM;oBACR,KAAK,mBAAU,CAAC,YAAY;wBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC;wBAC7C,MAAM;oBACR,KAAK,mBAAU,CAAC,SAAS;wBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC;wBAC7C,MAAM;oBACR,KAAK,mBAAU,CAAC,iBAAiB;wBAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC;wBAC3C,MAAM;oBACR,KAAK,mBAAU,CAAC,qBAAqB;wBACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC;wBAC7C,MAAM;oBACR,KAAK,mBAAU,CAAC,WAAW;wBACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC;wBAC7C,MAAM;oBACR,KAAK,mBAAU,CAAC,mBAAmB;wBACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC;wBAC7C,MAAM;oBACR;wBACE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC;wBAC3C,MAAM;gBACV,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAxDY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAI0B,+CAAqB;GAH/C,mBAAmB,CAwD/B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type CamoufoxConfig = {
|
|
2
|
+
maxRequests: number;
|
|
3
|
+
timeoutSecs: number;
|
|
4
|
+
maxConcurrency: number;
|
|
5
|
+
minConcurrency: number;
|
|
6
|
+
maxRequestRetries: number;
|
|
7
|
+
initialPage: number;
|
|
8
|
+
headless: boolean;
|
|
9
|
+
executablePath: string;
|
|
10
|
+
handleCloudflareChallenge: boolean;
|
|
11
|
+
useIncognitoPages: boolean;
|
|
12
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camoufox.config.js","sourceRoot":"","sources":["../../../../src/modules/camoufox/types/camoufox.config.ts"],"names":[],"mappings":""}
|
|
@@ -9,13 +9,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.CheerioModule = void 0;
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
11
|
const cheerio_service_1 = require("./cheerio.service");
|
|
12
|
+
const cheerio_config_service_1 = require("./services/cheerio.config.service");
|
|
12
13
|
const cheerio_hook_service_1 = require("./services/cheerio.hook.service");
|
|
13
14
|
let CheerioModule = class CheerioModule {
|
|
14
15
|
};
|
|
15
16
|
exports.CheerioModule = CheerioModule;
|
|
16
17
|
exports.CheerioModule = CheerioModule = __decorate([
|
|
17
18
|
(0, common_1.Module)({
|
|
18
|
-
providers: [cheerio_service_1.CheerioService, cheerio_hook_service_1.CheerioHookService],
|
|
19
|
+
providers: [cheerio_service_1.CheerioService, cheerio_config_service_1.CheerioConfigService, cheerio_hook_service_1.CheerioHookService],
|
|
19
20
|
exports: [cheerio_service_1.CheerioService],
|
|
20
21
|
})
|
|
21
22
|
], CheerioModule);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cheerio.module.js","sourceRoot":"","sources":["../../../src/modules/cheerio/cheerio.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AAExC,uDAAmD;AACnD,0EAAqE;AAM9D,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IAJzB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,gCAAc,EAAE,yCAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"cheerio.module.js","sourceRoot":"","sources":["../../../src/modules/cheerio/cheerio.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AAExC,uDAAmD;AACnD,8EAAyE;AACzE,0EAAqE;AAM9D,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IAJzB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,gCAAc,EAAE,6CAAoB,EAAE,yCAAkB,CAAC;QACrE,OAAO,EAAE,CAAC,gCAAc,CAAC;KAC1B,CAAC;GACW,aAAa,CAAG"}
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import { ConfigService } from '@nestjs/config';
|
|
2
1
|
import { CheerioCrawler, CheerioCrawlerOptions } from 'crawlee';
|
|
3
2
|
import { CheerioHookService } from './services/cheerio.hook.service';
|
|
3
|
+
import { CheerioConfigService } from './services/cheerio.config.service';
|
|
4
4
|
export declare class CheerioService {
|
|
5
5
|
private readonly config;
|
|
6
6
|
private readonly hook;
|
|
7
7
|
private readonly logger;
|
|
8
|
-
|
|
9
|
-
private readonly timeoutSecs;
|
|
10
|
-
private readonly maxConcurrency;
|
|
11
|
-
private readonly minConcurrency;
|
|
12
|
-
private readonly maxRequestRetries;
|
|
13
|
-
constructor(config: ConfigService, hook: CheerioHookService);
|
|
8
|
+
constructor(config: CheerioConfigService, hook: CheerioHookService);
|
|
14
9
|
create(options: CheerioCrawlerOptions): CheerioCrawler;
|
|
15
10
|
}
|
|
@@ -12,36 +12,27 @@ var CheerioService_1;
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.CheerioService = void 0;
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
|
-
const config_1 = require("@nestjs/config");
|
|
16
15
|
const crawlee_1 = require("crawlee");
|
|
17
16
|
const cheerio_hook_service_1 = require("./services/cheerio.hook.service");
|
|
17
|
+
const cheerio_config_service_1 = require("./services/cheerio.config.service");
|
|
18
18
|
const logger_1 = require("../../common/logger/logger");
|
|
19
|
-
const cheerio_env_constant_1 = require("./constant/cheerio.env.constant");
|
|
20
|
-
const cheerio_env_constant_2 = require("./constant/cheerio.env.constant");
|
|
21
|
-
const cheerio_env_constant_3 = require("./constant/cheerio.env.constant");
|
|
22
|
-
const cheerio_env_constant_4 = require("./constant/cheerio.env.constant");
|
|
23
|
-
const cheerio_env_constant_5 = require("./constant/cheerio.env.constant");
|
|
24
19
|
let CheerioService = CheerioService_1 = class CheerioService {
|
|
25
20
|
constructor(config, hook) {
|
|
26
21
|
this.config = config;
|
|
27
22
|
this.hook = hook;
|
|
28
23
|
this.logger = new logger_1.Logger(CheerioService_1.name);
|
|
29
|
-
this.maxConcurrency = this.config.get(cheerio_env_constant_1.MAX_CONCURRENCY);
|
|
30
|
-
this.minConcurrency = this.config.get(cheerio_env_constant_2.MIN_CONCURRENCY);
|
|
31
|
-
this.maxRequestRetries = this.config.get(cheerio_env_constant_3.MAX_REQUEST_RETRIES);
|
|
32
|
-
this.timeoutSecs = this.config.get(cheerio_env_constant_4.TIMEOUT_SECS);
|
|
33
|
-
this.maxRequests = this.config.get(cheerio_env_constant_5.MAX_REQUESTS);
|
|
34
24
|
}
|
|
35
25
|
create(options) {
|
|
36
26
|
const { preNavigationHooks = [], postNavigationHooks = [] } = options;
|
|
37
27
|
const defaultPreNavHooks = this.hook.getPreNavigationHooks();
|
|
38
28
|
const defaultPostNavHooks = this.hook.getPostNavigationHooks();
|
|
29
|
+
const { env } = this.config;
|
|
39
30
|
const defaultOptions = {
|
|
40
|
-
maxRequestsPerCrawl:
|
|
41
|
-
requestHandlerTimeoutSecs:
|
|
42
|
-
maxConcurrency:
|
|
43
|
-
minConcurrency:
|
|
44
|
-
maxRequestRetries:
|
|
31
|
+
maxRequestsPerCrawl: env.maxRequests,
|
|
32
|
+
requestHandlerTimeoutSecs: env.timeoutSecs,
|
|
33
|
+
maxConcurrency: env.maxConcurrency,
|
|
34
|
+
minConcurrency: env.minConcurrency,
|
|
35
|
+
maxRequestRetries: env.maxRequestRetries,
|
|
45
36
|
};
|
|
46
37
|
this.logger.log('Creating Cheerio Crawler instance');
|
|
47
38
|
return new crawlee_1.CheerioCrawler({
|
|
@@ -55,7 +46,7 @@ let CheerioService = CheerioService_1 = class CheerioService {
|
|
|
55
46
|
exports.CheerioService = CheerioService;
|
|
56
47
|
exports.CheerioService = CheerioService = CheerioService_1 = __decorate([
|
|
57
48
|
(0, common_1.Injectable)(),
|
|
58
|
-
__metadata("design:paramtypes", [
|
|
49
|
+
__metadata("design:paramtypes", [cheerio_config_service_1.CheerioConfigService,
|
|
59
50
|
cheerio_hook_service_1.CheerioHookService])
|
|
60
51
|
], CheerioService);
|
|
61
52
|
//# sourceMappingURL=cheerio.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cheerio.service.js","sourceRoot":"","sources":["../../../src/modules/cheerio/cheerio.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA4C;
|
|
1
|
+
{"version":3,"file":"cheerio.service.js","sourceRoot":"","sources":["../../../src/modules/cheerio/cheerio.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,qCAAgE;AAChE,0EAAqE;AACrE,8EAAyE;AACzE,uDAAoD;AAG7C,IAAM,cAAc,sBAApB,MAAM,cAAc;IAGzB,YACmB,MAA4B,EAC5B,IAAwB;QADxB,WAAM,GAAN,MAAM,CAAsB;QAC5B,SAAI,GAAJ,IAAI,CAAoB;QAJ1B,WAAM,GAAG,IAAI,eAAM,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC;IAKvD,CAAC;IAEJ,MAAM,CAAC,OAA8B;QACnC,MAAM,EAAE,kBAAkB,GAAG,EAAE,EAAE,mBAAmB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QACtE,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7D,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC/D,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,MAAM,cAAc,GAA0B;YAC5C,mBAAmB,EAAE,GAAG,CAAC,WAAW;YACpC,yBAAyB,EAAE,GAAG,CAAC,WAAW;YAC1C,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;SACzC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACrD,OAAO,IAAI,wBAAc,CAAC;YACxB,GAAG,cAAc;YACjB,GAAG,OAAO;YACV,kBAAkB,EAAE,CAAC,GAAG,kBAAkB,EAAE,GAAG,kBAAkB,CAAC;YAClE,mBAAmB,EAAE,CAAC,GAAG,mBAAmB,EAAE,GAAG,mBAAmB,CAAC;SACtE,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA5BY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAKgB,6CAAoB;QACtB,yCAAkB;GALhC,cAAc,CA4B1B"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
export declare const CHEERIO_ENV: {
|
|
2
|
+
readonly MIN_CONCURRENCY: "CRAWLEE_CHEERIO_MIN_CONCURRENCY";
|
|
3
|
+
readonly MAX_CONCURRENCY: "CRAWLEE_CHEERIO_MAX_CONCURRENCY";
|
|
4
|
+
readonly MAX_REQUEST_RETRIES: "CRAWLEE_CHEERIO_MAX_REQUEST_RETRIES";
|
|
5
|
+
readonly TIMEOUT_SECS: "CRAWLEE_CHEERIO_TIMEOUT_SECS";
|
|
6
|
+
readonly MAX_REQUESTS: "CRAWLEE_CHEERIO_MAX_REQUESTS";
|
|
7
|
+
readonly INITIAL_PAGE: "CRAWLEE_CHEERIO_INITIAL_PAGE";
|
|
8
|
+
};
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
exports.CHEERIO_ENV = void 0;
|
|
4
|
+
exports.CHEERIO_ENV = {
|
|
5
|
+
MIN_CONCURRENCY: 'CRAWLEE_CHEERIO_MIN_CONCURRENCY',
|
|
6
|
+
MAX_CONCURRENCY: 'CRAWLEE_CHEERIO_MAX_CONCURRENCY',
|
|
7
|
+
MAX_REQUEST_RETRIES: 'CRAWLEE_CHEERIO_MAX_REQUEST_RETRIES',
|
|
8
|
+
TIMEOUT_SECS: 'CRAWLEE_CHEERIO_TIMEOUT_SECS',
|
|
9
|
+
MAX_REQUESTS: 'CRAWLEE_CHEERIO_MAX_REQUESTS',
|
|
10
|
+
INITIAL_PAGE: 'CRAWLEE_CHEERIO_INITIAL_PAGE',
|
|
11
|
+
};
|
|
10
12
|
//# sourceMappingURL=cheerio.env.constant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cheerio.env.constant.js","sourceRoot":"","sources":["../../../../src/modules/cheerio/constant/cheerio.env.constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,
|
|
1
|
+
{"version":3,"file":"cheerio.env.constant.js","sourceRoot":"","sources":["../../../../src/modules/cheerio/constant/cheerio.env.constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IACzB,eAAe,EAAE,iCAAiC;IAClD,eAAe,EAAE,iCAAiC;IAClD,mBAAmB,EAAE,qCAAqC;IAC1D,YAAY,EAAE,8BAA8B;IAC5C,YAAY,EAAE,8BAA8B;IAC5C,YAAY,EAAE,8BAA8B;CACpC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ConfigService } from '@nestjs/config';
|
|
2
|
+
import { CheerioConfig } from '../types/cheerio.config';
|
|
3
|
+
export declare class CheerioConfigService {
|
|
4
|
+
private readonly service;
|
|
5
|
+
private readonly _env;
|
|
6
|
+
constructor(service: ConfigService);
|
|
7
|
+
get env(): CheerioConfig;
|
|
8
|
+
get maxRequests(): number;
|
|
9
|
+
get timeoutSecs(): number;
|
|
10
|
+
get maxConcurrency(): number;
|
|
11
|
+
get minConcurrency(): number;
|
|
12
|
+
get maxRequestRetries(): number;
|
|
13
|
+
get initialPage(): number;
|
|
14
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CheerioConfigService = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const config_1 = require("@nestjs/config");
|
|
15
|
+
const cheerio_env_constant_1 = require("../constant/cheerio.env.constant");
|
|
16
|
+
let CheerioConfigService = class CheerioConfigService {
|
|
17
|
+
constructor(service) {
|
|
18
|
+
this.service = service;
|
|
19
|
+
this._env = {
|
|
20
|
+
maxConcurrency: this.service.get(cheerio_env_constant_1.CHEERIO_ENV.MAX_CONCURRENCY),
|
|
21
|
+
minConcurrency: this.service.get(cheerio_env_constant_1.CHEERIO_ENV.MIN_CONCURRENCY),
|
|
22
|
+
maxRequestRetries: this.service.get(cheerio_env_constant_1.CHEERIO_ENV.MAX_REQUEST_RETRIES),
|
|
23
|
+
timeoutSecs: this.service.get(cheerio_env_constant_1.CHEERIO_ENV.TIMEOUT_SECS),
|
|
24
|
+
maxRequests: this.service.get(cheerio_env_constant_1.CHEERIO_ENV.MAX_REQUESTS),
|
|
25
|
+
initialPage: this.service.get(cheerio_env_constant_1.CHEERIO_ENV.INITIAL_PAGE),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
get env() {
|
|
29
|
+
return this._env;
|
|
30
|
+
}
|
|
31
|
+
get maxRequests() {
|
|
32
|
+
return Number(this._env.maxRequests);
|
|
33
|
+
}
|
|
34
|
+
get timeoutSecs() {
|
|
35
|
+
return Number(this._env.timeoutSecs);
|
|
36
|
+
}
|
|
37
|
+
get maxConcurrency() {
|
|
38
|
+
return Number(this._env.maxConcurrency);
|
|
39
|
+
}
|
|
40
|
+
get minConcurrency() {
|
|
41
|
+
return Number(this._env.minConcurrency);
|
|
42
|
+
}
|
|
43
|
+
get maxRequestRetries() {
|
|
44
|
+
return Number(this._env.maxRequestRetries);
|
|
45
|
+
}
|
|
46
|
+
get initialPage() {
|
|
47
|
+
return Number(this._env.initialPage);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
exports.CheerioConfigService = CheerioConfigService;
|
|
51
|
+
exports.CheerioConfigService = CheerioConfigService = __decorate([
|
|
52
|
+
(0, common_1.Injectable)(),
|
|
53
|
+
__metadata("design:paramtypes", [config_1.ConfigService])
|
|
54
|
+
], CheerioConfigService);
|
|
55
|
+
//# sourceMappingURL=cheerio.config.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cheerio.config.service.js","sourceRoot":"","sources":["../../../../src/modules/cheerio/services/cheerio.config.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,2CAA+C;AAG/C,2EAAsE;AAG/D,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAG/B,YAA6B,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;QACjD,IAAI,CAAC,IAAI,GAAG;YACV,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAS,kCAAG,CAAC,eAAe,CAAC;YAC7D,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAS,kCAAG,CAAC,eAAe,CAAC;YAC7D,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAS,kCAAG,CAAC,mBAAmB,CAAC;YACpE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAS,kCAAG,CAAC,YAAY,CAAC;YACvD,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAS,kCAAG,CAAC,YAAY,CAAC;YACvD,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAS,kCAAG,CAAC,YAAY,CAAC;SACxD,CAAC;IACJ,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,WAAW;QACb,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;CACF,CAAA;AAzCY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;qCAI2B,sBAAa;GAHxC,oBAAoB,CAyChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cheerio.config.js","sourceRoot":"","sources":["../../../../src/modules/cheerio/types/cheerio.config.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
export declare const HTTP_ENV: {
|
|
2
|
+
readonly MAX_CONCURRENCY: "CRAWLEE_HTTP_MAX_CONCURRENCY";
|
|
3
|
+
readonly MIN_CONCURRENCY: "CRAWLEE_HTTP_MIN_CONCURRENCY";
|
|
4
|
+
readonly MAX_REQUEST_RETRIES: "CRAWLEE_HTTP_MAX_REQUEST_RETRIES";
|
|
5
|
+
readonly TIMEOUT_SECS: "CRAWLEE_HTTP_TIMEOUT_SECS";
|
|
6
|
+
readonly MAX_REQUESTS: "CRAWLEE_HTTP_MAX_REQUESTS";
|
|
7
|
+
readonly INITIAL_PAGE: "CRAWLEE_HTTP_INITIAL_PAGE";
|
|
8
|
+
};
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
exports.HTTP_ENV = void 0;
|
|
4
|
+
exports.HTTP_ENV = {
|
|
5
|
+
MAX_CONCURRENCY: 'CRAWLEE_HTTP_MAX_CONCURRENCY',
|
|
6
|
+
MIN_CONCURRENCY: 'CRAWLEE_HTTP_MIN_CONCURRENCY',
|
|
7
|
+
MAX_REQUEST_RETRIES: 'CRAWLEE_HTTP_MAX_REQUEST_RETRIES',
|
|
8
|
+
TIMEOUT_SECS: 'CRAWLEE_HTTP_TIMEOUT_SECS',
|
|
9
|
+
MAX_REQUESTS: 'CRAWLEE_HTTP_MAX_REQUESTS',
|
|
10
|
+
INITIAL_PAGE: 'CRAWLEE_HTTP_INITIAL_PAGE',
|
|
11
|
+
};
|
|
10
12
|
//# sourceMappingURL=http.env.constant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.env.constant.js","sourceRoot":"","sources":["../../../../src/modules/http/constant/http.env.constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,
|
|
1
|
+
{"version":3,"file":"http.env.constant.js","sourceRoot":"","sources":["../../../../src/modules/http/constant/http.env.constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG;IACtB,eAAe,EAAE,8BAA8B;IAC/C,eAAe,EAAE,8BAA8B;IAC/C,mBAAmB,EAAE,kCAAkC;IACvD,YAAY,EAAE,2BAA2B;IACzC,YAAY,EAAE,2BAA2B;IACzC,YAAY,EAAE,2BAA2B;CACjC,CAAC"}
|
|
@@ -9,13 +9,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.HttpModule = void 0;
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
11
|
const http_service_1 = require("./http.service");
|
|
12
|
+
const http_config_service_1 = require("./services/http.config.service");
|
|
12
13
|
const http_hook_service_1 = require("./services/http.hook.service");
|
|
13
14
|
let HttpModule = class HttpModule {
|
|
14
15
|
};
|
|
15
16
|
exports.HttpModule = HttpModule;
|
|
16
17
|
exports.HttpModule = HttpModule = __decorate([
|
|
17
18
|
(0, common_1.Module)({
|
|
18
|
-
providers: [http_service_1.HttpService, http_hook_service_1.HttpHookService],
|
|
19
|
+
providers: [http_service_1.HttpService, http_config_service_1.HttpConfigService, http_hook_service_1.HttpHookService],
|
|
19
20
|
exports: [http_service_1.HttpService],
|
|
20
21
|
})
|
|
21
22
|
], HttpModule);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.module.js","sourceRoot":"","sources":["../../../src/modules/http/http.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AAExC,iDAA6C;AAC7C,oEAA+D;AAMxD,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAJtB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,0BAAW,EAAE,mCAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"http.module.js","sourceRoot":"","sources":["../../../src/modules/http/http.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AAExC,iDAA6C;AAC7C,wEAAmE;AACnE,oEAA+D;AAMxD,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAJtB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,0BAAW,EAAE,uCAAiB,EAAE,mCAAe,CAAC;QAC5D,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;GACW,UAAU,CAAG"}
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import { ConfigService } from '@nestjs/config';
|
|
2
1
|
import { HttpCrawler, HttpCrawlerOptions } from 'crawlee';
|
|
3
2
|
import { HttpHookService } from './services/http.hook.service';
|
|
3
|
+
import { HttpConfigService } from './services/http.config.service';
|
|
4
4
|
export declare class HttpService {
|
|
5
5
|
private readonly config;
|
|
6
6
|
private readonly hook;
|
|
7
7
|
private readonly logger;
|
|
8
|
-
|
|
9
|
-
private readonly timeoutSecs;
|
|
10
|
-
private readonly maxConcurrency;
|
|
11
|
-
private readonly minConcurrency;
|
|
12
|
-
private readonly maxRequestRetries;
|
|
13
|
-
constructor(config: ConfigService, hook: HttpHookService);
|
|
8
|
+
constructor(config: HttpConfigService, hook: HttpHookService);
|
|
14
9
|
create(options: HttpCrawlerOptions): HttpCrawler<import("crawlee").InternalHttpCrawlingContext<any, any, HttpCrawler<any>>>;
|
|
15
10
|
}
|
|
@@ -12,38 +12,29 @@ var HttpService_1;
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.HttpService = void 0;
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
|
-
const config_1 = require("@nestjs/config");
|
|
16
15
|
const crawlee_1 = require("crawlee");
|
|
17
16
|
const http_hook_service_1 = require("./services/http.hook.service");
|
|
17
|
+
const http_config_service_1 = require("./services/http.config.service");
|
|
18
18
|
const logger_1 = require("../../common/logger/logger");
|
|
19
|
-
const http_env_constant_1 = require("./constant/http.env.constant");
|
|
20
|
-
const http_env_constant_2 = require("./constant/http.env.constant");
|
|
21
|
-
const http_env_constant_3 = require("./constant/http.env.constant");
|
|
22
|
-
const http_env_constant_4 = require("./constant/http.env.constant");
|
|
23
|
-
const http_env_constant_5 = require("./constant/http.env.constant");
|
|
24
19
|
let HttpService = HttpService_1 = class HttpService {
|
|
25
20
|
constructor(config, hook) {
|
|
26
21
|
this.config = config;
|
|
27
22
|
this.hook = hook;
|
|
28
23
|
this.logger = new logger_1.Logger(HttpService_1.name);
|
|
29
|
-
this.maxConcurrency = this.config.get(http_env_constant_1.MAX_CONCURRENCY);
|
|
30
|
-
this.minConcurrency = this.config.get(http_env_constant_2.MIN_CONCURRENCY);
|
|
31
|
-
this.maxRequestRetries = this.config.get(http_env_constant_3.MAX_REQUEST_RETRIES);
|
|
32
|
-
this.timeoutSecs = this.config.get(http_env_constant_4.TIMEOUT_SECS);
|
|
33
|
-
this.maxRequests = this.config.get(http_env_constant_5.MAX_REQUESTS);
|
|
34
24
|
}
|
|
35
25
|
create(options) {
|
|
36
26
|
const { preNavigationHooks = [], postNavigationHooks = [] } = options;
|
|
37
27
|
const defaultPreNavHooks = this.hook.getPreNavigationHooks();
|
|
38
28
|
const defaultPostNavHooks = this.hook.getPostNavigationHooks();
|
|
29
|
+
const { env } = this.config;
|
|
39
30
|
const defaultOptions = {
|
|
40
|
-
maxRequestsPerCrawl:
|
|
41
|
-
requestHandlerTimeoutSecs:
|
|
42
|
-
maxConcurrency:
|
|
43
|
-
minConcurrency:
|
|
44
|
-
maxRequestRetries:
|
|
31
|
+
maxRequestsPerCrawl: env.maxRequests,
|
|
32
|
+
requestHandlerTimeoutSecs: env.timeoutSecs,
|
|
33
|
+
maxConcurrency: env.maxConcurrency,
|
|
34
|
+
minConcurrency: env.minConcurrency,
|
|
35
|
+
maxRequestRetries: env.maxRequestRetries,
|
|
45
36
|
};
|
|
46
|
-
this.logger.log('Creating
|
|
37
|
+
this.logger.log('Creating Http Crawler instance');
|
|
47
38
|
return new crawlee_1.HttpCrawler({
|
|
48
39
|
...defaultOptions,
|
|
49
40
|
...options,
|
|
@@ -55,7 +46,7 @@ let HttpService = HttpService_1 = class HttpService {
|
|
|
55
46
|
exports.HttpService = HttpService;
|
|
56
47
|
exports.HttpService = HttpService = HttpService_1 = __decorate([
|
|
57
48
|
(0, common_1.Injectable)(),
|
|
58
|
-
__metadata("design:paramtypes", [
|
|
49
|
+
__metadata("design:paramtypes", [http_config_service_1.HttpConfigService,
|
|
59
50
|
http_hook_service_1.HttpHookService])
|
|
60
51
|
], HttpService);
|
|
61
52
|
//# sourceMappingURL=http.service.js.map
|