@rayselfs/cf-rule-engine 1.8.2 → 1.9.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.
Files changed (73) hide show
  1. package/dist/adapters/lambda-edge.cjs +2 -2
  2. package/dist/adapters/lambda-edge.js +1 -1
  3. package/dist/adapters/viewer-request-async.cjs +26 -0
  4. package/dist/adapters/viewer-request-async.d.cts +5 -0
  5. package/dist/adapters/viewer-request-async.d.ts +5 -0
  6. package/dist/adapters/viewer-request-async.js +26 -0
  7. package/dist/behaviors/index.cjs +12 -11
  8. package/dist/behaviors/index.js +11 -10
  9. package/dist/behaviors/kvs.cjs +24 -0
  10. package/dist/behaviors/kvs.d.cts +6 -0
  11. package/dist/behaviors/kvs.d.ts +6 -0
  12. package/dist/behaviors/kvs.js +24 -0
  13. package/dist/behaviors/rewrite-uri.cjs +2 -2
  14. package/dist/behaviors/rewrite-uri.js +1 -1
  15. package/dist/behaviors/set-cors-headers.cjs +3 -2
  16. package/dist/behaviors/set-cors-headers.d.cts +0 -27
  17. package/dist/behaviors/set-cors-headers.d.ts +0 -27
  18. package/dist/behaviors/set-cors-headers.js +2 -1
  19. package/dist/{chunk-ORW3KDO5.js → chunk-7EA7GFWX.js} +4 -7
  20. package/dist/{chunk-MRPTC74I.cjs → chunk-BSH5JZBL.cjs} +4 -2
  21. package/dist/{chunk-2DE6WPPL.js → chunk-EEZ7NUJG.js} +12 -1
  22. package/dist/{chunk-PBR6AREG.cjs → chunk-EMDI676G.cjs} +7 -10
  23. package/dist/{chunk-3BBLG4IX.cjs → chunk-G4JEAL6L.cjs} +11 -8
  24. package/dist/{chunk-CQA2DCVF.js → chunk-H3RK4USR.js} +4 -6
  25. package/dist/{chunk-RL7ZETZR.js → chunk-IHDSTTO2.js} +5 -5
  26. package/dist/{chunk-AEZDDJEW.cjs → chunk-IHVOAORH.cjs} +6 -8
  27. package/dist/{chunk-T5EXFHVA.cjs → chunk-ISXKMJCN.cjs} +5 -5
  28. package/dist/{chunk-MVGYPBYB.cjs → chunk-LVOM5GJ6.cjs} +2 -2
  29. package/dist/{chunk-D47P7HVZ.cjs → chunk-MK4QBCD5.cjs} +2 -2
  30. package/dist/chunk-NWRGD3AH.js +71 -0
  31. package/dist/{chunk-FTP7NLKX.js → chunk-QVY6REMD.js} +4 -2
  32. package/dist/{chunk-IBXAK2A4.cjs → chunk-ULICUDDH.cjs} +12 -1
  33. package/dist/{chunk-WEBU4R5C.js → chunk-ULR7EP5D.js} +11 -8
  34. package/dist/{chunk-S2AAATFN.js → chunk-VQGBRWJK.js} +1 -1
  35. package/dist/chunk-WZKRNMF2.cjs +71 -0
  36. package/dist/{chunk-LO2BO3RU.js → chunk-Y7TIDVVC.js} +1 -1
  37. package/dist/{chunk-KW5YBTSD.js → chunk-YHTUV2SA.js} +1 -1
  38. package/dist/{chunk-CF5PWWTF.cjs → chunk-ZEFLAOTL.cjs} +2 -2
  39. package/dist/criteria/index.cjs +14 -14
  40. package/dist/criteria/index.js +19 -19
  41. package/dist/criteria/ip-cidr.cjs +3 -3
  42. package/dist/criteria/ip-cidr.js +2 -2
  43. package/dist/criteria/kvs.cjs +14 -0
  44. package/dist/criteria/kvs.d.cts +6 -0
  45. package/dist/criteria/kvs.d.ts +6 -0
  46. package/dist/criteria/kvs.js +14 -0
  47. package/dist/criteria/path-matches.cjs +3 -3
  48. package/dist/criteria/path-matches.js +2 -2
  49. package/dist/criteria/user-agent-matches.cjs +3 -3
  50. package/dist/criteria/user-agent-matches.js +2 -2
  51. package/dist/helpers/index.cjs +11 -11
  52. package/dist/helpers/index.js +11 -11
  53. package/dist/helpers/preflight-request.cjs +4 -3
  54. package/dist/helpers/preflight-request.js +3 -2
  55. package/dist/helpers/whitelist.cjs +7 -7
  56. package/dist/helpers/whitelist.js +6 -6
  57. package/dist/index.cjs +2 -2
  58. package/dist/index.js +1 -1
  59. package/dist/shared/cidr.cjs +2 -2
  60. package/dist/shared/cidr.d.cts +2 -2
  61. package/dist/shared/cidr.d.ts +2 -2
  62. package/dist/shared/cidr.js +1 -1
  63. package/dist/shared/kvs.cjs +1 -0
  64. package/dist/shared/kvs.d.cts +5 -0
  65. package/dist/shared/kvs.d.ts +5 -0
  66. package/dist/shared/kvs.js +0 -0
  67. package/dist/shared/wildcard.cjs +4 -2
  68. package/dist/shared/wildcard.d.cts +10 -1
  69. package/dist/shared/wildcard.d.ts +10 -1
  70. package/dist/shared/wildcard.js +3 -1
  71. package/package.json +1 -1
  72. package/dist/chunk-LNQPYKGG.js +0 -20
  73. package/dist/chunk-YVUR35RN.cjs +0 -20
