snyk-broker 4.129.2 → 4.130.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/README.md +83 -1
- package/dist/lib/client/index.js +115 -53
- package/dist/lib/client/index.js.map +1 -1
- package/dist/lib/config.js +52 -7
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/filters.js +2 -1
- package/dist/lib/filters.js.map +1 -1
- package/dist/lib/replace-vars.js +20 -1
- package/dist/lib/replace-vars.js.map +1 -1
- package/dist/package.json +2 -1
- package/dist/tsconfig.tsbuildinfo +16 -17
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -413,7 +413,7 @@ The Broker client exposes an endpoint at `/systemcheck`, which can be used to va
|
|
|
413
413
|
* `BROKER_CLIENT_VALIDATION_METHOD` - [optional] the HTTP method of the request (default is `GET`).
|
|
414
414
|
* `BROKER_CLIENT_VALIDATION_TIMEOUT_MS` - [optional] the request timeout in milliseconds (default is 5000 ms).
|
|
415
415
|
|
|
416
|
-
This endpoint responds with status code `200 OK` when the internal request is successful, and returns `{ ok: true }` in the response body. If the internal request fails, this endpoint responds with status code `500 Internal Server Error` and `{ ok: false }` in the response body.
|
|
416
|
+
This endpoint responds with status code `200 OK` when the internal request is successful, and returns `[{ ok: true, ... }]` in the response body (one object in the array per credential, see [Credential Pooling](#credential-pooling)). If the internal request fails, this endpoint responds with status code `500 Internal Server Error` and `[{ ok: false }, ...]` in the response body.
|
|
417
417
|
|
|
418
418
|
To change the location of the systemcheck endpoint, you can specify an alternative path via an environment variable:
|
|
419
419
|
|
|
@@ -497,6 +497,88 @@ For example, if you are using GitHub and you would like to give the Broker acces
|
|
|
497
497
|
More details can be found here:
|
|
498
498
|
[Detecting infrastructure as code files using a broker](https://docs.snyk.io/products/snyk-infrastructure-as-code/detecting-infrastructure-as-code-files-using-a-broker)
|
|
499
499
|
|
|
500
|
+
### Credential Pooling
|
|
501
|
+
Under some circumstances it can be desirable to create a "pool" of credentials, e.g., to work around rate-limiting issues.
|
|
502
|
+
This can be achieved by creating an environment variable ending in `_POOL`, separate each credential with a comma, and
|
|
503
|
+
the Broker Client will then, when doing variable replacement, look to see if the variable in use has a variant with a
|
|
504
|
+
`_POOL` suffix, and use the next item in that pool if so. For example, if you have set the environment variable
|
|
505
|
+
`GITHUB_TOKEN`, but want to provide multiple tokens, you would do this instead:
|
|
506
|
+
|
|
507
|
+
```shell
|
|
508
|
+
GITHUB_TOKEN_POOL=token1, token2, token3
|
|
509
|
+
```
|
|
510
|
+
|
|
511
|
+
And then the Broker Server would, any time it needed `GITHUB_TOKEN`, instead take an item from the `GITHUB_TOKEN_POOL`.
|
|
512
|
+
|
|
513
|
+
Credentials will be taken in a round-robin fashion, so the first, the second, the third, etc, etc, until it reaches the end
|
|
514
|
+
and then takes the first one again.
|
|
515
|
+
|
|
516
|
+
Calling the `/systemcheck` endpoint will validate all credentials, in order, and will return an array where the first item
|
|
517
|
+
is the first credential and so on. For example, if you were running the GitHub Client and had this:
|
|
518
|
+
|
|
519
|
+
```shell
|
|
520
|
+
GITHUB_TOKEN_POOL=good_token, bad_token
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
The `/systemcheck` endpoint would return the following, where the first object is for `good_token` and the second for
|
|
524
|
+
`bad_token`:
|
|
525
|
+
|
|
526
|
+
```json
|
|
527
|
+
[
|
|
528
|
+
{
|
|
529
|
+
"brokerClientValidationUrl": "https://api.github.com/user",
|
|
530
|
+
"brokerClientValidationMethod": "GET",
|
|
531
|
+
"brokerClientValidationTimeoutMs": 5000,
|
|
532
|
+
"brokerClientValidationUrlStatusCode": 200,
|
|
533
|
+
"ok": true,
|
|
534
|
+
"maskedCredentials": "goo***ken"
|
|
535
|
+
},
|
|
536
|
+
{
|
|
537
|
+
"brokerClientValidationUrl": "https://api.github.com/user",
|
|
538
|
+
"brokerClientValidationMethod": "GET",
|
|
539
|
+
"brokerClientValidationTimeoutMs": 5000,
|
|
540
|
+
"ok": false,
|
|
541
|
+
"error": "401 - {\"message\":\"Bad credentials\",\"documentation_url\":\"https://docs.github.com/rest\"}",
|
|
542
|
+
"maskedCredentials": "bad***ken"
|
|
543
|
+
}
|
|
544
|
+
]
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
The credentials are masked, though note that if your credentials contain 6 or fewer characters, they will be completely
|
|
548
|
+
replaced with the mask.
|
|
549
|
+
|
|
550
|
+
#### Limitations
|
|
551
|
+
Credential validity is not checked before using a credential, nor are invalid credentials removed from the pool, so it is
|
|
552
|
+
_strongly_ recommended that credentials be used exclusively by the Broker Client to avoid credentials reaching rate limits
|
|
553
|
+
at different times, and that the `/systemcheck` endpoint be called before use.
|
|
554
|
+
|
|
555
|
+
Some providers, such as GitHub, do rate-limiting on a per-user basis, not a per-token or per-credential basis, and in those
|
|
556
|
+
cases you will need to create multiple accounts with one credential per account.
|
|
557
|
+
|
|
558
|
+
#### Credentials Matrix
|
|
559
|
+
Generating a Matrix of credentials is not supported.
|
|
560
|
+
|
|
561
|
+
A "Matrix" in this case is defined as taking two (or more) `_POOL`s of length `x` and `y`, and producing one final pool
|
|
562
|
+
of length `x * y`. For example, given an input like:
|
|
563
|
+
|
|
564
|
+
```shell
|
|
565
|
+
USERNAME_POOL=u1, u2, u3
|
|
566
|
+
PASSWORD_POOL=p1, p2, p3
|
|
567
|
+
CREDENTIALS_POOL=$USERNAME:$PASSWORD
|
|
568
|
+
```
|
|
569
|
+
|
|
570
|
+
Matrix support would generate this internally:
|
|
571
|
+
|
|
572
|
+
```shell
|
|
573
|
+
CREDENTIALS_POOL=u1:p1,u1:p2,u1:p3,u2:p1,u2:p2,u2:p3,u3:p1,u3:p2,u3:p3
|
|
574
|
+
```
|
|
575
|
+
|
|
576
|
+
Instead, the Broker Client would generate this internally, using only the first pool it finds:
|
|
577
|
+
|
|
578
|
+
```shell
|
|
579
|
+
CREDENTIALS_POOL=u1:$PASSWORD,u2:$PASSWORD,u3:$PASSWORD
|
|
580
|
+
```
|
|
581
|
+
|
|
500
582
|
### Custom approved-listing filter
|
|
501
583
|
|
|
502
584
|
The default approved-listing filter supports the bare minimum to operate on all repositories supported by Snyk. In order to customize the approved-listing filter, create the default one locally by installing `snyk-broker` and running `broker init [Git type]`. The created `accept.json` is the default filter for the chosen Git. Place the file in a separate folder such as `./private/accept.json`, and provide it to the docker container by mounting the folder and using the `ACCEPT` environment variable:
|
package/dist/lib/client/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const primus = require('primus');
|
|
2
|
-
const
|
|
2
|
+
const rp = require('request-promise-native');
|
|
3
3
|
const socket = require('./socket');
|
|
4
4
|
const relay = require('../relay');
|
|
5
5
|
const logger = require('../log');
|
|
@@ -34,67 +34,43 @@ module.exports = ({ port = null, config = {}, filters = {} }) => {
|
|
|
34
34
|
};
|
|
35
35
|
return res.status(status).json(data);
|
|
36
36
|
});
|
|
37
|
-
app.get(config.brokerSystemcheckPath || '/systemcheck', (req, res) => {
|
|
37
|
+
app.get(config.brokerSystemcheckPath || '/systemcheck', async (req, res) => {
|
|
38
38
|
// Systemcheck is the broker client's ability to assert the network
|
|
39
39
|
// reachability and some correctness of credentials for the service
|
|
40
40
|
// being proxied by the broker client.
|
|
41
41
|
const brokerClientValidationMethod = config.brokerClientValidationMethod || 'GET';
|
|
42
42
|
const brokerClientValidationTimeoutMs = config.brokerClientValidationTimeoutMs || 5000;
|
|
43
43
|
const isJsonResponse = !config.brokerClientValidationJsonDisabled;
|
|
44
|
-
const data = {
|
|
45
|
-
brokerClientValidationUrl: logger.sanitise(config.brokerClientValidationUrl),
|
|
46
|
-
brokerClientValidationMethod,
|
|
47
|
-
brokerClientValidationTimeoutMs,
|
|
48
|
-
};
|
|
49
|
-
const validationRequestHeaders = {
|
|
50
|
-
'user-agent': 'Snyk Broker client ' + version,
|
|
51
|
-
};
|
|
52
44
|
// set auth header according to config
|
|
53
|
-
|
|
54
|
-
validationRequestHeaders.authorization =
|
|
55
|
-
config.brokerClientValidationAuthorizationHeader;
|
|
56
|
-
}
|
|
57
|
-
else if (config.brokerClientValidationBasicAuth) {
|
|
58
|
-
validationRequestHeaders.authorization = `Basic ${Buffer.from(config.brokerClientValidationBasicAuth).toString('base64')}`;
|
|
59
|
-
}
|
|
45
|
+
let { auths, rawCreds } = loadCredentialsFromConfig(config);
|
|
60
46
|
// make the internal validation request
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
if (process.env.TAP) {
|
|
74
|
-
data.testError = error;
|
|
75
|
-
data.testResponse = response;
|
|
47
|
+
const validationResults = [];
|
|
48
|
+
let errorOccurred = true;
|
|
49
|
+
if (auths.length > 0) {
|
|
50
|
+
for (let i = 0; i < auths.length; i++) {
|
|
51
|
+
logger.info(`Checking if credentials at index ${i} are valid`);
|
|
52
|
+
const auth = auths[i];
|
|
53
|
+
const rawCred = rawCreds[i];
|
|
54
|
+
let { data, errorOccurred: err } = await checkCredentials(auth, config, brokerClientValidationMethod, brokerClientValidationTimeoutMs, isJsonResponse);
|
|
55
|
+
data.maskedCredentials = rawCred.length <= 6 ? '***' : `${rawCred.substring(0, 3)}***${rawCred.substring(rawCred.length - 3)}`;
|
|
56
|
+
validationResults.push(data);
|
|
57
|
+
errorOccurred = err;
|
|
58
|
+
logger.info("Credentials checked");
|
|
76
59
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
: 'Status code is not 2xx';
|
|
92
|
-
logger.error(data, response && response.body, 'Systemcheck failed');
|
|
93
|
-
return res.status(500).json(data);
|
|
94
|
-
}
|
|
95
|
-
data.ok = true;
|
|
96
|
-
return res.status(200).json(data);
|
|
97
|
-
});
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
logger.info("No credentials specified - checking if target can be accessed without credentials");
|
|
63
|
+
let { data, errorOccurred: err } = await checkCredentials(null, config, brokerClientValidationMethod, brokerClientValidationTimeoutMs, isJsonResponse);
|
|
64
|
+
data.maskedCredentials = null;
|
|
65
|
+
validationResults.push(data);
|
|
66
|
+
errorOccurred = err;
|
|
67
|
+
}
|
|
68
|
+
if (errorOccurred) {
|
|
69
|
+
return res.status(500).json(validationResults);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
return res.status(200).json(validationResults);
|
|
73
|
+
}
|
|
98
74
|
});
|
|
99
75
|
// relay all other URL paths
|
|
100
76
|
app.all('/*', (req, res, next) => {
|
|
@@ -115,4 +91,90 @@ module.exports = ({ port = null, config = {}, filters = {} }) => {
|
|
|
115
91
|
},
|
|
116
92
|
};
|
|
117
93
|
};
|
|
94
|
+
function credsFromHeader(s) {
|
|
95
|
+
if (s.indexOf(" ") >= 0) {
|
|
96
|
+
return s.substring(s.indexOf(" ") + 1);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
return s;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
function loadCredentialsFromConfig(config) {
|
|
103
|
+
let auths = [];
|
|
104
|
+
let rawCreds = [];
|
|
105
|
+
if (config.brokerClientValidationAuthorizationHeaderPool) {
|
|
106
|
+
auths = config.brokerClientValidationAuthorizationHeaderPool;
|
|
107
|
+
rawCreds = config.brokerClientValidationAuthorizationHeaderPool.map(credsFromHeader);
|
|
108
|
+
}
|
|
109
|
+
else if (config.brokerClientValidationBasicAuthPool) {
|
|
110
|
+
auths = config.brokerClientValidationBasicAuthPool.map(s => `Basic ${Buffer.from(s).toString('base64')}`);
|
|
111
|
+
rawCreds = config.brokerClientValidationBasicAuthPool;
|
|
112
|
+
}
|
|
113
|
+
else if (config.brokerClientValidationAuthorizationHeader) {
|
|
114
|
+
auths.push(config.brokerClientValidationAuthorizationHeader);
|
|
115
|
+
rawCreds.push(config.brokerClientValidationAuthorizationHeader);
|
|
116
|
+
rawCreds = rawCreds.map(credsFromHeader);
|
|
117
|
+
}
|
|
118
|
+
else if (config.brokerClientValidationBasicAuth) {
|
|
119
|
+
auths.push(`Basic ${Buffer.from(config.brokerClientValidationBasicAuth).toString('base64')}`);
|
|
120
|
+
rawCreds.push(config.brokerClientValidationBasicAuth);
|
|
121
|
+
}
|
|
122
|
+
return { auths, rawCreds };
|
|
123
|
+
}
|
|
124
|
+
async function checkCredentials(auth, config, brokerClientValidationMethod, brokerClientValidationTimeoutMs, isJsonResponse) {
|
|
125
|
+
const data = {
|
|
126
|
+
brokerClientValidationUrl: logger.sanitise(config.brokerClientValidationUrl),
|
|
127
|
+
brokerClientValidationMethod,
|
|
128
|
+
brokerClientValidationTimeoutMs,
|
|
129
|
+
};
|
|
130
|
+
const validationRequestHeaders = {
|
|
131
|
+
'user-agent': 'Snyk Broker client ' + version,
|
|
132
|
+
};
|
|
133
|
+
if (auth) {
|
|
134
|
+
validationRequestHeaders.authorization = auth;
|
|
135
|
+
}
|
|
136
|
+
let errorOccurred = true;
|
|
137
|
+
// This was originally `request`, but `await` is a lot easier to understand than nested callback hell.
|
|
138
|
+
await rp({
|
|
139
|
+
url: config.brokerClientValidationUrl,
|
|
140
|
+
headers: validationRequestHeaders,
|
|
141
|
+
method: brokerClientValidationMethod,
|
|
142
|
+
timeout: brokerClientValidationTimeoutMs,
|
|
143
|
+
json: isJsonResponse,
|
|
144
|
+
resolveWithFullResponse: true,
|
|
145
|
+
agentOptions: {
|
|
146
|
+
ca: config.caCert,
|
|
147
|
+
},
|
|
148
|
+
}).then(response => {
|
|
149
|
+
// test logic requires to surface internal data
|
|
150
|
+
// which is best not exposed in production
|
|
151
|
+
if (process.env.TAP) {
|
|
152
|
+
data.testResponse = response;
|
|
153
|
+
}
|
|
154
|
+
const responseStatusCode = response && response.statusCode;
|
|
155
|
+
data.brokerClientValidationUrlStatusCode = responseStatusCode;
|
|
156
|
+
// check for 2xx status code
|
|
157
|
+
const goodStatusCode = /^2/.test(responseStatusCode);
|
|
158
|
+
if (!goodStatusCode) {
|
|
159
|
+
data.ok = false;
|
|
160
|
+
data.error =
|
|
161
|
+
responseStatusCode === 401 || responseStatusCode === 403
|
|
162
|
+
? 'Failed due to invalid credentials'
|
|
163
|
+
: 'Status code is not 2xx';
|
|
164
|
+
logger.error(data, response && response.body, 'Systemcheck failed');
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
errorOccurred = false;
|
|
168
|
+
data.ok = true;
|
|
169
|
+
}).catch(error => {
|
|
170
|
+
// test logic requires to surface internal data
|
|
171
|
+
// which is best not exposed in production
|
|
172
|
+
if (process.env.TAP) {
|
|
173
|
+
data.testError = error;
|
|
174
|
+
}
|
|
175
|
+
data.ok = false;
|
|
176
|
+
data.error = error.message;
|
|
177
|
+
});
|
|
178
|
+
return { data, errorOccurred };
|
|
179
|
+
}
|
|
118
180
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/client/index.js"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/client/index.js"],"names":[],"mappings":"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"}
|
package/dist/lib/config.js
CHANGED
|
@@ -11,19 +11,59 @@ function camelify(res) {
|
|
|
11
11
|
}, {});
|
|
12
12
|
}
|
|
13
13
|
function expandValue(obj, value) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
let poolFound = undefined;
|
|
15
|
+
let keyWithPool = undefined;
|
|
16
|
+
const variableRegex = /(\\?\$.+?\b)/g;
|
|
17
|
+
const variableMatcher = value.match(variableRegex);
|
|
18
|
+
if (variableMatcher) {
|
|
19
|
+
for (const key of variableMatcher) {
|
|
20
|
+
if (key[0] === "$" && obj[(key.slice(1) + "_POOL")]) {
|
|
21
|
+
keyWithPool = key.slice(1);
|
|
22
|
+
poolFound = (key.slice(1) + "_POOL");
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
18
25
|
}
|
|
19
|
-
|
|
20
|
-
|
|
26
|
+
}
|
|
27
|
+
if (poolFound) {
|
|
28
|
+
const values = [];
|
|
29
|
+
let pool;
|
|
30
|
+
if (Array.isArray(obj[poolFound])) {
|
|
31
|
+
pool = obj[poolFound];
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
pool = obj[poolFound].split(",").map(s => s.trim());
|
|
35
|
+
obj[poolFound] = pool;
|
|
36
|
+
}
|
|
37
|
+
for (const o of pool) {
|
|
38
|
+
values.push(value.replace(variableRegex, (all, key) => {
|
|
39
|
+
if (key[0] === '$') {
|
|
40
|
+
const keyToReplace = key.slice(1);
|
|
41
|
+
return keyToReplace === keyWithPool ? o : (obj[keyToReplace] || key);
|
|
42
|
+
}
|
|
43
|
+
return key;
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
return values;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
return value.replace(variableRegex, (all, key) => {
|
|
50
|
+
if (key[0] === '$') {
|
|
51
|
+
const keyToReplace = key.slice(1);
|
|
52
|
+
return obj[keyToReplace] || key;
|
|
53
|
+
}
|
|
54
|
+
return key;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
21
57
|
}
|
|
22
58
|
function expand(obj) {
|
|
23
59
|
const keys = Object.keys(obj);
|
|
24
60
|
for (const key of keys) {
|
|
25
61
|
const value = expandValue(obj, obj[key]);
|
|
26
|
-
if (value
|
|
62
|
+
if (value && Array.isArray(value)) {
|
|
63
|
+
// This will get camel-cased later on
|
|
64
|
+
obj[(key + "_POOL")] = value;
|
|
65
|
+
}
|
|
66
|
+
else if (value !== obj[key]) {
|
|
27
67
|
obj[key] = value;
|
|
28
68
|
}
|
|
29
69
|
}
|
|
@@ -40,5 +80,10 @@ const res = Object.assign({}, camelify(config), camelify(process.env));
|
|
|
40
80
|
if (res.caCert) {
|
|
41
81
|
res.caCert = fs.readFileSync(path.resolve(process.cwd(), res.caCert));
|
|
42
82
|
}
|
|
83
|
+
for (const [key, value] of Object.entries(res)) {
|
|
84
|
+
if ((key.endsWith("Pool") || key.endsWith("_POOL")) && !Array.isArray(value)) {
|
|
85
|
+
res[key] = value.split(",").map(s => s.trim());
|
|
86
|
+
}
|
|
87
|
+
}
|
|
43
88
|
module.exports = res;
|
|
44
89
|
//# sourceMappingURL=config.js.map
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/config.js"],"names":[],"mappings":"AAAA,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAEvC,MAAM,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/config.js"],"names":[],"mappings":"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"}
|
package/dist/lib/filters.js
CHANGED
|
@@ -43,6 +43,7 @@ module.exports = (ruleSource) => {
|
|
|
43
43
|
const tests = rules.map((entry) => {
|
|
44
44
|
const keys = [];
|
|
45
45
|
let { method, origin, path: entryPath, valid } = entry;
|
|
46
|
+
const baseOrigin = origin;
|
|
46
47
|
const { stream } = entry;
|
|
47
48
|
method = (method || 'get').toLowerCase();
|
|
48
49
|
valid = valid || [];
|
|
@@ -58,7 +59,6 @@ module.exports = (ruleSource) => {
|
|
|
58
59
|
fromConfig[key] = config[key] || '';
|
|
59
60
|
return ':' + key;
|
|
60
61
|
});
|
|
61
|
-
origin = replace(origin, config);
|
|
62
62
|
if (entryPath[0] !== '/') {
|
|
63
63
|
entryPath = '/' + entryPath;
|
|
64
64
|
}
|
|
@@ -136,6 +136,7 @@ module.exports = (ruleSource) => {
|
|
|
136
136
|
return false;
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
|
+
const origin = replace(baseOrigin, config);
|
|
139
140
|
logger.debug({ path: entryPath, origin, url, querystring }, 'rule matched');
|
|
140
141
|
querystring = querystring ? `?${querystring}` : '';
|
|
141
142
|
return {
|
package/dist/lib/filters.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../lib/filters.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../lib/filters.js"],"names":[],"mappings":"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"}
|
package/dist/lib/replace-vars.js
CHANGED
|
@@ -5,7 +5,26 @@ module.exports = {
|
|
|
5
5
|
function replace(input, source) {
|
|
6
6
|
return (input || '').replace(/(\${.*?})/g, (_, match) => {
|
|
7
7
|
const key = match.slice(2, -1); // ditch the wrappers
|
|
8
|
-
|
|
8
|
+
let poolName;
|
|
9
|
+
let poolIndex;
|
|
10
|
+
if (source[(key + "_POOL")]) {
|
|
11
|
+
poolName = key + "_POOL";
|
|
12
|
+
poolIndex = key + "_POOL_IDX";
|
|
13
|
+
}
|
|
14
|
+
else if (source[(key + "Pool")]) {
|
|
15
|
+
poolName = key + "Pool";
|
|
16
|
+
poolIndex = key + "PoolIdx";
|
|
17
|
+
}
|
|
18
|
+
const pool = source[poolName];
|
|
19
|
+
let idx;
|
|
20
|
+
if (pool) {
|
|
21
|
+
idx = source[poolIndex] || 0;
|
|
22
|
+
if (idx >= pool.length) {
|
|
23
|
+
idx = 0;
|
|
24
|
+
}
|
|
25
|
+
source[poolIndex] = idx + 1;
|
|
26
|
+
}
|
|
27
|
+
return pool ? pool[idx] : source[key] || '';
|
|
9
28
|
});
|
|
10
29
|
}
|
|
11
30
|
function replaceUrlPartialChunk(chunk, prevPartial, config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replace-vars.js","sourceRoot":"","sources":["../../lib/replace-vars.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,GAAG;IACf,OAAO;IACP,sBAAsB;CACvB,CAAC;AAEF,SAAS,OAAO,CAAC,KAAK,EAAE,MAAM;IAC5B,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"replace-vars.js","sourceRoot":"","sources":["../../lib/replace-vars.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,GAAG;IACf,OAAO;IACP,sBAAsB;CACvB,CAAC;AAEF,SAAS,OAAO,CAAC,KAAK,EAAE,MAAM;IAC5B,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QACpD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB;QACrD,IAAI,QAAQ,CAAC;QACb,IAAI,SAAS,CAAC;QACd,IAAI,MAAM,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE;YACzB,QAAQ,GAAG,GAAG,GAAG,OAAO,CAAC;YACzB,SAAS,GAAG,GAAG,GAAG,WAAW,CAAC;SACjC;aAAM,IAAI,MAAM,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE;YAC/B,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC;YACxB,SAAS,GAAG,GAAG,GAAG,SAAS,CAAC;SAC/B;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,GAAG,CAAC;QACR,IAAI,IAAI,EAAE;YACN,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;gBACpB,GAAG,GAAG,CAAC,CAAC;aACX;YACD,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;SAC/B;QAED,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM;IACxD,sCAAsC;IACtC,MAAM,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAE7E,oDAAoD;IACpD,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,YAAY,eAAe,EAAE,EAAE,GAAG,CAAC,CAAC;IAErE,+BAA+B;IAC/B,MAAM,WAAW,GAAG,wCAAwC,MAAM,CAAC,YAAY,EAAE,CAAC;IAElF,IAAI,WAAW,EAAE;QACf,KAAK,GAAG,WAAW,GAAG,KAAK,CAAC;KAC7B;IAED,aAAa;IACb,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAElD,MAAM,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACjD,IAAI,OAAO,CAAC;IACZ,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QACvD,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACpE,OAAO,GAAG,iBAAiB,CAAC;KAC7B;IACD,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,OAAO;KACR,CAAC;AACJ,CAAC"}
|
package/dist/package.json
CHANGED
|
@@ -73,6 +73,7 @@
|
|
|
73
73
|
"prom-client": "^11.5.3",
|
|
74
74
|
"qs": "^6.9.1",
|
|
75
75
|
"request": "^2.88.1",
|
|
76
|
+
"request-promise-native": "^1.0.9",
|
|
76
77
|
"snyk-config": "^4.0.0-rc.2",
|
|
77
78
|
"then-fs": "^2.0.0",
|
|
78
79
|
"tunnel": "0.0.6",
|
|
@@ -88,5 +89,5 @@
|
|
|
88
89
|
},
|
|
89
90
|
"homepage": "https://github.com/snyk/broker#readme",
|
|
90
91
|
"snyk": true,
|
|
91
|
-
"version": "4.
|
|
92
|
+
"version": "4.130.0"
|
|
92
93
|
}
|
|
@@ -187,7 +187,7 @@
|
|
|
187
187
|
"affectsGlobalScope": false
|
|
188
188
|
},
|
|
189
189
|
"../lib/replace-vars.js": {
|
|
190
|
-
"version": "
|
|
190
|
+
"version": "b4611f66e33f277a5307069c10cd0c58451ed38ef44009134a25fcaafdecd544",
|
|
191
191
|
"signature": "01672e9115e6f8e9346e415fbdb4ef792e7f9fcceeadfd67efc5bb4319465085",
|
|
192
192
|
"affectsGlobalScope": true
|
|
193
193
|
},
|
|
@@ -202,7 +202,7 @@
|
|
|
202
202
|
"affectsGlobalScope": false
|
|
203
203
|
},
|
|
204
204
|
"../lib/config.js": {
|
|
205
|
-
"version": "
|
|
205
|
+
"version": "20e5eb159a540c7985010f938ec9611d476d3b9ab98778138f31053c5dd8a1aa",
|
|
206
206
|
"signature": "1a5d2ad609bb220242cea01850e781dee5ef3d3e76f1cfaed58ea5af42458af3",
|
|
207
207
|
"affectsGlobalScope": true
|
|
208
208
|
},
|
|
@@ -227,10 +227,15 @@
|
|
|
227
227
|
"affectsGlobalScope": true
|
|
228
228
|
},
|
|
229
229
|
"../lib/filters.js": {
|
|
230
|
-
"version": "
|
|
230
|
+
"version": "6b2f547ee4dbcbe9beac125a734cd690e66bea9707ef25f17e4e5a5331377fd1",
|
|
231
231
|
"signature": "67bfd03a26f551f78291f68cc37a74486687ccf585a52c2af941291ed0473810",
|
|
232
232
|
"affectsGlobalScope": true
|
|
233
233
|
},
|
|
234
|
+
"../lib/patch-https-request-for-proxying.js": {
|
|
235
|
+
"version": "f18422d20c464309590e3160d04e9f233bac8620c31b6471ca8770b0cbdbefa9",
|
|
236
|
+
"signature": "76c3aa0909d7c9f608b9aefdd02bc6ab50cb8894fa73b11c08da0adacf80968b",
|
|
237
|
+
"affectsGlobalScope": true
|
|
238
|
+
},
|
|
234
239
|
"../node_modules/@types/node/assert.d.ts": {
|
|
235
240
|
"version": "0ce65cf5b36034006f2b315f379179f07bd5a6027f6538c7aed4ac5be6742fc7",
|
|
236
241
|
"signature": "0ce65cf5b36034006f2b315f379179f07bd5a6027f6538c7aed4ac5be6742fc7",
|
|
@@ -466,14 +471,9 @@
|
|
|
466
471
|
"signature": "bf0b1297461549a0e32cd57dffb992c63d7c7134fe0f9e15d359abcc88dbd28c",
|
|
467
472
|
"affectsGlobalScope": false
|
|
468
473
|
},
|
|
469
|
-
"../lib/patch-https-request-for-proxying.js": {
|
|
470
|
-
"version": "f18422d20c464309590e3160d04e9f233bac8620c31b6471ca8770b0cbdbefa9",
|
|
471
|
-
"signature": "76c3aa0909d7c9f608b9aefdd02bc6ab50cb8894fa73b11c08da0adacf80968b",
|
|
472
|
-
"affectsGlobalScope": true
|
|
473
|
-
},
|
|
474
474
|
"../package.json": {
|
|
475
|
-
"version": "
|
|
476
|
-
"signature": "
|
|
475
|
+
"version": "5388053bb044663cf4e64145b92bf3e83435cea7d331cbca30e79bf8fc9948e8",
|
|
476
|
+
"signature": "40bd8294bb6887141247f7d89b91f9dae4d6952cef0ba965242b5e2df56143f6",
|
|
477
477
|
"affectsGlobalScope": true
|
|
478
478
|
},
|
|
479
479
|
"../lib/version.js": {
|
|
@@ -517,7 +517,7 @@
|
|
|
517
517
|
"affectsGlobalScope": true
|
|
518
518
|
},
|
|
519
519
|
"../lib/client/index.js": {
|
|
520
|
-
"version": "
|
|
520
|
+
"version": "2232e96fa309a00ec2d68311268417632a3db8a39a6afed59925e084373ff008",
|
|
521
521
|
"signature": "b522e357fadf7a5760145ae5b1f8673ad224f00137de357ed1b08a650b0acd54",
|
|
522
522
|
"affectsGlobalScope": true
|
|
523
523
|
},
|
|
@@ -567,8 +567,8 @@
|
|
|
567
567
|
"affectsGlobalScope": true
|
|
568
568
|
},
|
|
569
569
|
"../node_modules/@babel/types/lib/index.d.ts": {
|
|
570
|
-
"version": "
|
|
571
|
-
"signature": "
|
|
570
|
+
"version": "c561efdf5ba0b62619745d4761fe2d9756f23db972e039367d15922fed67fd2f",
|
|
571
|
+
"signature": "c561efdf5ba0b62619745d4761fe2d9756f23db972e039367d15922fed67fd2f",
|
|
572
572
|
"affectsGlobalScope": false
|
|
573
573
|
},
|
|
574
574
|
"../node_modules/@types/babel__generator/index.d.ts": {
|
|
@@ -577,8 +577,8 @@
|
|
|
577
577
|
"affectsGlobalScope": false
|
|
578
578
|
},
|
|
579
579
|
"../node_modules/@babel/parser/typings/babel-parser.d.ts": {
|
|
580
|
-
"version": "
|
|
581
|
-
"signature": "
|
|
580
|
+
"version": "7ec238b220ea991b6643e24191b1f552a65956d5f6de4c6144e700b9985265d8",
|
|
581
|
+
"signature": "7ec238b220ea991b6643e24191b1f552a65956d5f6de4c6144e700b9985265d8",
|
|
582
582
|
"affectsGlobalScope": false
|
|
583
583
|
},
|
|
584
584
|
"../node_modules/@types/babel__template/index.d.ts": {
|
|
@@ -723,8 +723,7 @@
|
|
|
723
723
|
"../lib/log.js",
|
|
724
724
|
"../lib/relay.js",
|
|
725
725
|
"../lib/version.js",
|
|
726
|
-
"../lib/webserver.js"
|
|
727
|
-
"../node_modules/@types/request/index.d.ts"
|
|
726
|
+
"../lib/webserver.js"
|
|
728
727
|
],
|
|
729
728
|
"../lib/client/socket.js": [
|
|
730
729
|
"../lib/log.js",
|
package/package.json
CHANGED
|
@@ -73,6 +73,7 @@
|
|
|
73
73
|
"prom-client": "^11.5.3",
|
|
74
74
|
"qs": "^6.9.1",
|
|
75
75
|
"request": "^2.88.1",
|
|
76
|
+
"request-promise-native": "^1.0.9",
|
|
76
77
|
"snyk-config": "^4.0.0-rc.2",
|
|
77
78
|
"then-fs": "^2.0.0",
|
|
78
79
|
"tunnel": "0.0.6",
|
|
@@ -88,5 +89,5 @@
|
|
|
88
89
|
},
|
|
89
90
|
"homepage": "https://github.com/snyk/broker#readme",
|
|
90
91
|
"snyk": true,
|
|
91
|
-
"version": "4.
|
|
92
|
+
"version": "4.130.0"
|
|
92
93
|
}
|