@rayselfs/cf-rule-engine 1.6.0 → 1.6.2
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 +10 -8
- package/dist/adapters/cf-function.cjs +7 -3
- package/dist/adapters/cf-function.d.cts +2 -1
- package/dist/adapters/cf-function.d.ts +2 -1
- package/dist/adapters/cf-function.js +7 -3
- package/dist/adapters/viewer-request.cjs +9 -0
- package/dist/adapters/viewer-request.d.cts +31 -0
- package/dist/adapters/viewer-request.d.ts +31 -0
- package/dist/adapters/viewer-request.js +9 -0
- package/dist/adapters/viewer-response.cjs +8 -0
- package/dist/adapters/viewer-response.d.cts +37 -0
- package/dist/adapters/viewer-response.d.ts +37 -0
- package/dist/adapters/viewer-response.js +8 -0
- package/dist/behaviors/index.cjs +9 -9
- package/dist/behaviors/index.js +9 -9
- package/dist/cf-function-BkfWpTfl.d.cts +10 -0
- package/dist/cf-function-CZwCWch-.d.ts +10 -0
- package/dist/chunk-5ZIB3AJ7.cjs +20 -0
- package/dist/chunk-6NFAPLQ7.cjs +39 -0
- package/dist/chunk-BJZPAQHW.js +25 -0
- package/dist/chunk-CQ7YZ3AR.js +39 -0
- package/dist/chunk-N6QAQALU.cjs +36 -0
- package/dist/chunk-PR5UQJCC.js +20 -0
- package/dist/{chunk-UKB5JAX4.js → chunk-RL7ZETZR.js} +8 -8
- package/dist/chunk-SGN2N3WI.cjs +25 -0
- package/dist/{chunk-WW7YVRAI.cjs → chunk-T5EXFHVA.cjs} +7 -7
- package/dist/chunk-TURH5IFN.js +36 -0
- package/dist/criteria/index.cjs +13 -13
- package/dist/criteria/index.js +15 -15
- package/dist/helpers/index.cjs +8 -8
- package/dist/helpers/index.d.cts +1 -1
- package/dist/helpers/index.d.ts +1 -1
- package/dist/helpers/index.js +9 -9
- package/dist/helpers/{staging-whitelist.cjs → whitelist.cjs} +4 -4
- package/dist/helpers/{staging-whitelist.d.cts → whitelist.d.cts} +11 -11
- package/dist/helpers/{staging-whitelist.d.ts → whitelist.d.ts} +11 -11
- package/dist/helpers/{staging-whitelist.js → whitelist.js} +5 -5
- package/dist/index.cjs +5 -2
- package/dist/index.d.cts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +4 -1
- package/package.json +1 -1
- package/dist/cf-function-C9eF2O9s.d.ts +0 -70
- package/dist/cf-function-DIQHy8L7.d.cts +0 -70
- package/dist/chunk-NPMGSPNL.js +0 -88
- package/dist/chunk-SAXDN5NS.cjs +0 -88
package/dist/chunk-NPMGSPNL.js
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
runRules
|
|
3
|
-
} from "./chunk-Q4NP4C3B.js";
|
|
4
|
-
import {
|
|
5
|
-
__export
|
|
6
|
-
} from "./chunk-MLKGABMK.js";
|
|
7
|
-
|
|
8
|
-
// src/adapters/cf-function.ts
|
|
9
|
-
var cf_function_exports = {};
|
|
10
|
-
__export(cf_function_exports, {
|
|
11
|
-
defineViewerRequest: () => defineViewerRequest,
|
|
12
|
-
defineViewerResponse: () => defineViewerResponse
|
|
13
|
-
});
|
|
14
|
-
function normalizeRequest(event) {
|
|
15
|
-
const ev = event;
|
|
16
|
-
const req = ev.request;
|
|
17
|
-
const viewer = ev.viewer;
|
|
18
|
-
const headers = req.headers ?? {};
|
|
19
|
-
return {
|
|
20
|
-
uri: req.uri,
|
|
21
|
-
method: req.method,
|
|
22
|
-
protocol: "https",
|
|
23
|
-
querystring: req.querystring ?? {},
|
|
24
|
-
headers,
|
|
25
|
-
clientIp: viewer?.ip ?? "",
|
|
26
|
-
country: headers["cloudfront-viewer-country"]?.value
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
function denormalizeRequest(req, cookies) {
|
|
30
|
-
return {
|
|
31
|
-
method: req.method,
|
|
32
|
-
uri: req.uri,
|
|
33
|
-
querystring: req.querystring,
|
|
34
|
-
headers: req.headers,
|
|
35
|
-
cookies
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
function denormalizeResponse(res) {
|
|
39
|
-
return {
|
|
40
|
-
statusCode: res.statusCode,
|
|
41
|
-
statusDescription: res.statusDescription,
|
|
42
|
-
headers: res.headers,
|
|
43
|
-
body: res.body ?? ""
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
function defineViewerRequest(rules) {
|
|
47
|
-
return (event) => {
|
|
48
|
-
const ev = event;
|
|
49
|
-
const evReq = ev.request;
|
|
50
|
-
const originalCookies = evReq.cookies ?? {};
|
|
51
|
-
const req = normalizeRequest(event);
|
|
52
|
-
const result = runRules(rules, req);
|
|
53
|
-
if (result.action === "respond") return denormalizeResponse(result.response);
|
|
54
|
-
return denormalizeRequest(result.request, originalCookies);
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
function defineViewerResponse(responseBehaviors) {
|
|
58
|
-
return (event) => {
|
|
59
|
-
const ev = event;
|
|
60
|
-
const evRes = ev.response;
|
|
61
|
-
const req = normalizeRequest(event);
|
|
62
|
-
let response = {
|
|
63
|
-
statusCode: evRes?.statusCode ?? 200,
|
|
64
|
-
statusDescription: evRes?.statusDescription,
|
|
65
|
-
headers: evRes?.headers ?? {},
|
|
66
|
-
body: evRes?.body
|
|
67
|
-
};
|
|
68
|
-
for (let i = 0; i < responseBehaviors.length; i++) {
|
|
69
|
-
const entry = responseBehaviors[i];
|
|
70
|
-
if (typeof entry === "function") {
|
|
71
|
-
response = entry(req, response);
|
|
72
|
-
} else if (!entry.criteria || entry.criteria(req)) {
|
|
73
|
-
response = entry.behavior(req, response);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
const normalized = denormalizeResponse(response);
|
|
77
|
-
if (!response.body) {
|
|
78
|
-
delete normalized.body;
|
|
79
|
-
}
|
|
80
|
-
return Object.assign({}, evRes, normalized);
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export {
|
|
85
|
-
defineViewerRequest,
|
|
86
|
-
defineViewerResponse,
|
|
87
|
-
cf_function_exports
|
|
88
|
-
};
|
package/dist/chunk-SAXDN5NS.cjs
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
-
|
|
3
|
-
var _chunkWKYMSRCDcjs = require('./chunk-WKYMSRCD.cjs');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var _chunk75ZPJI57cjs = require('./chunk-75ZPJI57.cjs');
|
|
7
|
-
|
|
8
|
-
// src/adapters/cf-function.ts
|
|
9
|
-
var cf_function_exports = {};
|
|
10
|
-
_chunk75ZPJI57cjs.__export.call(void 0, cf_function_exports, {
|
|
11
|
-
defineViewerRequest: () => defineViewerRequest,
|
|
12
|
-
defineViewerResponse: () => defineViewerResponse
|
|
13
|
-
});
|
|
14
|
-
function normalizeRequest(event) {
|
|
15
|
-
const ev = event;
|
|
16
|
-
const req = ev.request;
|
|
17
|
-
const viewer = ev.viewer;
|
|
18
|
-
const headers = _nullishCoalesce(req.headers, () => ( {}));
|
|
19
|
-
return {
|
|
20
|
-
uri: req.uri,
|
|
21
|
-
method: req.method,
|
|
22
|
-
protocol: "https",
|
|
23
|
-
querystring: _nullishCoalesce(req.querystring, () => ( {})),
|
|
24
|
-
headers,
|
|
25
|
-
clientIp: _nullishCoalesce(_optionalChain([viewer, 'optionalAccess', _ => _.ip]), () => ( "")),
|
|
26
|
-
country: _optionalChain([headers, 'access', _2 => _2["cloudfront-viewer-country"], 'optionalAccess', _3 => _3.value])
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
function denormalizeRequest(req, cookies) {
|
|
30
|
-
return {
|
|
31
|
-
method: req.method,
|
|
32
|
-
uri: req.uri,
|
|
33
|
-
querystring: req.querystring,
|
|
34
|
-
headers: req.headers,
|
|
35
|
-
cookies
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
function denormalizeResponse(res) {
|
|
39
|
-
return {
|
|
40
|
-
statusCode: res.statusCode,
|
|
41
|
-
statusDescription: res.statusDescription,
|
|
42
|
-
headers: res.headers,
|
|
43
|
-
body: _nullishCoalesce(res.body, () => ( ""))
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
function defineViewerRequest(rules) {
|
|
47
|
-
return (event) => {
|
|
48
|
-
const ev = event;
|
|
49
|
-
const evReq = ev.request;
|
|
50
|
-
const originalCookies = _nullishCoalesce(evReq.cookies, () => ( {}));
|
|
51
|
-
const req = normalizeRequest(event);
|
|
52
|
-
const result = _chunkWKYMSRCDcjs.runRules.call(void 0, rules, req);
|
|
53
|
-
if (result.action === "respond") return denormalizeResponse(result.response);
|
|
54
|
-
return denormalizeRequest(result.request, originalCookies);
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
function defineViewerResponse(responseBehaviors) {
|
|
58
|
-
return (event) => {
|
|
59
|
-
const ev = event;
|
|
60
|
-
const evRes = ev.response;
|
|
61
|
-
const req = normalizeRequest(event);
|
|
62
|
-
let response = {
|
|
63
|
-
statusCode: _nullishCoalesce(_optionalChain([evRes, 'optionalAccess', _4 => _4.statusCode]), () => ( 200)),
|
|
64
|
-
statusDescription: _optionalChain([evRes, 'optionalAccess', _5 => _5.statusDescription]),
|
|
65
|
-
headers: _nullishCoalesce(_optionalChain([evRes, 'optionalAccess', _6 => _6.headers]), () => ( {})),
|
|
66
|
-
body: _optionalChain([evRes, 'optionalAccess', _7 => _7.body])
|
|
67
|
-
};
|
|
68
|
-
for (let i = 0; i < responseBehaviors.length; i++) {
|
|
69
|
-
const entry = responseBehaviors[i];
|
|
70
|
-
if (typeof entry === "function") {
|
|
71
|
-
response = entry(req, response);
|
|
72
|
-
} else if (!entry.criteria || entry.criteria(req)) {
|
|
73
|
-
response = entry.behavior(req, response);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
const normalized = denormalizeResponse(response);
|
|
77
|
-
if (!response.body) {
|
|
78
|
-
delete normalized.body;
|
|
79
|
-
}
|
|
80
|
-
return Object.assign({}, evRes, normalized);
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
exports.defineViewerRequest = defineViewerRequest; exports.defineViewerResponse = defineViewerResponse; exports.cf_function_exports = cf_function_exports;
|