@@ -0,0 +1,71 @@
1
+ // src/shared/cidr.ts
2
+ function ipToInt(ip) {
3
+ return ip.split(".").reduce((acc, octet) => (acc << 8) + parseInt(octet, 10) >>> 0, 0);
4
+ }
5
+ function isIPv6(ip) {
6
+ return ip.indexOf(":") !== -1;
7
+ }
8
+ function expandIPv6Groups(ip) {
9
+ if (ip.indexOf(".") !== -1) {
10
+ const lastColon = ip.lastIndexOf(":");
11
+ const ipv4Part = ip.slice(lastColon + 1);
12
+ const octs = ipv4Part.split(".");
13
+ if (octs.length !== 4) return null;
14
+ const hi = (parseInt(octs[0], 10) << 8 | parseInt(octs[1], 10)) & 65535;
15
+ const lo = (parseInt(octs[2], 10) << 8 | parseInt(octs[3], 10)) & 65535;
16
+ ip = ip.slice(0, lastColon + 1) + hi.toString(16) + ":" + lo.toString(16);
17
+ }
18
+ const halves = ip.split("::");
19
+ if (halves.length > 2) return null;
20
+ const left = halves[0] ? halves[0].split(":") : [];
21
+ const right = halves.length === 2 && halves[1] ? halves[1].split(":") : [];
22
+ if (halves.length === 1 && left.length !== 8) return null;
23
+ const fill = 8 - left.length - right.length;
24
+ if (fill < 0) return null;
25
+ const groups = [];
26
+ for (let i = 0; i < left.length; i++) {
27
+ groups.push(parseInt(left[i] || "0", 16) & 65535);
28
+ }
29
+ for (let j = 0; j < fill; j++) {
30
+ groups.push(0);
31
+ }
32
+ for (let k = 0; k < right.length; k++) {
33
+ groups.push(parseInt(right[k] || "0", 16) & 65535);
34
+ }
35
+ return groups.length === 8 ? groups : null;
36
+ }
37
+ function inCidrIPv6(ip, cidr) {
38
+ const slashIdx = cidr.indexOf("/");
39
+ const range = slashIdx === -1 ? cidr : cidr.slice(0, slashIdx);
40
+ const prefixLen = slashIdx === -1 ? 128 : parseInt(cidr.slice(slashIdx + 1), 10);
41
+ const ipGroups = expandIPv6Groups(ip);
42
+ const rangeGroups = expandIPv6Groups(range);
43
+ if (!ipGroups || !rangeGroups) return false;
44
+ const fullGroups = Math.floor(prefixLen / 16);
45
+ const remainBits = prefixLen % 16;
46
+ for (let i = 0; i < fullGroups; i++) {
47
+ if (ipGroups[i] !== rangeGroups[i]) return false;
48
+ }
49
+ if (remainBits > 0 && fullGroups < 8) {
50
+ const mask = ~0 << 16 - remainBits & 65535;
51
+ if ((ipGroups[fullGroups] & mask) !== (rangeGroups[fullGroups] & mask)) return false;
52
+ }
53
+ return true;
54
+ }
55
+ function inCidr(ip, cidr) {
56
+ if (isIPv6(ip) || isIPv6(cidr)) return inCidrIPv6(ip, cidr);
57
+ const parts = cidr.split("/");
58
+ const range = parts[0];
59
+ const bits = parts[1] || "32";
60
+ const mask = bits === "0" ? 0 : ~0 << 32 - parseInt(bits, 10) >>> 0;
61
+ return (ipToInt(ip) & mask) === (ipToInt(range) & mask);
62
+ }
63
+ function matchesAnyCidr(ip, cidrs) {
64
+ return cidrs.some((cidr) => inCidr(ip, cidr));
65
+ }
66
+
67
+ export {
68
+ ipToInt,
69
+ inCidr,
70
+ matchesAnyCidr
71
+ };
@@ -1,5 +1,6 @@
1
1
  // src/behaviors/rewrite-uri.ts
