@prosopo/load-balancer 2.11.25 → 2.11.27

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.
@@ -27,9 +27,9 @@ rendering chunks...
27
27
  computing gzip size...
28
28
  dist/cjs/retry.cjs 1.27 kB │ gzip: 0.62 kB
29
29
  dist/cjs/providerUrlOverride.cjs 1.42 kB │ gzip: 0.78 kB
30
- dist/cjs/developmentProviderUrl.cjs 1.81 kB │ gzip: 0.88 kB
30
+ dist/cjs/developmentProviderUrl.cjs 1.88 kB │ gzip: 0.92 kB
31
31
  dist/cjs/index.cjs 1.94 kB │ gzip: 0.47 kB
32
- dist/cjs/balancer.cjs 5.01 kB │ gzip: 2.15 kB
33
- dist/cjs/providers.cjs 7.56 kB │ gzip: 2.57 kB
32
+ dist/cjs/balancer.cjs 5.04 kB │ gzip: 2.15 kB
33
+ dist/cjs/providers.cjs 7.72 kB │ gzip: 2.61 kB
34
34
 
35
- ✓ built in 81ms
35
+ ✓ built in 50ms
@@ -29,8 +29,8 @@ dist/esm/_virtual/_rolldown/runtime.js 0.04 kB │ gzip: 0.06 kB
29
29
  dist/esm/index.js 1.20 kB │ gzip: 0.36 kB
30
30
  dist/esm/retry.js 1.23 kB │ gzip: 0.61 kB
31
31
  dist/esm/providerUrlOverride.js 1.39 kB │ gzip: 0.77 kB
32
- dist/esm/developmentProviderUrl.js 1.70 kB │ gzip: 0.87 kB
32
+ dist/esm/developmentProviderUrl.js 1.76 kB │ gzip: 0.89 kB
33
33
  dist/esm/balancer.js 4.72 kB │ gzip: 2.11 kB
34
- dist/esm/providers.js 7.19 kB │ gzip: 2.53 kB
34
+ dist/esm/providers.js 7.28 kB │ gzip: 2.56 kB
35
35
 
36
- ✓ built in 85ms
36
+ ✓ built in 58ms
@@ -1,5 +1,5 @@
1
1
  $ tsc --build --verbose
2
- 4:56:16 PM - Projects in this build:
2
+ 10:06:44 AM - Projects in this build:
3
3
  * ../../dev/config/tsconfig.json
4
4
  * ../util/tsconfig.json
5
5
  * ../locale/tsconfig.json
@@ -8,19 +8,19 @@ $ tsc --build --verbose
8
8
  * ../common/tsconfig.json
9
9
  * tsconfig.json
10
10
 
11
- 4:56:16 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/dist/tsc/tsconfig.tsbuildinfo'
11
+ 10:06:44 AM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/dist/tsc/tsconfig.tsbuildinfo'
12
12
 
13
- 4:56:16 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/dist/tsc/tsconfig.tsbuildinfo'
13
+ 10:06:44 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/dist/tsc/tsconfig.tsbuildinfo'
14
14
 
15
- 4:56:16 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/dist/tsc/tsconfig.tsbuildinfo'
15
+ 10:06:44 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/dist/tsc/tsconfig.tsbuildinfo'
16
16
 
17
- 4:56:16 PM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/dist/tsc/tsconfig.tsbuildinfo'
17
+ 10:06:44 AM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/dist/tsc/tsconfig.tsbuildinfo'
18
18
 
19
- 4:56:16 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/dist/tsc/tsconfig.tsbuildinfo'
19
+ 10:06:44 AM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/dist/tsc/tsconfig.tsbuildinfo'
20
20
 
21
- 4:56:16 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/tests/errorSites.unit.test.ts' is older than output '../common/dist/tsc/tsconfig.tsbuildinfo'
21
+ 10:06:44 AM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/error.ts' is older than output '../common/dist/tsc/tsconfig.tsbuildinfo'
22
22
 
23
- 4:56:16 PM - Project 'tsconfig.json' is out of date because output file 'dist/tsc/tsconfig.tsbuildinfo' does not exist
23
+ 10:06:44 AM - Project 'tsconfig.json' is out of date because output file 'dist/tsc/tsconfig.tsbuildinfo' does not exist
24
24
 
25
- 4:56:16 PM - Building project '/home/runner/work/captcha/captcha/packages/load-balancer/tsconfig.json'...
25
+ 10:06:44 AM - Building project '/home/runner/work/captcha/captcha/packages/load-balancer/tsconfig.json'...
26
26
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @prosopo/load-balancer
2
2
 
