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 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:
@@ -1,5 +1,5 @@
1
1
  const primus = require('primus');
2
- const request = require('request');
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
- if (config.brokerClientValidationAuthorizationHeader) {
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
- request({
62
- url: config.brokerClientValidationUrl,
63
- headers: validationRequestHeaders,
64
- method: brokerClientValidationMethod,
65
- timeout: brokerClientValidationTimeoutMs,
66
- json: isJsonResponse,
67
- agentOptions: {
68
- ca: config.caCert,
69
- },
70
- }, (error, response) => {
71
- // test logic requires to surface internal data
72
- // which is best not exposed in production
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
- if (error) {
78
- data.ok = false;
79
- data.error = error.message;
80
- return res.status(500).json(data);
81
- }
82
- const responseStatusCode = response && response.statusCode;
83
- data.brokerClientValidationUrlStatusCode = responseStatusCode;
84
- // check for 2xx status code
85
- const goodStatusCode = /^2/.test(responseStatusCode);
86
- if (!goodStatusCode) {
87
- data.ok = false;
88
- data.error =
89
- responseStatusCode === 401 || responseStatusCode === 403
90
- ? 'Failed due to invalid credentials'
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/client/index.js"],"names":[],"mappings":"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"}
@@ -11,19 +11,59 @@ function camelify(res) {
11
11
  }, {});
12
12
  }
13
13
  function expandValue(obj, value) {
14
- return value.replace(/([\\]?\$.+?\b)/g, (all, key) => {
15
- if (key[0] === '$') {
16
- const keyToReplace = key.slice(1);
17
- return obj[keyToReplace] || key;
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
- return key;
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 !== obj[key]) {
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
@@ -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,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAC9C,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;AAE7C,SAAS,QAAQ,CAAC,GAAG;IACnB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACxC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,SAAS,WAAW,CAAC,GAAG,EAAE,KAAK;IAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACnD,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YAClB,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClC,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC;SACjC;QAED,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,MAAM,CAAC,GAAG;IACjB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE;YACtB,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SAClB;KACF;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,mDAAmD;AACnD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEjC,MAAM,CAAC,MAAM,CAAC;IACZ,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAEpB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAEvE,IAAI,GAAG,CAAC,MAAM,EAAE;IACd,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACvE;AAED,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/config.js"],"names":[],"mappings":"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"}
@@ -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 {
@@ -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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"}
@@ -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
- return source[key] || '';
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;QACtD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB;QACrD,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,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"}
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.129.2"
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": "ca3cbbfccfa90466a18786a7a0de9ccd35f21cb3672cb53f6d0771b3ebd30f59",
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": "33bc5456381bb459cad0d6a7b4f74978e0922bfaf375c4d35c5ffc94ef316e27",
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": "e0a3e466d9060921c34a61623da324eb5b7da1a37408d979731088e87a82e292",
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": "17d1edc56dac0c5c4148d2b257db4bb82c788db27c8818134023b4367d2bab6a",
476
- "signature": "4b7aff601ec65d9674146cc6cb2de0e47e8d203c86a24ccb3d43fbf25afffb24",
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": "ab99db0dcc709d771732e32743f46f92063f466111d84ea5f15b239141460034",
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": "ef178bff7cb17db8a2f3535f947f54cf6c22de8f87f9727cb340754c56c212ec",
571
- "signature": "ef178bff7cb17db8a2f3535f947f54cf6c22de8f87f9727cb340754c56c212ec",
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": "a46a2e69d12afe63876ec1e58d70e5dbee6d3e74132f4468f570c3d69f809f1c",
581
- "signature": "a46a2e69d12afe63876ec1e58d70e5dbee6d3e74132f4468f570c3d69f809f1c",
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.129.2"
92
+ "version": "4.130.0"
92
93
  }