2
2
  function rewriteUri(mode, target, match) {
3
+ const re = mode === "regex-replace" && match !== void 0 ? new RegExp(match, "g") : null;
3
4
  return (request) => {
4
5
  let uri = request.uri;
5
6
  switch (mode) {
@@ -15,8 +16,9 @@ function rewriteUri(mode, target, match) {
15
16
  }
16
17
  break;
17
18
  case "regex-replace":
18
- if (match !== void 0) {
19
- uri = uri.replace(new RegExp(match, "g"), target);
19
+ if (re) {
20
+ re.lastIndex = 0;
21
+ uri = uri.replace(re, target);
20
22
  }
21
23
  break;
22
24
  }
@@ -1,5 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/shared/wildcard.ts
2
2
  var regexCache = /* @__PURE__ */ Object.create(null);
3
+ var originPatternCache = /* @__PURE__ */ Object.create(null);
3
4
  function wildcardToRegex(pattern) {
4
5
  if (!(pattern in regexCache)) {
5
6
  const escaped = pattern.replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(/\*/g, ".*").replace(/\?/g, ".");
@@ -13,9 +14,19 @@ function matchesWildcard(str, pattern) {
13
14
  function matchesAnyWildcard(str, patterns) {
14
15
  return patterns.some((p) => matchesWildcard(str, p));
15
16
  }
17
+ function matchesOriginPattern(origin, pattern) {
18
+ if (pattern === "*") return true;
19
+ if (!pattern.includes("*")) return origin === pattern;
20
+ if (!(pattern in originPatternCache)) {
21
+ const escaped = pattern.replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(/\*/g, ".*");
22
+ originPatternCache[pattern] = new RegExp(`^${escaped}$`);
23
+ }
24
+ return originPatternCache[pattern].test(origin);
25
+ }
26
+
16
27
 
17
28
 
18
29
 
19
30
 
20
31
 
21
- exports.wildcardToRegex = wildcardToRegex; exports.matchesWildcard = matchesWildcard; exports.matchesAnyWildcard = matchesAnyWildcard;
32
+ exports.wildcardToRegex = wildcardToRegex; exports.matchesWildcard = matchesWildcard; exports.matchesAnyWildcard = matchesAnyWildcard; exports.matchesOriginPattern = matchesOriginPattern;
@@ -35,14 +35,17 @@ function denormalizeHeaders(headers) {
35
35
  }
36
36
  function parseQuerystring(qs) {
37
37
  if (!qs) return {};
38
- return Object.fromEntries(
39
- qs.split("&").map((p) => {
40
- const parts = p.split("=");
41
- const k = parts[0];
42
- const v = parts[1] || "";
43
- return [k, { value: v }];
44
- })
45
- );
38
+ const result = {};
39
+ const pairs = qs.split("&");
40
+ for (let i = 0; i < pairs.length; i++) {
41
+ const eq = pairs[i].indexOf("=");
42
+ if (eq === -1) {
43
+ result[pairs[i]] = { value: "" };
44
+ } else {
45
+ result[pairs[i].slice(0, eq)] = { value: pairs[i].slice(eq + 1) };
46
+ }
47
+ }
48
+ return result;
46
49
  }
47
50
  function serializeQuerystring(qs) {
48
51
  const qsEntries = Object.entries(qs);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  matchesAnyWildcard
3
- } from "./chunk-2DE6WPPL.js";
3
+ } from "./chunk-EEZ7NUJG.js";
4
4
 
5
5
  // src/criteria/user-agent-matches.ts
6
6
  function userAgentMatches(patterns) {
@@ -0,0 +1,71 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/shared/cidr.ts
2
+ function ipToInt(ip) {
3
+ return ip.split(".").reduce((acc, octet) => (acc << 8) + parseInt(octet, 10) >>> 0, 0);
4
+ }
5
+ function isIPv6(ip) {
6
+ return ip.indexOf(":") !== -1;
7
+ }
8
+ function expandIPv6Groups(ip) {
9
+ if (ip.indexOf(".") !== -1) {
10
+ const lastColon = ip.lastIndexOf(":");
11
+ const ipv4Part = ip.slice(lastColon + 1);
12
+ const octs = ipv4Part.split(".");
13
+ if (octs.length !== 4) return null;
14
+ const hi = (parseInt(octs[0], 10) << 8 | parseInt(octs[1], 10)) & 65535;
15
+ const lo = (parseInt(octs[2], 10) << 8 | parseInt(octs[3], 10)) & 65535;
16
+ ip = ip.slice(0, lastColon + 1) + hi.toString(16) + ":" + lo.toString(16);
17
+ }
18
+ const halves = ip.split("::");
19
+ if (halves.length > 2) return null;
20
+ const left = halves[0] ? halves[0].split(":") : [];
21
+ const right = halves.length === 2 && halves[1] ? halves[1].split(":") : [];
22
+ if (halves.length === 1 && left.length !== 8) return null;
23
+ const fill = 8 - left.length - right.length;
24
+ if (fill < 0) return null;
25
+ const groups = [];
26
+ for (let i = 0; i < left.length; i++) {
27
+ groups.push(parseInt(left[i] || "0", 16) & 65535);
28
+ }
29
+ for (let j = 0; j < fill; j++) {
30
+ groups.push(0);
31
+ }
32
+ for (let k = 0; k < right.length; k++) {
33
+ groups.push(parseInt(right[k] || "0", 16) & 65535);
34
+ }
35
+ return groups.length === 8 ? groups : null;
36
+ }
37
+ function inCidrIPv6(ip, cidr) {
38
+ const slashIdx = cidr.indexOf("/");
39
+ const range = slashIdx === -1 ? cidr : cidr.slice(0, slashIdx);
40
+ const prefixLen = slashIdx === -1 ? 128 : parseInt(cidr.slice(slashIdx + 1), 10);
41
+ const ipGroups = expandIPv6Groups(ip);
42
+ const rangeGroups = expandIPv6Groups(range);
43
+ if (!ipGroups || !rangeGroups) return false;
44
+ const fullGroups = Math.floor(prefixLen / 16);
45
+ const remainBits = prefixLen % 16;
46
+ for (let i = 0; i < fullGroups; i++) {
47
+ if (ipGroups[i] !== rangeGroups[i]) return false;
48
+ }
49
+ if (remainBits > 0 && fullGroups < 8) {
50
+ const mask = ~0 << 16 - remainBits & 65535;
51
+ if ((ipGroups[fullGroups] & mask) !== (rangeGroups[fullGroups] & mask)) return false;
52
+ }
53
+ return true;
54
+ }
55
+ function inCidr(ip, cidr) {
56
+ if (isIPv6(ip) || isIPv6(cidr)) return inCidrIPv6(ip, cidr);
57
+ const parts = cidr.split("/");
58
+ const range = parts[0];
59
+ const bits = parts[1] || "32";
60
+ const mask = bits === "0" ? 0 : ~0 << 32 - parseInt(bits, 10) >>> 0;
61
+ return (ipToInt(ip) & mask) === (ipToInt(range) & mask);
62
+ }
63
+ function matchesAnyCidr(ip, cidrs) {
64
+ return cidrs.some((cidr) => inCidr(ip, cidr));
65
+ }
66
+
67
+
68
+
69
+
70
+
71
+ exports.ipToInt = ipToInt; exports.inCidr = inCidr; exports.matchesAnyCidr = matchesAnyCidr;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  matchesAnyWildcard
3
- } from "./chunk-2DE6WPPL.js";
3
+ } from "./chunk-EEZ7NUJG.js";
4
4
 
5
5
  // src/criteria/path-matches.ts
6
6
  function pathMatches(patterns) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  matchesAnyCidr
3
- } from "./chunk-LNQPYKGG.js";
3
+ } from "./chunk-NWRGD3AH.js";
4
4
 
5
5
  // src/criteria/ip-cidr.ts
6
6
  function ipCidr(cidrs) {
@@ -1,12 +1,12 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkIBXAK2A4cjs = require('./chunk-IBXAK2A4.cjs');
3
+ var _chunkULICUDDHcjs = require('./chunk-ULICUDDH.cjs');
4
4
 
5
5
  // src/criteria/path-matches.ts
6
6
  function pathMatches(patterns) {
7
7
  return (req) => {
8
8
  const path = req.uri.split("?")[0];
9
- return _chunkIBXAK2A4cjs.matchesAnyWildcard.call(void 0, path, patterns);
9
+ return _chunkULICUDDHcjs.matchesAnyWildcard.call(void 0, path, patterns);
10
10
  };
11
11
  }
12
12
 
@@ -1,38 +1,38 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkG7JGTBTTcjs = require('../chunk-G7JGTBTT.cjs');
3
+ var _chunkVEEOQ7TScjs = require('../chunk-VEEOQ7TS.cjs');
4
4
 
5
5
 
6
- var _chunkMVGYPBYBcjs = require('../chunk-MVGYPBYB.cjs');
6
+ var _chunkG7JGTBTTcjs = require('../chunk-G7JGTBTT.cjs');
7
7
 
8
8
 
9
- var _chunk32SMWYAFcjs = require('../chunk-32SMWYAF.cjs');
9
+ var _chunkZEFLAOTLcjs = require('../chunk-ZEFLAOTL.cjs');
10
10
 
11
11
 
12
- var _chunkL7NBJ4JAcjs = require('../chunk-L7NBJ4JA.cjs');
12
+ var _chunkLVOM5GJ6cjs = require('../chunk-LVOM5GJ6.cjs');
13
13
 
14
14
 
15
- var _chunkJGJW7D2Ncjs = require('../chunk-JGJW7D2N.cjs');
15
+ var _chunkOTFDML3Kcjs = require('../chunk-OTFDML3K.cjs');
16
16
 
17
17
 
18
- var _chunkD47P7HVZcjs = require('../chunk-D47P7HVZ.cjs');
19
- require('../chunk-YVUR35RN.cjs');
18
+ var _chunkOSZWDCTScjs = require('../chunk-OSZWDCTS.cjs');
20
19
 
21
20
 
22
- var _chunkOTFDML3Kcjs = require('../chunk-OTFDML3K.cjs');
21
+ var _chunkU54FZCOHcjs = require('../chunk-U54FZCOH.cjs');
23
22
 
24
23
 
25
- var _chunkVEEOQ7TScjs = require('../chunk-VEEOQ7TS.cjs');
24
+ var _chunk32SMWYAFcjs = require('../chunk-32SMWYAF.cjs');
26
25
 
27
26
 
28
- var _chunkCF5PWWTFcjs = require('../chunk-CF5PWWTF.cjs');
29
- require('../chunk-IBXAK2A4.cjs');
27
+ var _chunkL7NBJ4JAcjs = require('../chunk-L7NBJ4JA.cjs');
30
28
 
31
29
 
32
- var _chunkOSZWDCTScjs = require('../chunk-OSZWDCTS.cjs');
30
+ var _chunkJGJW7D2Ncjs = require('../chunk-JGJW7D2N.cjs');
33
31
 
34
32
 
35
- var _chunkU54FZCOHcjs = require('../chunk-U54FZCOH.cjs');
33
+ var _chunkMK4QBCD5cjs = require('../chunk-MK4QBCD5.cjs');
34
+ require('../chunk-WZKRNMF2.cjs');
35
+ require('../chunk-ULICUDDH.cjs');
36
36
  require('../chunk-75ZPJI57.cjs');
37
37
 
38
38
 
@@ -46,4 +46,4 @@ require('../chunk-75ZPJI57.cjs');
46
46
 
47
47
 
48
48
 
49
- exports.countryIs = _chunkOSZWDCTScjs.countryIs; exports.fileExtension = _chunkU54FZCOHcjs.fileExtension; exports.headerContains = _chunk32SMWYAFcjs.headerContains; exports.headerEquals = _chunkL7NBJ4JAcjs.headerEquals; exports.hostnameIs = _chunkJGJW7D2Ncjs.hostnameIs; exports.ipCidr = _chunkD47P7HVZcjs.ipCidr; exports.methodIs = _chunkOTFDML3Kcjs.methodIs; exports.pathEquals = _chunkVEEOQ7TScjs.pathEquals; exports.pathMatches = _chunkCF5PWWTFcjs.pathMatches; exports.pathPrefix = _chunkG7JGTBTTcjs.pathPrefix; exports.userAgentMatches = _chunkMVGYPBYBcjs.userAgentMatches;
49
+ exports.countryIs = _chunkOSZWDCTScjs.countryIs; exports.fileExtension = _chunkU54FZCOHcjs.fileExtension; exports.headerContains = _chunk32SMWYAFcjs.headerContains; exports.headerEquals = _chunkL7NBJ4JAcjs.headerEquals; exports.hostnameIs = _chunkJGJW7D2Ncjs.hostnameIs; exports.ipCidr = _chunkMK4QBCD5cjs.ipCidr; exports.methodIs = _chunkOTFDML3Kcjs.methodIs; exports.pathEquals = _chunkVEEOQ7TScjs.pathEquals; exports.pathMatches = _chunkZEFLAOTLcjs.pathMatches; exports.pathPrefix = _chunkG7JGTBTTcjs.pathPrefix; exports.userAgentMatches = _chunkLVOM5GJ6cjs.userAgentMatches;
@@ -1,9 +1,24 @@
1
+ import {
2
+ pathEquals
3
+ } from "../chunk-UD456E4I.js";
1
4
  import {
2
5
  pathPrefix
3
6
  } from "../chunk-XLSZ5RB7.js";
7
+ import {
8
+ pathMatches
9
+ } from "../chunk-Y7TIDVVC.js";
4
10
  import {
5
11
  userAgentMatches
6
- } from "../chunk-S2AAATFN.js";
12
+ } from "../chunk-VQGBRWJK.js";
13
+ import {
14
+ methodIs
15
+ } from "../chunk-PY3JMRDG.js";
16
+ import {
17
+ countryIs
18
+ } from "../chunk-5CPBXZ4X.js";
19
+ import {
20
+ fileExtension
21
+ } from "../chunk-LBJUCJF2.js";
7
22
  import {
8
23
  headerContains
9
24
  } from "../chunk-SRQF5UEJ.js";
@@ -15,24 +30,9 @@ import {
15
30
  } from "../chunk-3PVDUC5M.js";
16
31
  import {
17
32
  ipCidr
18
- } from "../chunk-KW5YBTSD.js";
19
- import "../chunk-LNQPYKGG.js";
20
- import {
21
- methodIs
22
- } from "../chunk-PY3JMRDG.js";
23
- import {
24
- pathEquals
25
- } from "../chunk-UD456E4I.js";
26
- import {
27
- pathMatches
28
- } from "../chunk-LO2BO3RU.js";
29
- import "../chunk-2DE6WPPL.js";
30
- import {
31
- countryIs
32
- } from "../chunk-5CPBXZ4X.js";
33
- import {
34
- fileExtension
35
- } from "../chunk-LBJUCJF2.js";
33
+ } from "../chunk-YHTUV2SA.js";
34
+ import "../chunk-NWRGD3AH.js";
35
+ import "../chunk-EEZ7NUJG.js";
36
36
  import "../chunk-MLKGABMK.js";
37
37
  export {
38
38
  countryIs,
@@ -1,8 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkD47P7HVZcjs = require('../chunk-D47P7HVZ.cjs');
4
- require('../chunk-YVUR35RN.cjs');
3
+ var _chunkMK4QBCD5cjs = require('../chunk-MK4QBCD5.cjs');
4
+ require('../chunk-WZKRNMF2.cjs');
5
5
  require('../chunk-75ZPJI57.cjs');
6
6
 
7
7
 
8
- exports.ipCidr = _chunkD47P7HVZcjs.ipCidr;
8
+ exports.ipCidr = _chunkMK4QBCD5cjs.ipCidr;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ipCidr
3
- } from "../chunk-KW5YBTSD.js";
4
- import "../chunk-LNQPYKGG.js";
3
+ } from "../chunk-YHTUV2SA.js";
4
+ import "../chunk-NWRGD3AH.js";
5
5
  import "../chunk-MLKGABMK.js";
