scanoss 0.10.1 → 0.10.3
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/build/main/cli/bin/cli-bin.js +17 -5
- package/build/main/sdk/scanner/Dispatcher/Dispatcher.d.ts +1 -1
- package/build/main/sdk/scanner/Dispatcher/Dispatcher.js +21 -9
- package/build/main/sdk/scanner/Scanner.d.ts +7 -7
- package/build/main/sdk/scanner/Scanner.js +77 -63
- package/build/main/sdk/scanner/ScannerCfg.js +4 -5
- package/build/main/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +1 -1
- package/build/main/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +9 -8
- package/build/main/sdk/scanner/WfpProvider/WfpProvider.d.ts +8 -8
- package/build/main/sdk/scanner/WfpProvider/WfpProvider.js +8 -5
- package/build/main/tsconfig.tsbuildinfo +10 -10
- package/build/module/cli/bin/cli-bin.js +17 -5
- package/build/module/sdk/scanner/Dispatcher/Dispatcher.d.ts +1 -1
- package/build/module/sdk/scanner/Dispatcher/Dispatcher.js +26 -14
- package/build/module/sdk/scanner/Scanner.d.ts +7 -7
- package/build/module/sdk/scanner/Scanner.js +80 -63
- package/build/module/sdk/scanner/ScannerCfg.js +4 -5
- package/build/module/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +1 -1
- package/build/module/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +9 -8
- package/build/module/sdk/scanner/WfpProvider/WfpProvider.d.ts +8 -8
- package/build/module/sdk/scanner/WfpProvider/WfpProvider.js +10 -7
- package/build/module/tsconfig.module.tsbuildinfo +10 -10
- package/package.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { Worker } from 'worker_threads';
|
|
3
3
|
import EventEmitter from 'eventemitter3';
|
|
4
|
-
import { ScannerCfg } from
|
|
5
|
-
import { WinnowingMode } from
|
|
6
|
-
import { FingerprintPackage } from
|
|
4
|
+
import { ScannerCfg } from '../ScannerCfg';
|
|
5
|
+
import { WinnowingMode } from '../ScannerTypes';
|
|
6
|
+
import { FingerprintPackage } from './FingerprintPackage';
|
|
7
7
|
export interface IWfpProviderInput {
|
|
8
8
|
wfpPath?: string;
|
|
9
9
|
folderRoot?: string;
|
|
@@ -22,6 +22,11 @@ export declare abstract class WfpProvider extends EventEmitter {
|
|
|
22
22
|
protected obfuscate: boolean;
|
|
23
23
|
protected finishPromiseResolve: (value?: void | PromiseLike<void>) => void;
|
|
24
24
|
protected finishPromiseReject: (value?: void | PromiseLike<void>) => void;
|
|
25
|
+
abstract start(params: IWfpProviderInput): Promise<void>;
|
|
26
|
+
abstract stop(): void;
|
|
27
|
+
abstract pause(): void;
|
|
28
|
+
abstract resume(): void;
|
|
29
|
+
hasPendingFiles(): boolean;
|
|
25
30
|
protected init(): void;
|
|
26
31
|
protected fingerprintPacker(fingerprint: string): boolean;
|
|
27
32
|
protected finishWinnowing(): void;
|
|
@@ -29,9 +34,4 @@ export declare abstract class WfpProvider extends EventEmitter {
|
|
|
29
34
|
protected sendLog(logMsg: string): void;
|
|
30
35
|
protected sendError(errorMsg: string): void;
|
|
31
36
|
protected setWinnowingMode(mode: WinnowingMode): void;
|
|
32
|
-
abstract start(params: IWfpProviderInput): Promise<void>;
|
|
33
|
-
abstract stop(): void;
|
|
34
|
-
abstract pause(): void;
|
|
35
|
-
abstract resume(): void;
|
|
36
|
-
hasPendingFiles(): boolean;
|
|
37
37
|
}
|
|
@@ -7,6 +7,9 @@ const eventemitter3_1 = __importDefault(require("eventemitter3"));
|
|
|
7
7
|
const ScannerTypes_1 = require("../ScannerTypes");
|
|
8
8
|
const FingerprintPackage_1 = require("./FingerprintPackage");
|
|
9
9
|
class WfpProvider extends eventemitter3_1.default {
|
|
10
|
+
hasPendingFiles() {
|
|
11
|
+
return this.pendingFiles;
|
|
12
|
+
}
|
|
10
13
|
init() {
|
|
11
14
|
this.wfp = '';
|
|
12
15
|
this.folderRoot = '';
|
|
@@ -35,7 +38,10 @@ class WfpProvider extends eventemitter3_1.default {
|
|
|
35
38
|
// eslint-disable-next-line no-param-reassign
|
|
36
39
|
fingerprint += '\n';
|
|
37
40
|
}
|
|
38
|
-
|
|
41
|
+
const conditionMaxSize = this.wfp.length + fingerprint.length >= this.scannerCfg.WFP_FILE_MAX_SIZE;
|
|
42
|
+
const conditionMaxFiles = (this.wfp.match(/file\=/g) || []).length >=
|
|
43
|
+
Math.round(this.scannerCfg.WFP_FILE_MAX_SIZE / 1024);
|
|
44
|
+
if ((conditionMaxSize || conditionMaxFiles) && this.wfp.length > 0) {
|
|
39
45
|
this.sendFingerprint(new FingerprintPackage_1.FingerprintPackage(this.wfp, this.folderRoot));
|
|
40
46
|
this.wfp = '';
|
|
41
47
|
}
|
|
@@ -66,9 +72,6 @@ class WfpProvider extends eventemitter3_1.default {
|
|
|
66
72
|
setWinnowingMode(mode) {
|
|
67
73
|
this.winnowingMode = mode;
|
|
68
74
|
}
|
|
69
|
-
hasPendingFiles() {
|
|
70
|
-
return this.pendingFiles;
|
|
71
|
-
}
|
|
72
75
|
}
|
|
73
76
|
exports.WfpProvider = WfpProvider;
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ZwUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2RrL3NjYW5uZXIvV2ZwUHJvdmlkZXIvV2ZwUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxrRUFBeUM7QUFFekMsa0RBQStEO0FBQy9ELDZEQUEwRDtBQVUxRCxNQUFzQixXQUFZLFNBQVEsdUJBQVk7SUFzQjdDLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFUyxJQUFJO1FBQ1osSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDZCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLDRCQUFhLENBQUMsY0FBYyxDQUFDO1FBQ2xELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXZCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQztZQUNwQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdFQUFnRTtJQUN0RCxpQkFBaUIsQ0FBQyxXQUFtQjtRQUM3Qyx3RkFBd0Y7UUFDeEYsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUU7WUFDMUQsSUFBSSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDO1lBQzlELElBQUksc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1lBQ2xDLE9BQU8sc0JBQXNCLEVBQUU7Z0JBQzdCLElBQUksV0FBVyxDQUFDLHFCQUFx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
|
|
@@ -552,7 +552,7 @@
|
|
|
552
552
|
"affectsGlobalScope": false
|
|
553
553
|
},
|
|
554
554
|
"../../src/sdk/scanner/ScannerCfg.ts": {
|
|
555
|
-
"version": "
|
|
555
|
+
"version": "16c0330268ebc54b5e34ab88ab85c5981d42f46dea9ad0a5f8b2d5bd47caf053",
|
|
556
556
|
"signature": "83bcdff0644f91c60647ee8d7f3ca4872e38d70051a06a03b18101be433cf783",
|
|
557
557
|
"affectsGlobalScope": false
|
|
558
558
|
},
|
|
@@ -592,13 +592,13 @@
|
|
|
592
592
|
"affectsGlobalScope": false
|
|
593
593
|
},
|
|
594
594
|
"../../src/sdk/scanner/Dispatcher/Dispatcher.ts": {
|
|
595
|
-
"version": "
|
|
596
|
-
"signature": "
|
|
595
|
+
"version": "b455f32393d5117846fc58035efeadb87022b21f3ea31fe0888e8947dd7a1fb4",
|
|
596
|
+
"signature": "6675090234645b5e956378a791b8ac96009ba33354e87ccd068abc88bf4f48c1",
|
|
597
597
|
"affectsGlobalScope": false
|
|
598
598
|
},
|
|
599
599
|
"../../src/sdk/scanner/WfpProvider/WfpProvider.ts": {
|
|
600
|
-
"version": "
|
|
601
|
-
"signature": "
|
|
600
|
+
"version": "c987188d5385c1c80a1d812a8a914066352b893b4993901c39b168c4cdaaec20",
|
|
601
|
+
"signature": "03eb0830129f9d22f7a882f81984b8372f3d42b0fe9d793b39e0537beee676b4",
|
|
602
602
|
"affectsGlobalScope": false
|
|
603
603
|
},
|
|
604
604
|
"../../src/sdk/scanner/Scannable/ScannableItem.ts": {
|
|
@@ -607,8 +607,8 @@
|
|
|
607
607
|
"affectsGlobalScope": false
|
|
608
608
|
},
|
|
609
609
|
"../../src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts": {
|
|
610
|
-
"version": "
|
|
611
|
-
"signature": "
|
|
610
|
+
"version": "89940e08d914c9a3ed4597db356036cf9d72ed8d2c7a3f58f2d9acae6356bf9b",
|
|
611
|
+
"signature": "f2edfce5f6e2e349b664761b081c59fecbff97da516f1a3687445d8fce4e3477",
|
|
612
612
|
"affectsGlobalScope": false
|
|
613
613
|
},
|
|
614
614
|
"../../src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.ts": {
|
|
@@ -617,8 +617,8 @@
|
|
|
617
617
|
"affectsGlobalScope": false
|
|
618
618
|
},
|
|
619
619
|
"../../src/sdk/scanner/Scanner.ts": {
|
|
620
|
-
"version": "
|
|
621
|
-
"signature": "
|
|
620
|
+
"version": "9c9659b8bdf7fb6c5beccbb6cabc5dc0ffee20b0b73a0de18e888d27d5a97de8",
|
|
621
|
+
"signature": "31e4883f4cc34e3eeb6a800383f16af7f151a1806ffc226afefe33c818be61dd",
|
|
622
622
|
"affectsGlobalScope": false
|
|
623
623
|
},
|
|
624
624
|
"../../src/sdk/scanner/Fingerprint.ts": {
|
|
@@ -1322,7 +1322,7 @@
|
|
|
1322
1322
|
"affectsGlobalScope": false
|
|
1323
1323
|
},
|
|
1324
1324
|
"../../src/cli/bin/cli-bin.ts": {
|
|
1325
|
-
"version": "
|
|
1325
|
+
"version": "3e072bf981511d42ef2ceb8838a0f581866a765afa4361f1fbd6634c06943ae5",
|
|
1326
1326
|
"signature": "43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012",
|
|
1327
1327
|
"affectsGlobalScope": false
|
|
1328
1328
|
},
|
|
@@ -27,7 +27,7 @@ async function main() {
|
|
|
27
27
|
.option('-o, --output <filename>', 'Output result file name (optional - default stdout)')
|
|
28
28
|
.option('-f, --format <format>', 'Result output format. {JSON, HTML} Default: JSON')
|
|
29
29
|
.option('-F, --flags <flags>', 'Scanning engine flags (1: disable snippet matching, 2 enable snippet ids, 4: disable dependencies, 8: disable licenses, 16: disable copyrights,32: disable vulnerabilities, 64: disable quality, 128: disable cryptography,256: disable best match, 512: Report identified files)')
|
|
30
|
-
.option('-P, --post-size <postsize>', 'Number of kilobytes to limit the post to while scanning (optional - default
|
|
30
|
+
.option('-P, --post-size <postsize>', 'Number of kilobytes to limit the post to while scanning (optional - default 32)')
|
|
31
31
|
.option('-R, --max-retry <retry>', 'Max number of retries for each POST (optional -default 5)')
|
|
32
32
|
.option('-M, --timeout <timeout>', 'Timeout (in seconds) for API communication (optional -default 120)')
|
|
33
33
|
.option('--obfuscate', 'Obfuscate fingerprints')
|
|
@@ -40,7 +40,11 @@ async function main() {
|
|
|
40
40
|
.option('--proxy <proxy>', 'Proxy URL to use for connections (optional). Can also use the environment variable "HTTPS_PROXY=[ip]:[port]" and "grcp_proxy=[ip]:[port]" for gRPC')
|
|
41
41
|
.option('--pac <pac>', 'Proxy auto configuration (optional). Specify a file, http url or ftp url')
|
|
42
42
|
.option('-v, --verbose', 'Makes scan operation verbose')
|
|
43
|
-
.action((source, options) => {
|
|
43
|
+
.action((source, options) => {
|
|
44
|
+
scanHandler(source, options).catch((e) => {
|
|
45
|
+
CLIErrorHandler(e);
|
|
46
|
+
});
|
|
47
|
+
})
|
|
44
48
|
.addHelpText('after', `
|
|
45
49
|
Examples:
|
|
46
50
|
$ scanoss-js scan -o scan-output.json <source-folder>`);
|
|
@@ -49,7 +53,11 @@ async function main() {
|
|
|
49
53
|
.description('Scan for dependencies')
|
|
50
54
|
.option('-o, --output <filename>', 'Output result file name (optional - default stdout)')
|
|
51
55
|
.option('-a, --grpc-host <host>', 'SCANOSS GRPC HOST (optional - default: scanoss.com:443)')
|
|
52
|
-
.action((source, options) => {
|
|
56
|
+
.action((source, options) => {
|
|
57
|
+
depHandler(source, options).catch((e) => {
|
|
58
|
+
CLIErrorHandler(e);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
53
61
|
program
|
|
54
62
|
.command('wfp <source>')
|
|
55
63
|
.description('Generates fingerprints for a folder/file')
|
|
@@ -57,7 +65,11 @@ async function main() {
|
|
|
57
65
|
.option('--obfuscate', 'Obfuscate fingerprints')
|
|
58
66
|
.option('-o, --output <filename>', 'Output result file name (optional - default stdout)')
|
|
59
67
|
.option('-p, --block-size <size>', 'Maximum size in Kb for each fingerprint block (optional - default 64Kb)')
|
|
60
|
-
.action((source, options) => {
|
|
68
|
+
.action((source, options) => {
|
|
69
|
+
wfpHandler(source, options).catch((e) => {
|
|
70
|
+
CLIErrorHandler(e);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
61
73
|
await program.parseAsync(process.argv);
|
|
62
74
|
}
|
|
63
75
|
try {
|
|
@@ -67,4 +79,4 @@ catch (e) {
|
|
|
67
79
|
console.error(e);
|
|
68
80
|
process.exit(1);
|
|
69
81
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLWJpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGkvYmluL2NsaS1iaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTlDLFNBQVMsZUFBZSxDQUFDLENBQVE7SUFDL0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQztBQUVELEtBQUssVUFBVSxJQUFJO0lBQ2pCLE9BQU87U0FDSixPQUFPLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDbEMsV0FBVyxDQUNWLDRHQUE0RyxDQUM3RyxDQUFDO0lBRUosT0FBTztTQUNKLE9BQU8sQ0FBQyxlQUFlLENBQUM7U0FDeEIsV0FBVyxDQUFDLG9CQUFvQixDQUFDO1NBQ2pDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsc0NBQXNDLENBQUM7U0FDM0QsTUFBTSxDQUFDLFlBQVksRUFBRSw4Q0FBOEMsQ0FBQztTQUNwRSxNQUFNLENBQ0wsZUFBZSxFQUNmLDZFQUE2RSxDQUM5RTtTQUNBLE1BQU0sQ0FDTCx3QkFBd0IsRUFDeEIsK0NBQStDLENBQ2hEO1NBQ0EsTUFBTSxDQUFDLDRCQUE0QixFQUFFLGlDQUFpQyxDQUFDO1NBQ3ZFLE1BQU0sQ0FBQyw4QkFBOEIsRUFBRSxpQ0FBaUMsQ0FBQztT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
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
/* eslint-disable no-restricted-syntax */
|
|
3
3
|
import EventEmitter from 'eventemitter3';
|
|
4
4
|
import fetch from 'node-fetch';
|
|
5
|
-
import PQueue from
|
|
6
|
-
import { ScannerEvents } from
|
|
7
|
-
import { DispatcherResponse } from
|
|
8
|
-
import { ScannerCfg } from
|
|
9
|
-
import { GlobalControllerAborter } from
|
|
5
|
+
import PQueue from 'p-queue';
|
|
6
|
+
import { ScannerEvents } from '../ScannerTypes';
|
|
7
|
+
import { DispatcherResponse } from './DispatcherResponse';
|
|
8
|
+
import { ScannerCfg } from '../ScannerCfg';
|
|
9
|
+
import { GlobalControllerAborter } from './GlobalControllerAborter';
|
|
10
10
|
import { HttpsProxyAgent } from 'https-proxy-agent';
|
|
11
11
|
import { HttpProxyAgent } from 'http-proxy-agent';
|
|
12
12
|
import { Utils } from '../../Utils/Utils';
|
|
@@ -23,12 +23,17 @@ export class Dispatcher extends EventEmitter {
|
|
|
23
23
|
//Loads proxy from SDK config, if not, loads from env variables, if not, leave empty
|
|
24
24
|
this.proxyAgent = null;
|
|
25
25
|
this.caCert = null;
|
|
26
|
-
const proxyAddr = this.scannerCfg.PROXY ||
|
|
26
|
+
const proxyAddr = this.scannerCfg.PROXY ||
|
|
27
|
+
process.env.https_proxy ||
|
|
28
|
+
process.env.HTTPS_PROXY ||
|
|
29
|
+
process.env.http_proxy ||
|
|
30
|
+
process.env.HTTP_PROXY ||
|
|
31
|
+
null;
|
|
27
32
|
const caCertPath = this.scannerCfg.CA_CERT || process.env.NODE_EXTRA_CA_CERTS;
|
|
28
33
|
if (caCertPath)
|
|
29
34
|
Utils.loadCaCertFromFile(caCertPath);
|
|
30
35
|
else if (this.scannerCfg.IGNORE_CERT_ERRORS || proxyAddr)
|
|
31
|
-
process.env.NODE_TLS_REJECT_UNAUTHORIZED =
|
|
36
|
+
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
|
|
32
37
|
if (proxyAddr) {
|
|
33
38
|
if (this.scannerCfg.API_URL.trim().startsWith('https'))
|
|
34
39
|
this.proxyAgent = new HttpsProxyAgent(proxyAddr);
|
|
@@ -43,7 +48,9 @@ export class Dispatcher extends EventEmitter {
|
|
|
43
48
|
this.emit(ScannerEvents.DISPATCHER_FINISHED);
|
|
44
49
|
});
|
|
45
50
|
this.pQueue.on('next', () => {
|
|
46
|
-
if (
|
|
51
|
+
if (this.pQueue.size + this.pQueue.pending <
|
|
52
|
+
this.scannerCfg.DISPATCHER_QUEUE_SIZE_MIN_LIMIT &&
|
|
53
|
+
!this.queueMinLimitReached) {
|
|
47
54
|
this.emit(ScannerEvents.DISPATCHER_QUEUE_SIZE_MIN_LIMIT);
|
|
48
55
|
this.queueMinLimitReached = true;
|
|
49
56
|
this.queueMaxLimitReached = false;
|
|
@@ -63,7 +70,8 @@ export class Dispatcher extends EventEmitter {
|
|
|
63
70
|
}
|
|
64
71
|
dispatchItem(item) {
|
|
65
72
|
this.pQueue.add(() => this.dispatch(item));
|
|
66
|
-
if (this.pQueue.size + this.pQueue.pending >=
|
|
73
|
+
if (this.pQueue.size + this.pQueue.pending >=
|
|
74
|
+
this.scannerCfg.DISPATCHER_QUEUE_SIZE_MAX_LIMIT &&
|
|
67
75
|
!this.queueMaxLimitReached) {
|
|
68
76
|
this.emit(ScannerEvents.DISPATCHER_QUEUE_SIZE_MAX_LIMIT);
|
|
69
77
|
this.queueMaxLimitReached = true;
|
|
@@ -85,7 +93,8 @@ export class Dispatcher extends EventEmitter {
|
|
|
85
93
|
}
|
|
86
94
|
if (this.recoverableErrors.has(error.name)) {
|
|
87
95
|
disptItem.increaseErrorCounter();
|
|
88
|
-
if (disptItem.getErrorCounter() >=
|
|
96
|
+
if (disptItem.getErrorCounter() >=
|
|
97
|
+
this.scannerCfg.MAX_RETRIES_FOR_RECOVERABLES_ERRORS) {
|
|
89
98
|
this.emitNoDispatchedItem(disptItem);
|
|
90
99
|
if (this.scannerCfg.ABORT_ON_MAX_RETRIES)
|
|
91
100
|
this.emitUnrecoberableError(error, disptItem, response);
|
|
@@ -108,7 +117,10 @@ export class Dispatcher extends EventEmitter {
|
|
|
108
117
|
agent: this.proxyAgent,
|
|
109
118
|
method: 'post',
|
|
110
119
|
body: item.getForm(),
|
|
111
|
-
headers: {
|
|
120
|
+
headers: {
|
|
121
|
+
'User-Agent': this.scannerCfg.CLIENT_TIMESTAMP
|
|
122
|
+
? this.scannerCfg.CLIENT_TIMESTAMP
|
|
123
|
+
: `scanoss-js/v${Utils.getPackageVersion()}`,
|
|
112
124
|
'X-Session': this.scannerCfg.API_KEY,
|
|
113
125
|
'x-request-id': item.uuid,
|
|
114
126
|
},
|
|
@@ -122,8 +134,8 @@ export class Dispatcher extends EventEmitter {
|
|
|
122
134
|
err.name = 'HTTP_ERROR';
|
|
123
135
|
throw err;
|
|
124
136
|
}
|
|
125
|
-
|
|
126
|
-
const dataAsObj = JSON.parse(
|
|
137
|
+
plain_response = await response.text();
|
|
138
|
+
const dataAsObj = JSON.parse(plain_response);
|
|
127
139
|
const dispatcherResponse = new DispatcherResponse(dataAsObj, item.getFingerprintPackage().getContent());
|
|
128
140
|
this.emit(ScannerEvents.DISPATCHER_NEW_DATA, dispatcherResponse);
|
|
129
141
|
return Promise.resolve();
|
|
@@ -136,4 +148,4 @@ export class Dispatcher extends EventEmitter {
|
|
|
136
148
|
}
|
|
137
149
|
}
|
|
138
150
|
}
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlzcGF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvc2Nhbm5lci9EaXNwYXRjaGVyL0Rpc3BhdGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBQ2pDLHlDQUF5QztBQUN6QyxPQUFPLFlBQVksTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxLQUFtQixNQUFNLFlBQVksQ0FBQztBQUM3QyxPQUFPLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFFN0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUMsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUM7QUFFbEMsTUFBTSxPQUFPLFVBQVcsU0FBUSxZQUFZO0lBaUIxQyxZQUFZLFVBQVUsR0FBRyxJQUFJLFVBQVUsRUFBRTtRQUN2QyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsR0FBRyxzQkFBc0I7WUFDNUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsR0FBRyxzQkFBc0IsQ0FBQztRQUU3RCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSTtRQUNGLG9GQUFvRjtRQUNwRixJQUFJLENB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
|
|
@@ -23,6 +23,13 @@ export declare class Scanner extends EventEmitter {
|
|
|
23
23
|
private filesNotScanned;
|
|
24
24
|
constructor(scannerCfg?: ScannerCfg);
|
|
25
25
|
init(): void;
|
|
26
|
+
setWorkDirectory(workDirectory: string): void;
|
|
27
|
+
getWorkDirectory(): string;
|
|
28
|
+
cleanWorkDirectory(): void;
|
|
29
|
+
scan(scannerInput: Array<ScannerInput>): Promise<string>;
|
|
30
|
+
getScannerId(): string;
|
|
31
|
+
stop(): void;
|
|
32
|
+
isRunning(): boolean;
|
|
26
33
|
private setWinnowerListeners;
|
|
27
34
|
private setDispatcherListeners;
|
|
28
35
|
private appendFilesToNotScanned;
|
|
@@ -31,19 +38,12 @@ export declare class Scanner extends EventEmitter {
|
|
|
31
38
|
private bufferReachedLimit;
|
|
32
39
|
private deobfuscationResponses;
|
|
33
40
|
private bufferToFiles;
|
|
34
|
-
setWorkDirectory(workDirectory: string): void;
|
|
35
|
-
getWorkDirectory(): string;
|
|
36
|
-
cleanWorkDirectory(): void;
|
|
37
41
|
private finishJob;
|
|
38
42
|
private finishScan;
|
|
39
43
|
private reportLog;
|
|
40
44
|
private errorHandler;
|
|
41
45
|
private createOutputFiles;
|
|
42
46
|
private appendOutputFiles;
|
|
43
|
-
scan(scannerInput: Array<ScannerInput>): Promise<string>;
|
|
44
47
|
private isValidInput;
|
|
45
|
-
getScannerId(): string;
|
|
46
48
|
private abort;
|
|
47
|
-
stop(): void;
|
|
48
|
-
isRunning(): boolean;
|
|
49
49
|
}
|