3
+ ## 2.11.27
4
+ ### Patch Changes
5
+
6
+ - Updated dependencies [e1cb7f4]
7
+ - Updated dependencies [7caad4c]
8
+ - Updated dependencies [6b96e77]
9
+ - Updated dependencies [a191c21]
10
+ - @prosopo/types@5.27.0
11
+ - @prosopo/util@3.6.1
12
+ - @prosopo/common@3.3.2
13
+
14
+ ## 2.11.26
15
+ ### Patch Changes
16
+
17
+ - 1ba238e: Add `joinUrl` and `stripTrailingSlashes` to `@prosopo/util` and use them instead of each package's own slash handling, so a base URL ending in `/` no longer produces a `//` path.
18
+ - Updated dependencies [d9520ea]
19
+ - Updated dependencies [1ba238e]
20
+ - @prosopo/types@5.26.0
21
+ - @prosopo/util@3.6.0
22
+ - @prosopo/common@3.3.2
23
+
3
24
  ## 2.11.25
4
25
  ### Patch Changes
5
26
 
@@ -1,5 +1,6 @@
1
1
  const require_developmentProviderUrl = require("./developmentProviderUrl.cjs");
2
2
  const require_providerUrlOverride = require("./providerUrlOverride.cjs");
3
+ let _prosopo_util = require("@prosopo/util");
3
4
  let _prosopo_common = require("@prosopo/common");
4
5
  //#region src/balancer.ts