6
6
  export {
7
7
  ipCidr
@@ -0,0 +1,14 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkWZKRNMF2cjs = require('../chunk-WZKRNMF2.cjs');
4
+ require('../chunk-75ZPJI57.cjs');
5
+
6
+ // src/criteria/kvs.ts
7
+ async function kvsIpCidr(handle, key) {
8
+ const raw = await handle.get(key);
9
+ const cidrs = raw ? JSON.parse(raw) : [];
10
+ return (request) => _chunkWZKRNMF2cjs.matchesAnyCidr.call(void 0, request.clientIp, cidrs);
11
+ }
12
+
13
+
14
+ exports.kvsIpCidr = kvsIpCidr;
@@ -0,0 +1,6 @@
1
+ import { CriteriaFn } from '../core/types.cjs';
2
+ import { KvsHandle } from '../shared/kvs.cjs';
3
+
4
+ declare function kvsIpCidr(handle: KvsHandle, key: string): Promise<CriteriaFn>;
5
+
6
+ export { kvsIpCidr };
@@ -0,0 +1,6 @@
1
+ import { CriteriaFn } from '../core/types.js';
2
+ import { KvsHandle } from '../shared/kvs.js';
3
+
4
+ declare function kvsIpCidr(handle: KvsHandle, key: string): Promise<CriteriaFn>;
5
+
6
+ export { kvsIpCidr };
@@ -0,0 +1,14 @@
1
+ import {
2
+ matchesAnyCidr
3
+ } from "../chunk-NWRGD3AH.js";
4
+ import "../chunk-MLKGABMK.js";
5
+
6
+ // src/criteria/kvs.ts
7
+ async function kvsIpCidr(handle, key) {
8
+ const raw = await handle.get(key);
9
+ const cidrs = raw ? JSON.parse(raw) : [];
10
+ return (request) => matchesAnyCidr(request.clientIp, cidrs);
11
+ }
12
+ export {
13
+ kvsIpCidr
14
+ };
@@ -1,8 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkCF5PWWTFcjs = require('../chunk-CF5PWWTF.cjs');
4
- require('../chunk-IBXAK2A4.cjs');
3
+ var _chunkZEFLAOTLcjs = require('../chunk-ZEFLAOTL.cjs');
4
+ require('../chunk-ULICUDDH.cjs');
5
5
  require('../chunk-75ZPJI57.cjs');
6
6
 
7
7
 
8
- exports.pathMatches = _chunkCF5PWWTFcjs.pathMatches;
8
+ exports.pathMatches = _chunkZEFLAOTLcjs.pathMatches;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  pathMatches
3
- } from "../chunk-LO2BO3RU.js";
4
- import "../chunk-2DE6WPPL.js";
3
+ } from "../chunk-Y7TIDVVC.js";
4
+ import "../chunk-EEZ7NUJG.js";
5
5
  import "../chunk-MLKGABMK.js";