5
6
  /**
@@ -28,8 +29,7 @@ var stripIpModeLabel = (hostname) => hostname.replace(/^ipv[46]\./, "");
28
29
  var getProviderHostname = (provider) => stripIpModeLabel(new URL(provider.url).hostname);
29
30
  var SELF_HOSTED_ADDRESS = "self-hosted";
30
31
  var SELF_HOSTED_DATASET_ID = "";
31
- var stripTrailingSlash = (url) => url.replace(/\/$/, "");
32
- var providersFromUrlList = (raw) => raw.split(",").map((url) => stripTrailingSlash(url.trim())).filter((url) => url.length > 0).map((url) => ({
32
+ var providersFromUrlList = (raw) => raw.split(",").map((url) => (0, _prosopo_util.stripTrailingSlashes)(url.trim())).filter((url) => url.length > 0).map((url) => ({
33
33
  address: SELF_HOSTED_ADDRESS,
34
34
  url,
35
35
  datasetId: SELF_HOSTED_DATASET_ID,
@@ -60,7 +60,7 @@ var getProviderListOverride = (raw = require_providerUrlOverride.readProviderLis
60
60
  try {
61
61
  return convertHostedProvider(JSON.parse(trimmed), ipMode).map((provider) => ({
62
62
  ...provider,
63
- url: stripTrailingSlash(provider.url)
63
+ url: (0, _prosopo_util.stripTrailingSlashes)(provider.url)
64
64
  }));
65
65
  } catch {
66
66
  return [];
@@ -1,3 +1,4 @@
1
+ let _prosopo_util = require("@prosopo/util");
1
2
  //#region src/developmentProviderUrl.ts
2
3
  /**
3
4
  * Where a development widget looks for its provider.
@@ -32,7 +33,7 @@ var readDevelopmentProviderUrlOverride = () => {
32
33
  };
33
34
  var getDevelopmentProviderUrl = (override = readDevelopmentProviderUrlOverride()) => {
34
35
  const trimmed = override?.trim();
35
- return trimmed ? trimmed.replace(/\/$/, "") : DEFAULT_DEVELOPMENT_PROVIDER_URL;
36
+ return trimmed ? (0, _prosopo_util.stripTrailingSlashes)(trimmed) : DEFAULT_DEVELOPMENT_PROVIDER_URL;
36
37
  };
37
38
  //#endregion
38
39
  exports.DEFAULT_DEVELOPMENT_PROVIDER_URL = DEFAULT_DEVELOPMENT_PROVIDER_URL;
@@ -1,6 +1,7 @@
1
1
  const require_developmentProviderUrl = require("./developmentProviderUrl.cjs");
2
2
  const require_balancer = require("./balancer.cjs");
3
3
  const require_retry = require("./retry.cjs");
4
+ let _prosopo_util = require("@prosopo/util");
4
5
  //#region src/providers.ts
5
6
  var dnsEndpoints = () => ({
6
7
  development: require_developmentProviderUrl.getDevelopmentProviderUrl(),
@@ -13,7 +14,7 @@ var applyIpModeToUrl = (url, ipMode) => {
13
14
  try {
14
15
  const parsed = new URL(url);
15
16
  parsed.hostname = withIpModeLabel(parsed.hostname, ipMode);
16
- return parsed.toString().replace(/\/$/, "");
17
+ return (0, _prosopo_util.stripTrailingSlashes)(parsed.toString());
17
18
  } catch {
18
19
  return url;
19
20
  }
@@ -27,7 +28,7 @@ var healthzMaxAttempts = HEALTHZ_MAX_ATTEMPTS;
27
28
  var healthzRetryBaseDelayMs = HEALTHZ_RETRY_BASE_DELAY_MS;
28
29
  var healthzRetryMaxDelayMs = HEALTHZ_RETRY_MAX_DELAY_MS;
29
30
  var fetchPinnedHost = async (baseUrl) => {
30
- const res = await fetch(`${baseUrl}/healthz`, {
31
+ const res = await fetch((0, _prosopo_util.joinUrl)(baseUrl, "healthz"), {
31
32
  method: "GET",
32
33
  cache: "no-store",
33
34
  credentials: "omit"
@@ -62,7 +63,7 @@ var resolvePinnedUrl = async (env, ipMode) => {
62
63
  const host = await fetchPinnedHostWithRetry(base);
63
64
  const parsed = new URL(base);
64
65
  parsed.hostname = withIpModeLabel(host, ipMode);
65
- return parsed.toString().replace(/\/$/, "");
66
+ return (0, _prosopo_util.stripTrailingSlashes)(parsed.toString());
66
67
  } catch (err) {
67
68
  pinPromiseCache.delete(key);
68
69
  throw err;
@@ -121,7 +122,7 @@ var getRandomActiveProvider = async (env, ipMode) => {
121
122
  provider: { url: await resolvePinnedUrl(env, ipMode) }
122
123
  };
123
124
  };
124
- var sameProviderUrl = (a, b) => a.replace(/\/$/, "") === b.replace(/\/$/, "");
125
+ var sameProviderUrl = (a, b) => (0, _prosopo_util.stripTrailingSlashes)(a) === (0, _prosopo_util.stripTrailingSlashes)(b);
125
126
  var pickWeightedProvider = (providers, random) => {
126
127
  const totalWeight = providers.reduce((sum, p) => sum + p.weight, 0);
127
128
  let threshold = random() * totalWeight;
@@ -1,5 +1,6 @@
1
1
  import { getDevelopmentProviderUrl } from "./developmentProviderUrl.js";
2
2
  import { readProviderListOverride } from "./providerUrlOverride.js";
3
+ import { stripTrailingSlashes } from "@prosopo/util";
3
4
  import { ProsopoError } from "@prosopo/common";
4
5
  //#region src/balancer.ts
5
6
  /**
@@ -28,8 +29,7 @@ var stripIpModeLabel = (hostname) => hostname.replace(/^ipv[46]\./, "");
28
29
  var getProviderHostname = (provider) => stripIpModeLabel(new URL(provider.url).hostname);
29
30
  var SELF_HOSTED_ADDRESS = "self-hosted";
30
31
  var SELF_HOSTED_DATASET_ID = "";
31
- var stripTrailingSlash = (url) => url.replace(/\/$/, "");
32
- var providersFromUrlList = (raw) => raw.split(",").map((url) => stripTrailingSlash(url.trim())).filter((url) => url.length > 0).map((url) => ({
32
+ var providersFromUrlList = (raw) => raw.split(",").map((url) => stripTrailingSlashes(url.trim())).filter((url) => url.length > 0).map((url) => ({
33
33
  address: SELF_HOSTED_ADDRESS,
34
34
  url,
35
35
  datasetId: SELF_HOSTED_DATASET_ID,
@@ -60,7 +60,7 @@ var getProviderListOverride = (raw = readProviderListOverride(), ipMode) => {
60
60
  try {
61
61
  return convertHostedProvider(JSON.parse(trimmed), ipMode).map((provider) => ({
62
62
  ...provider,
63
- url: stripTrailingSlash(provider.url)
63
+ url: stripTrailingSlashes(provider.url)
64
64
  }));
65
65
  } catch {
66
66
  return [];
@@ -1,3 +1,4 @@
1
+ import { stripTrailingSlashes } from "@prosopo/util";
1
2
  //#region src/developmentProviderUrl.ts
2
3
  /**
3
4
  * Where a development widget looks for its provider.
@@ -32,7 +33,7 @@ var readDevelopmentProviderUrlOverride = () => {
32
33
  };
33
34
  var getDevelopmentProviderUrl = (override = readDevelopmentProviderUrlOverride()) => {
34
35
  const trimmed = override?.trim();
35
- return trimmed ? trimmed.replace(/\/$/, "") : DEFAULT_DEVELOPMENT_PROVIDER_URL;
36
+ return trimmed ? stripTrailingSlashes(trimmed) : DEFAULT_DEVELOPMENT_PROVIDER_URL;
36
37
  };
37
38
  //#endregion
38
39
  export { DEFAULT_DEVELOPMENT_PROVIDER_URL, getDevelopmentProviderUrl, readDevelopmentProviderUrlOverride };
@@ -1,6 +1,7 @@
1
1
  import { getDevelopmentProviderUrl } from "./developmentProviderUrl.js";
2
2
  import { getProviderListOverride, loadBalancer } from "./balancer.js";
3
3
  import { retryWithBackoff } from "./retry.js";
4
+ import { joinUrl, stripTrailingSlashes } from "@prosopo/util";
4
5
  //#region src/providers.ts
5
6
  var dnsEndpoints = () => ({
6
7
  development: getDevelopmentProviderUrl(),
@@ -13,7 +14,7 @@ var applyIpModeToUrl = (url, ipMode) => {
13
14
  try {
14
15
  const parsed = new URL(url);
15
16
  parsed.hostname = withIpModeLabel(parsed.hostname, ipMode);
16
- return parsed.toString().replace(/\/$/, "");
17
+ return stripTrailingSlashes(parsed.toString());
17
18
  } catch {
18
19
  return url;
19
20
  }
@@ -27,7 +28,7 @@ var healthzMaxAttempts = HEALTHZ_MAX_ATTEMPTS;
27
28
  var healthzRetryBaseDelayMs = HEALTHZ_RETRY_BASE_DELAY_MS;
28
29
  var healthzRetryMaxDelayMs = HEALTHZ_RETRY_MAX_DELAY_MS;
29
30
  var fetchPinnedHost = async (baseUrl) => {
30
- const res = await fetch(`${baseUrl}/healthz`, {
31
+ const res = await fetch(joinUrl(baseUrl, "healthz"), {
31
32
  method: "GET",
32
33
  cache: "no-store",
33
34
  credentials: "omit"
@@ -62,7 +63,7 @@ var resolvePinnedUrl = async (env, ipMode) => {
62
63
  const host = await fetchPinnedHostWithRetry(base);
63
64
  const parsed = new URL(base);
64
65
  parsed.hostname = withIpModeLabel(host, ipMode);
65
- return parsed.toString().replace(/\/$/, "");
66
+ return stripTrailingSlashes(parsed.toString());
66
67
  } catch (err) {
67
68
  pinPromiseCache.delete(key);
68
69
  throw err;
@@ -121,7 +122,7 @@ var getRandomActiveProvider = async (env, ipMode) => {
121
122
  provider: { url: await resolvePinnedUrl(env, ipMode) }
122
123
  };
123
124
  };
124
- var sameProviderUrl = (a, b) => a.replace(/\/$/, "") === b.replace(/\/$/, "");
125
+ var sameProviderUrl = (a, b) => stripTrailingSlashes(a) === stripTrailingSlashes(b);
125
126
  var pickWeightedProvider = (providers, random) => {
126
127
  const totalWeight = providers.reduce((sum, p) => sum + p.weight, 0);
127
128
  let threshold = random() * totalWeight;
@@ -1 +1 @@
1
- {"version":3,"file":"balancer.d.ts","sourceRoot":"","sources":["../../src/balancer.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIvD,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CACf;AAkCD,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAQrC,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAK/C,eAAO,MAAM,qBAAqB,aACvB,eAAe,WAChB,MAAM,KACb,iBAAiB,EAUnB,CAAC;AAKF,eAAO,MAAM,gBAAgB,aAAc,MAAM,KAAG,MACjB,CAAC;AAEpC,eAAO,MAAM,mBAAmB,aAAc,iBAAiB,KAAG,MACjB,CAAC;AA0ClD,eAAO,MAAM,uBAAuB,SAC9B,MAAM,GAAG,SAAS,WACd,MAAM,KACb,iBAAiB,EAiBnB,CAAC;AAEF,eAAO,MAAM,kBAAkB,gBAAiB,gBAAgB,KAAG,MAalE,CAAC;AAQF,eAAO,MAAM,8BAA8B,QAAS,CAAC;AAUrD,eAAO,MAAM,YAAY,gBACX,gBAAgB,WACpB,MAAM,cACJ,MAAM,KACf,OAAO,CAAC,iBAAiB,EAAE,CAoC7B,CAAC"}
1
+ {"version":3,"file":"balancer.d.ts","sourceRoot":"","sources":["../../src/balancer.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAKvD,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CACf;AAkCD,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAQrC,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAK/C,eAAO,MAAM,qBAAqB,aACvB,eAAe,WAChB,MAAM,KACb,iBAAiB,EAUnB,CAAC;AAKF,eAAO,MAAM,gBAAgB,aAAc,MAAM,KAAG,MACjB,CAAC;AAEpC,eAAO,MAAM,mBAAmB,aAAc,iBAAiB,KAAG,MACjB,CAAC;AAwClD,eAAO,MAAM,uBAAuB,SAC9B,MAAM,GAAG,SAAS,WACd,MAAM,KACb,iBAAiB,EAiBnB,CAAC;AAEF,eAAO,MAAM,kBAAkB,gBAAiB,gBAAgB,KAAG,MAalE,CAAC;AAQF,eAAO,MAAM,8BAA8B,QAAS,CAAC;AAUrD,eAAO,MAAM,YAAY,gBACX,gBAAgB,WACpB,MAAM,cACJ,MAAM,KACf,OAAO,CAAC,iBAAiB,EAAE,CAoC7B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { ProsopoError } from "@prosopo/common";
2
+ import { stripTrailingSlashes } from "@prosopo/util";
2
3
  import { getDevelopmentProviderUrl } from "./developmentProviderUrl.js";
3
4
  import { readProviderListOverride } from "./providerUrlOverride.js";
4
5
  const parseHardcodedProvider = (value) => {
@@ -32,10 +33,9 @@ export const stripIpModeLabel = (hostname) => hostname.replace(/^ipv[46]\./, "")
32
33
  export const getProviderHostname = (provider) => stripIpModeLabel(new URL(provider.url).hostname);
33
34
  const SELF_HOSTED_ADDRESS = "self-hosted";
34
35
  const SELF_HOSTED_DATASET_ID = "";
35
- const stripTrailingSlash = (url) => url.replace(/\/$/, "");
36
36
  const providersFromUrlList = (raw) => raw
37
37
  .split(",")
38
- .map((url) => stripTrailingSlash(url.trim()))
38
+ .map((url) => stripTrailingSlashes(url.trim()))
39
39
  .filter((url) => url.length > 0)
40
40
  .map((url) => ({
41
41
  address: SELF_HOSTED_ADDRESS,
@@ -52,7 +52,7 @@ export const getProviderListOverride = (raw = readProviderListOverride(), ipMode
52
52
  try {
53
53
  return convertHostedProvider(JSON.parse(trimmed), ipMode).map((provider) => ({
54
54
  ...provider,
55
- url: stripTrailingSlash(provider.url),
55
+ url: stripTrailingSlashes(provider.url),
56
56
  }));
57
57
  }
58
58
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"balancer.js","sourceRoot":"","sources":["../../src/balancer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"balancer.js","sourceRoot":"","sources":["../../src/balancer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"developmentProviderUrl.d.ts","sourceRoot":"","sources":["../../src/developmentProviderUrl.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,gCAAgC,2BAA2B,CAAC;AAazE,eAAO,MAAM,kCAAkC,QAAO,MAAM,GAAG,SAM9D,CAAC;AAEF,eAAO,MAAM,yBAAyB,cAC3B,MAAM,GAAG,SAAS,KAC1B,MAKF,CAAC"}
1
+ {"version":3,"file":"developmentProviderUrl.d.ts","sourceRoot":"","sources":["../../src/developmentProviderUrl.ts"],"names":[],"mappings":"AA2BA,eAAO,MAAM,gCAAgC,2BAA2B,CAAC;AAazE,eAAO,MAAM,kCAAkC,QAAO,MAAM,GAAG,SAM9D,CAAC;AAEF,eAAO,MAAM,yBAAyB,cAC3B,MAAM,GAAG,SAAS,KAC1B,MAKF,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { stripTrailingSlashes } from "@prosopo/util";
1
2
  export const DEFAULT_DEVELOPMENT_PROVIDER_URL = "https://localhost:9229";
2
3
  export const readDevelopmentProviderUrlOverride = () => {
3
4
  try {
@@ -10,7 +11,7 @@ export const readDevelopmentProviderUrlOverride = () => {
10
11
  export const getDevelopmentProviderUrl = (override = readDevelopmentProviderUrlOverride()) => {
11
12
  const trimmed = override?.trim();
12
13
  return trimmed
13
- ? trimmed.replace(/\/$/, "")
14
+ ? stripTrailingSlashes(trimmed)
14
15
  : DEFAULT_DEVELOPMENT_PROVIDER_URL;
15
16
  };
16
17
  //# sourceMappingURL=developmentProviderUrl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"developmentProviderUrl.js","sourceRoot":"","sources":["../../src/developmentProviderUrl.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAC,MAAM,gCAAgC,GAAG,wBAAwB,CAAC;AAazE,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAuB,EAAE;IAC1E,IAAI,CAAC;QACJ,OAAO,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACxC,WAA+B,kCAAkC,EAAE,EAC1D,EAAE;IACX,MAAM,OAAO,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjC,OAAO,OAAO;QACb,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAC5B,CAAC,CAAC,gCAAgC,CAAC;AACrC,CAAC,CAAC"}
1
+ {"version":3,"file":"developmentProviderUrl.js","sourceRoot":"","sources":["../../src/developmentProviderUrl.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAcrD,MAAM,CAAC,MAAM,gCAAgC,GAAG,wBAAwB,CAAC;AAazE,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAuB,EAAE;IAC1E,IAAI,CAAC;QACJ,OAAO,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACxC,WAA+B,kCAAkC,EAAE,EAC1D,EAAE;IACX,MAAM,OAAO,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjC,OAAO,OAAO;QACb,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC;QAC/B,CAAC,CAAC,gCAAgC,CAAC;AACrC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,MAAM,EAGX,MAAM,eAAe,CAAC;AA4IvB,eAAO,MAAM,oBAAoB,QAAgB,CAAC;AAKlD,eAAO,MAAM,4BAA4B,QAAY,CAAC;AAmBtD,eAAO,MAAM,YAAY,QACnB,gBAAgB,WACZ,MAAM,KACb,OAAO,CAAC,iBAAiB,EAAE,CAkB7B,CAAC;AAcF,eAAO,MAAM,YAAY,QACnB,gBAAgB,eACR,MAAM,GAAG,SAAS,WACtB,MAAM,KACb,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAgBvC,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAC9B,gBAAgB,WACZ,MAAM,KACb,OAAO,CAAC,cAAc,CAMxB,CAAC;AAoCF,eAAO,MAAM,yBAAyB,QAChC,gBAAgB,WACZ,MAAM,eACF,MAAM,WACX,MAAM,MAAM,KAClB,OAAO,CAAC,cAAc,CAyBxB,CAAC;AAIF,eAAO,MAAM,cAAc,YAE1B,CAAC;AAIF,eAAO,MAAM,uBAAuB,YAEnC,CAAC;AAKF,eAAO,MAAM,sBAAsB,SAAU;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,SAKA,CAAC;AAKF,eAAO,MAAM,wBAAwB,YAIpC,CAAC"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,MAAM,EAGX,MAAM,eAAe,CAAC;AA4IvB,eAAO,MAAM,oBAAoB,QAAgB,CAAC;AAKlD,eAAO,MAAM,4BAA4B,QAAY,CAAC;AAmBtD,eAAO,MAAM,YAAY,QACnB,gBAAgB,WACZ,MAAM,KACb,OAAO,CAAC,iBAAiB,EAAE,CAkB7B,CAAC;AAcF,eAAO,MAAM,YAAY,QACnB,gBAAgB,eACR,MAAM,GAAG,SAAS,WACtB,MAAM,KACb,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAgBvC,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAC9B,gBAAgB,WACZ,MAAM,KACb,OAAO,CAAC,cAAc,CAMxB,CAAC;AAoCF,eAAO,MAAM,yBAAyB,QAChC,gBAAgB,WACZ,MAAM,eACF,MAAM,WACX,MAAM,MAAM,KAClB,OAAO,CAAC,cAAc,CAyBxB,CAAC;AAIF,eAAO,MAAM,cAAc,YAE1B,CAAC;AAIF,eAAO,MAAM,uBAAuB,YAEnC,CAAC;AAKF,eAAO,MAAM,sBAAsB,SAAU;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,SAKA,CAAC;AAKF,eAAO,MAAM,wBAAwB,YAIpC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { joinUrl, stripTrailingSlashes } from "@prosopo/util";
1
2
  import { getProviderListOverride, loadBalancer, } from "./balancer.js";
2
3
  import { getDevelopmentProviderUrl } from "./developmentProviderUrl.js";
3
4
  import { retryWithBackoff } from "./retry.js";
@@ -13,7 +14,7 @@ const applyIpModeToUrl = (url, ipMode) => {
13
14
  try {
14
15
  const parsed = new URL(url);
15
16
  parsed.hostname = withIpModeLabel(parsed.hostname, ipMode);
16
- return parsed.toString().replace(/\/$/, "");
17
+ return stripTrailingSlashes(parsed.toString());
17
18
  }
18
19
  catch {
19
20
  return url;
@@ -28,7 +29,7 @@ let healthzMaxAttempts = HEALTHZ_MAX_ATTEMPTS;
28
29
  let healthzRetryBaseDelayMs = HEALTHZ_RETRY_BASE_DELAY_MS;
29
30
  let healthzRetryMaxDelayMs = HEALTHZ_RETRY_MAX_DELAY_MS;
30
31
  const fetchPinnedHost = async (baseUrl) => {
31
- const res = await fetch(`${baseUrl}/healthz`, {
32
+ const res = await fetch(joinUrl(baseUrl, "healthz"), {
32
33
  method: "GET",
33
34
  cache: "no-store",
34
35
  credentials: "omit",
@@ -70,7 +71,7 @@ const resolvePinnedUrl = async (env, ipMode) => {
70
71
  const host = await fetchPinnedHostWithRetry(base);
71
72
  const parsed = new URL(base);
72
73
  parsed.hostname = withIpModeLabel(host, ipMode);
73
- return parsed.toString().replace(/\/$/, "");
74
+ return stripTrailingSlashes(parsed.toString());
74
75
  }
75
76
  catch (err) {
76
77
  pinPromiseCache.delete(key);
@@ -121,7 +122,7 @@ export const getRandomActiveProvider = async (env, ipMode) => {
121
122
  provider: { url },
122
123
  };
123
124
  };
124
- const sameProviderUrl = (a, b) => a.replace(/\/$/, "") === b.replace(/\/$/, "");
125
+ const sameProviderUrl = (a, b) => stripTrailingSlashes(a) === stripTrailingSlashes(b);
125
126
  const pickWeightedProvider = (providers, random) => {
126
127
  const totalWeight = providers.reduce((sum, p) => sum + p.weight, 0);
127
128
  let threshold = random() * totalWeight;
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"balancer.d.ts","sourceRoot":"","sources":["../../src/balancer.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIvD,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CACf;AAkCD,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAQrC,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAK/C,eAAO,MAAM,qBAAqB,aACvB,eAAe,WAChB,MAAM,KACb,iBAAiB,EAUnB,CAAC;AAKF,eAAO,MAAM,gBAAgB,aAAc,MAAM,KAAG,MACjB,CAAC;AAEpC,eAAO,MAAM,mBAAmB,aAAc,iBAAiB,KAAG,MACjB,CAAC;AA0ClD,eAAO,MAAM,uBAAuB,SAC9B,MAAM,GAAG,SAAS,WACd,MAAM,KACb,iBAAiB,EAiBnB,CAAC;AAEF,eAAO,MAAM,kBAAkB,gBAAiB,gBAAgB,KAAG,MAalE,CAAC;AAQF,eAAO,MAAM,8BAA8B,QAAS,CAAC;AAUrD,eAAO,MAAM,YAAY,gBACX,gBAAgB,WACpB,MAAM,cACJ,MAAM,KACf,OAAO,CAAC,iBAAiB,EAAE,CAoC7B,CAAC"}
1
+ {"version":3,"file":"balancer.d.ts","sourceRoot":"","sources":["../../src/balancer.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAKvD,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CACf;AAkCD,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAQrC,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAK/C,eAAO,MAAM,qBAAqB,aACvB,eAAe,WAChB,MAAM,KACb,iBAAiB,EAUnB,CAAC;AAKF,eAAO,MAAM,gBAAgB,aAAc,MAAM,KAAG,MACjB,CAAC;AAEpC,eAAO,MAAM,mBAAmB,aAAc,iBAAiB,KAAG,MACjB,CAAC;AAwClD,eAAO,MAAM,uBAAuB,SAC9B,MAAM,GAAG,SAAS,WACd,MAAM,KACb,iBAAiB,EAiBnB,CAAC;AAEF,eAAO,MAAM,kBAAkB,gBAAiB,gBAAgB,KAAG,MAalE,CAAC;AAQF,eAAO,MAAM,8BAA8B,QAAS,CAAC;AAUrD,eAAO,MAAM,YAAY,gBACX,gBAAgB,WACpB,MAAM,cACJ,MAAM,KACf,OAAO,CAAC,iBAAiB,EAAE,CAoC7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"developmentProviderUrl.d.ts","sourceRoot":"","sources":["../../src/developmentProviderUrl.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,gCAAgC,2BAA2B,CAAC;AAazE,eAAO,MAAM,kCAAkC,QAAO,MAAM,GAAG,SAM9D,CAAC;AAEF,eAAO,MAAM,yBAAyB,cAC3B,MAAM,GAAG,SAAS,KAC1B,MAKF,CAAC"}
1
+ {"version":3,"file":"developmentProviderUrl.d.ts","sourceRoot":"","sources":["../../src/developmentProviderUrl.ts"],"names":[],"mappings":"AA2BA,eAAO,MAAM,gCAAgC,2BAA2B,CAAC;AAazE,eAAO,MAAM,kCAAkC,QAAO,MAAM,GAAG,SAM9D,CAAC;AAEF,eAAO,MAAM,yBAAyB,cAC3B,MAAM,GAAG,SAAS,KAC1B,MAKF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,MAAM,EAGX,MAAM,eAAe,CAAC;AA4IvB,eAAO,MAAM,oBAAoB,QAAgB,CAAC;AAKlD,eAAO,MAAM,4BAA4B,QAAY,CAAC;AAmBtD,eAAO,MAAM,YAAY,QACnB,gBAAgB,WACZ,MAAM,KACb,OAAO,CAAC,iBAAiB,EAAE,CAkB7B,CAAC;AAcF,eAAO,MAAM,YAAY,QACnB,gBAAgB,eACR,MAAM,GAAG,SAAS,WACtB,MAAM,KACb,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAgBvC,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAC9B,gBAAgB,WACZ,MAAM,KACb,OAAO,CAAC,cAAc,CAMxB,CAAC;AAoCF,eAAO,MAAM,yBAAyB,QAChC,gBAAgB,WACZ,MAAM,eACF,MAAM,WACX,MAAM,MAAM,KAClB,OAAO,CAAC,cAAc,CAyBxB,CAAC;AAIF,eAAO,MAAM,cAAc,YAE1B,CAAC;AAIF,eAAO,MAAM,uBAAuB,YAEnC,CAAC;AAKF,eAAO,MAAM,sBAAsB,SAAU;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,SAKA,CAAC;AAKF,eAAO,MAAM,wBAAwB,YAIpC,CAAC"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,MAAM,EAGX,MAAM,eAAe,CAAC;AA4IvB,eAAO,MAAM,oBAAoB,QAAgB,CAAC;AAKlD,eAAO,MAAM,4BAA4B,QAAY,CAAC;AAmBtD,eAAO,MAAM,YAAY,QACnB,gBAAgB,WACZ,MAAM,KACb,OAAO,CAAC,iBAAiB,EAAE,CAkB7B,CAAC;AAcF,eAAO,MAAM,YAAY,QACnB,gBAAgB,eACR,MAAM,GAAG,SAAS,WACtB,MAAM,KACb,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAgBvC,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAC9B,gBAAgB,WACZ,MAAM,KACb,OAAO,CAAC,cAAc,CAMxB,CAAC;AAoCF,eAAO,MAAM,yBAAyB,QAChC,gBAAgB,WACZ,MAAM,eACF,MAAM,WACX,MAAM,MAAM,KAClB,OAAO,CAAC,cAAc,CAyBxB,CAAC;AAIF,eAAO,MAAM,cAAc,YAE1B,CAAC;AAIF,eAAO,MAAM,uBAAuB,YAEnC,CAAC;AAKF,eAAO,MAAM,sBAAsB,SAAU;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,SAKA,CAAC;AAKF,eAAO,MAAM,wBAAwB,YAIpC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/load-balancer",
3
- "version": "2.11.25",
3
+ "version": "2.11.27",
4
4
  "description": "Provider load balancer",
5
5
  "main": "dist/esm/index.js",
6
6
  "types": "dist/types/index.d.ts",
@@ -28,10 +28,11 @@
28
28
  "homepage": "https://github.com/prosopo/captcha#readme",
29
29
  "dependencies": {
30
30
  "@prosopo/common": "3.3.2",
31
- "@prosopo/types": "5.25.0"
31
+ "@prosopo/types": "5.27.0",
32
+ "@prosopo/util": "3.6.1"
32
33
  },
33
34
  "devDependencies": {
34
- "@prosopo/config": "3.5.3",
35
+ "@prosopo/config": "3.5.4",
35
36
  "@types/node": "22.10.2",
36
37
  "@vitest/coverage-v8": "5.0.4",
37
38
  "concurrently": "9.0.1",