6
6
  export {
7
7
  pathMatches
@@ -1,8 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkMVGYPBYBcjs = require('../chunk-MVGYPBYB.cjs');
4
- require('../chunk-IBXAK2A4.cjs');
3
+ var _chunkLVOM5GJ6cjs = require('../chunk-LVOM5GJ6.cjs');
4
+ require('../chunk-ULICUDDH.cjs');
5
5
  require('../chunk-75ZPJI57.cjs');
6
6
 
7
7
 
8
- exports.userAgentMatches = _chunkMVGYPBYBcjs.userAgentMatches;
8
+ exports.userAgentMatches = _chunkLVOM5GJ6cjs.userAgentMatches;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  userAgentMatches
3
- } from "../chunk-S2AAATFN.js";
4
- import "../chunk-2DE6WPPL.js";
3
+ } from "../chunk-VQGBRWJK.js";
4
+ import "../chunk-EEZ7NUJG.js";
5
5
  import "../chunk-MLKGABMK.js";
6
6
  export {
7
7
  userAgentMatches
@@ -1,26 +1,26 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkPBR6AREGcjs = require('../chunk-PBR6AREG.cjs');
3
+ var _chunkISXKMJCNcjs = require('../chunk-ISXKMJCN.cjs');
4
4
 
5
5
 
6
- var _chunkLSCC62CZcjs = require('../chunk-LSCC62CZ.cjs');
6
+ var _chunkEMDI676Gcjs = require('../chunk-EMDI676G.cjs');
7
7
 
8
8
 
9
- var _chunkT5EXFHVAcjs = require('../chunk-T5EXFHVA.cjs');
10
- require('../chunk-MVGYPBYB.cjs');
9
+ var _chunkLSCC62CZcjs = require('../chunk-LSCC62CZ.cjs');
10
+ require('../chunk-ZEFLAOTL.cjs');
11
+ require('../chunk-LVOM5GJ6.cjs');
12
+ require('../chunk-OTFDML3K.cjs');
11
13
 
12
14
 
13
15
  var _chunkL7NBJ4JAcjs = require('../chunk-L7NBJ4JA.cjs');
14
- require('../chunk-D47P7HVZ.cjs');
15
- require('../chunk-YVUR35RN.cjs');
16
- require('../chunk-OTFDML3K.cjs');
17
- require('../chunk-CF5PWWTF.cjs');
18
- require('../chunk-IBXAK2A4.cjs');
16
+ require('../chunk-MK4QBCD5.cjs');
17
+ require('../chunk-WZKRNMF2.cjs');
18
+ require('../chunk-IHVOAORH.cjs');
19
+ require('../chunk-ULICUDDH.cjs');
19
20
 
20
21
 
21
22
  var _chunkB4WEJSEZcjs = require('../chunk-B4WEJSEZ.cjs');
22
23
  require('../chunk-WWSRNCUP.cjs');
23
- require('../chunk-AEZDDJEW.cjs');
24
24
  require('../chunk-WKYMSRCD.cjs');
25
25
  require('../chunk-JU5WX5RU.cjs');
26
26
  require('../chunk-75ZPJI57.cjs');
@@ -40,4 +40,4 @@ function stagingIndicator() {
40
40
 
41
41
 
42
42
 
43
- exports.preflightRequest = _chunkPBR6AREGcjs.preflightRequest; exports.sendCountryCode = _chunkLSCC62CZcjs.sendCountryCode; exports.stagingIndicator = stagingIndicator; exports.whitelist = _chunkT5EXFHVAcjs.whitelist;
43
+ exports.preflightRequest = _chunkEMDI676Gcjs.preflightRequest; exports.sendCountryCode = _chunkLSCC62CZcjs.sendCountryCode; exports.stagingIndicator = stagingIndicator; exports.whitelist = _chunkISXKMJCNcjs.whitelist;
@@ -1,26 +1,26 @@
1
+ import {
2
+ whitelist
3
+ } from "../chunk-IHDSTTO2.js";
1
4
  import {
2
5
  preflightRequest
3
- } from "../chunk-ORW3KDO5.js";
6
+ } from "../chunk-7EA7GFWX.js";
4
7
  import {
5
8
  sendCountryCode
6
9
  } from "../chunk-C32DL3EP.js";
7
- import {
8
- whitelist
9
- } from "../chunk-RL7ZETZR.js";
10
- import "../chunk-S2AAATFN.js";
10
+ import "../chunk-Y7TIDVVC.js";
11
+ import "../chunk-VQGBRWJK.js";
12
+ import "../chunk-PY3JMRDG.js";
11
13
  import {
12
14
  headerEquals
13
15
  } from "../chunk-BZQJYOU2.js";
14
- import "../chunk-KW5YBTSD.js";
15
- import "../chunk-LNQPYKGG.js";
16
- import "../chunk-PY3JMRDG.js";
17
- import "../chunk-LO2BO3RU.js";
18
- import "../chunk-2DE6WPPL.js";
16
+ import "../chunk-YHTUV2SA.js";
17
+ import "../chunk-NWRGD3AH.js";
18
+ import "../chunk-H3RK4USR.js";
19
+ import "../chunk-EEZ7NUJG.js";
19
20
  import {
20
21
  setResponseHeader
21
22
  } from "../chunk-RBBKFG5J.js";
22
23
  import "../chunk-DSSFFJWL.js";
23
- import "../chunk-CQA2DCVF.js";
24
24
  import "../chunk-Q4NP4C3B.js";
25
25
  import "../chunk-BDNPQ7AU.js";
26
26
  import "../chunk-MLKGABMK.js";
@@ -1,9 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkPBR6AREGcjs = require('../chunk-PBR6AREG.cjs');
3
+ var _chunkEMDI676Gcjs = require('../chunk-EMDI676G.cjs');
4
4
  require('../chunk-OTFDML3K.cjs');
5
- require('../chunk-AEZDDJEW.cjs');
5
+ require('../chunk-IHVOAORH.cjs');
6
+ require('../chunk-ULICUDDH.cjs');
6
7
  require('../chunk-75ZPJI57.cjs');
7
8
 
8
9
 
9
- exports.preflightRequest = _chunkPBR6AREGcjs.preflightRequest;
10
+ exports.preflightRequest = _chunkEMDI676Gcjs.preflightRequest;
@@ -1,8 +1,9 @@
1
1
  import {
2
2
  preflightRequest
3
- } from "../chunk-ORW3KDO5.js";
3
+ } from "../chunk-7EA7GFWX.js";
4
4
  import "../chunk-PY3JMRDG.js";
5
- import "../chunk-CQA2DCVF.js";
5
+ import "../chunk-H3RK4USR.js";
6
+ import "../chunk-EEZ7NUJG.js";
6
7
  import "../chunk-MLKGABMK.js";
7
8
  export {
8
9
  preflightRequest
@@ -1,14 +1,14 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkT5EXFHVAcjs = require('../chunk-T5EXFHVA.cjs');
4
- require('../chunk-MVGYPBYB.cjs');
5
- require('../chunk-D47P7HVZ.cjs');
6
- require('../chunk-YVUR35RN.cjs');
7
- require('../chunk-CF5PWWTF.cjs');
8
- require('../chunk-IBXAK2A4.cjs');
3
+ var _chunkISXKMJCNcjs = require('../chunk-ISXKMJCN.cjs');
4
+ require('../chunk-ZEFLAOTL.cjs');
5
+ require('../chunk-LVOM5GJ6.cjs');
6
+ require('../chunk-MK4QBCD5.cjs');
7
+ require('../chunk-WZKRNMF2.cjs');
8
+ require('../chunk-ULICUDDH.cjs');
9
9
  require('../chunk-WWSRNCUP.cjs');
10
10
  require('../chunk-WKYMSRCD.cjs');
11
11
  require('../chunk-75ZPJI57.cjs');
12
12
 
13
13
 
14
- exports.whitelist = _chunkT5EXFHVAcjs.whitelist;
14
+ exports.whitelist = _chunkISXKMJCNcjs.whitelist;
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  whitelist
3
- } from "../chunk-RL7ZETZR.js";
4
- import "../chunk-S2AAATFN.js";
5
- import "../chunk-KW5YBTSD.js";
6
- import "../chunk-LNQPYKGG.js";
7
- import "../chunk-LO2BO3RU.js";
8
- import "../chunk-2DE6WPPL.js";
3
+ } from "../chunk-IHDSTTO2.js";
4
+ import "../chunk-Y7TIDVVC.js";
5
+ import "../chunk-VQGBRWJK.js";
6
+ import "../chunk-YHTUV2SA.js";
7
+ import "../chunk-NWRGD3AH.js";
8
+ import "../chunk-EEZ7NUJG.js";
9
9
  import "../chunk-DSSFFJWL.js";
10
10
  import "../chunk-Q4NP4C3B.js";
11
11
  import "../chunk-MLKGABMK.js";