@webiny/aws-helpers 0.0.0-unstable.78f581c1d2 → 0.0.0-unstable.7be00a75a9

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 (78) hide show
  1. package/LICENSE +2 -7
  2. package/README.md +11 -0
  3. package/cloudfrontFunctions/cookies.d.ts +1 -1
  4. package/cloudfrontFunctions/cookies.js +18 -27
  5. package/cloudfrontFunctions/cookies.js.map +1 -1
  6. package/cloudfrontFunctions/headers.d.ts +1 -1
  7. package/cloudfrontFunctions/headers.js +22 -23
  8. package/cloudfrontFunctions/headers.js.map +1 -1
  9. package/cloudfrontFunctions/index.d.ts +6 -6
  10. package/cloudfrontFunctions/index.js +6 -6
  11. package/cloudfrontFunctions/querystring.d.ts +1 -1
  12. package/cloudfrontFunctions/querystring.js +16 -33
  13. package/cloudfrontFunctions/querystring.js.map +1 -1
  14. package/cloudfrontFunctions/redirect.d.ts +1 -1
  15. package/cloudfrontFunctions/redirect.js +19 -21
  16. package/cloudfrontFunctions/redirect.js.map +1 -1
  17. package/cloudfrontFunctions/types.d.ts +6 -6
  18. package/cloudfrontFunctions/types.js +0 -1
  19. package/cloudfrontFunctions/utils.d.ts +1 -1
  20. package/cloudfrontFunctions/utils.js +8 -19
  21. package/cloudfrontFunctions/utils.js.map +1 -1
  22. package/index.d.ts +1 -1
  23. package/index.js +1 -1
  24. package/lambdaEdge/cookies.d.ts +1 -1
  25. package/lambdaEdge/cookies.js +20 -23
  26. package/lambdaEdge/cookies.js.map +1 -1
  27. package/lambdaEdge/headers.d.ts +1 -1
  28. package/lambdaEdge/headers.js +9 -6
  29. package/lambdaEdge/headers.js.map +1 -1
  30. package/lambdaEdge/index.d.ts +7 -7
  31. package/lambdaEdge/index.js +7 -7
  32. package/lambdaEdge/redirect.d.ts +1 -1
  33. package/lambdaEdge/redirect.js +29 -29
  34. package/lambdaEdge/redirect.js.map +1 -1
  35. package/lambdaEdge/request.d.ts +1 -1
  36. package/lambdaEdge/request.js +26 -19
  37. package/lambdaEdge/request.js.map +1 -1
  38. package/lambdaEdge/response.d.ts +1 -1
  39. package/lambdaEdge/response.js +10 -7
  40. package/lambdaEdge/response.js.map +1 -1
  41. package/lambdaEdge/types.d.ts +8 -8
  42. package/lambdaEdge/types.js +0 -1
  43. package/lambdaEdge/utils.d.ts +1 -1
  44. package/lambdaEdge/utils.js +8 -5
  45. package/lambdaEdge/utils.js.map +1 -1
  46. package/package.json +11 -8
  47. package/rslib-runtime.js +14 -0
  48. package/rslib-runtime.js.map +1 -0
  49. package/stagedRollouts/functions/adminOriginRequest.js +24 -27
  50. package/stagedRollouts/functions/adminOriginRequest.js.map +1 -1
  51. package/stagedRollouts/functions/configOriginRequest.js +48 -48
  52. package/stagedRollouts/functions/configOriginRequest.js.map +1 -1
  53. package/stagedRollouts/functions/originRequest.js +15 -14
  54. package/stagedRollouts/functions/originRequest.js.map +1 -1
  55. package/stagedRollouts/functions/viewerRequest.js +20 -40
  56. package/stagedRollouts/functions/viewerRequest.js.map +1 -1
  57. package/stagedRollouts/functions/viewerResponse.js +12 -16
  58. package/stagedRollouts/functions/viewerResponse.js.map +1 -1
  59. package/stagedRollouts/utils/common.js +8 -5
  60. package/stagedRollouts/utils/common.js.map +1 -1
  61. package/stagedRollouts/utils/headerBlacklist.js +30 -12
  62. package/stagedRollouts/utils/headerBlacklist.js.map +1 -1
  63. package/stagedRollouts/utils/loadOriginPage.d.ts +1 -1
  64. package/stagedRollouts/utils/loadOriginPage.js +75 -98
  65. package/stagedRollouts/utils/loadOriginPage.js.map +1 -1
  66. package/stagedRollouts/utils/loadTrafficSplittingConfig.d.ts +2 -2
  67. package/stagedRollouts/utils/loadTrafficSplittingConfig.js +39 -57
  68. package/stagedRollouts/utils/loadTrafficSplittingConfig.js.map +1 -1
  69. package/stagedRollouts/utils/loadVariantOrigin.d.ts +2 -2
  70. package/stagedRollouts/utils/loadVariantOrigin.js +45 -77
  71. package/stagedRollouts/utils/loadVariantOrigin.js.map +1 -1
  72. package/stagedRollouts/utils/log.js +6 -7
  73. package/stagedRollouts/utils/log.js.map +1 -1
  74. package/cloudfrontFunctions/index.js.map +0 -1
  75. package/cloudfrontFunctions/types.js.map +0 -1
  76. package/index.js.map +0 -1
  77. package/lambdaEdge/index.js.map +0 -1
  78. package/lambdaEdge/types.js.map +0 -1
@@ -1,83 +1,51 @@
1
- import { getHeader, notFoundResponse } from "../../lambdaEdge";
2
- import { variantFixedKey, variantRandomKey } from "../utils/common";
3
- import { loadTrafficSplittingConfig } from "../utils/loadTrafficSplittingConfig";
4
- import { logDebug } from "./log";
5
- export async function loadVariantOrigin(event) {
6
- const cf = event.Records[0].cf;
7
- const request = cf.request;
8
- const config = await loadTrafficSplittingConfig(event);
9
- const variantFixed = getHeader(request.headers, variantFixedKey);
10
-
11
- if (variantFixed) {
12
- const variantConfig = config[variantFixed];
13
-
14
- if (variantConfig) {
15
- return {
16
- variant: variantConfig
17
- };
18
- } else {
19
- return notFoundResponse(`No variant ${variantFixed} found`);
1
+ import { getHeader, notFoundResponse } from "../../lambdaEdge/index.js";
2
+ import { variantFixedKey, variantRandomKey } from "./common.js";
3
+ import { loadTrafficSplittingConfig } from "./loadTrafficSplittingConfig.js";
4
+ import { logDebug } from "./log.js";
5
+ async function loadVariantOrigin(event) {
6
+ const cf = event.Records[0].cf;
7
+ const request = cf.request;
8
+ const config = await loadTrafficSplittingConfig(event);
9
+ const variantFixed = getHeader(request.headers, variantFixedKey);
10
+ if (variantFixed) {
11
+ const variantConfig = config[variantFixed];
12
+ if (variantConfig) return {
13
+ variant: variantConfig
14
+ };
15
+ return notFoundResponse(`No variant ${variantFixed} found`);
20
16
  }
21
- }
22
-
23
- const variantRandom = Number(getHeader(request.headers, variantRandomKey));
24
-
25
- if (isNaN(variantRandom)) {
26
- logDebug("No random variant passed, passing the request"); // Random variant header should be always present.
27
- // It it's not, something bad happened, so we just pass request further.
28
-
29
- return request;
30
- }
31
-
32
- logDebug(`Variant random ${variantRandom}`);
33
- const variantConfig = getRandomVariant(config, variantRandom);
34
-
35
- if (!variantConfig) {
36
- // If no variant is matching the random value, just return 404.
37
- // This should happen only if there is really not a single variant serving traffic.
38
- logDebug(`No variant is found`);
39
- return notFoundResponse(`No variant is found`);
40
- }
41
-
42
- return {
43
- variant: variantConfig
44
- };
17
+ const variantRandom = Number(getHeader(request.headers, variantRandomKey));
18
+ if (isNaN(variantRandom)) {
19
+ logDebug("No random variant passed, passing the request");
20
+ return request;
21
+ }
22
+ logDebug(`Variant random ${variantRandom}`);
23
+ const variantConfig = getRandomVariant(config, variantRandom);
24
+ if (!variantConfig) {
25
+ logDebug("No variant is found");
26
+ return notFoundResponse("No variant is found");
27
+ }
28
+ return {
29
+ variant: variantConfig
30
+ };
45
31
  }
46
-
47
32
  function getRandomVariant(config, random) {
48
- let totalWeight = 0;
49
- const variants = Object.keys(config);
50
-
51
- for (const variant of variants) {
52
- const variantConfig = config[variant];
53
-
54
- if (variantConfig.weight) {
55
- // do not count bad or negative weights
56
- totalWeight += variantConfig.weight;
33
+ let totalWeight = 0;
34
+ const variants = Object.keys(config);
35
+ for (const variant of variants){
36
+ const variantConfig = config[variant];
37
+ if (variantConfig.weight) totalWeight += variantConfig.weight;
57
38
  }
58
- }
59
-
60
- if (totalWeight <= 0 || random < 0) {
61
- return;
62
- } // Normalize random value to total weight of traffic splitting rates.
63
-
64
-
65
- random = random * totalWeight / 100;
66
-
67
- for (const variant of variants) {
68
- const variantConfig = config[variant];
69
-
70
- if (!variantConfig.weight) {
71
- continue;
39
+ if (totalWeight <= 0 || random < 0) return;
40
+ random = random * totalWeight / 100;
41
+ for (const variant of variants){
42
+ const variantConfig = config[variant];
43
+ if (variantConfig.weight) if (random <= variantConfig.weight) {
44
+ logDebug(`Variant ${variant} selected`);
45
+ return config[variant];
46
+ } else random -= variantConfig.weight;
72
47
  }
48
+ }
49
+ export { loadVariantOrigin };
73
50
 
74
- if (random <= variantConfig.weight) {
75
- logDebug(`Variant ${variant} selected`);
76
- return config[variant];
77
- } else {
78
- random -= variantConfig.weight;
79
- }
80
- }
81
-
82
- return;
83
- }
51
+ //# sourceMappingURL=loadVariantOrigin.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getHeader","notFoundResponse","variantFixedKey","variantRandomKey","loadTrafficSplittingConfig","logDebug","loadVariantOrigin","event","cf","Records","request","config","variantFixed","headers","variantConfig","variant","variantRandom","Number","isNaN","getRandomVariant","random","totalWeight","variants","Object","keys","weight"],"sources":["loadVariantOrigin.ts"],"sourcesContent":["import { CloudFrontRequestEvent, getHeader, notFoundResponse } from \"~/lambdaEdge\";\n\nimport { variantFixedKey, variantRandomKey } from \"../utils/common\";\nimport { GatewayConfig, loadTrafficSplittingConfig } from \"../utils/loadTrafficSplittingConfig\";\nimport { logDebug } from \"./log\";\n\nexport async function loadVariantOrigin(event: CloudFrontRequestEvent) {\n const cf = event.Records[0].cf;\n const request = cf.request;\n\n const config = await loadTrafficSplittingConfig(event);\n\n const variantFixed = getHeader(request.headers, variantFixedKey);\n if (variantFixed) {\n const variantConfig = config[variantFixed];\n if (variantConfig) {\n return { variant: variantConfig };\n } else {\n return notFoundResponse(`No variant ${variantFixed} found`);\n }\n }\n\n const variantRandom = Number(getHeader(request.headers, variantRandomKey));\n if (isNaN(variantRandom)) {\n logDebug(\"No random variant passed, passing the request\");\n // Random variant header should be always present.\n // It it's not, something bad happened, so we just pass request further.\n return request;\n }\n\n logDebug(`Variant random ${variantRandom}`);\n\n const variantConfig = getRandomVariant(config, variantRandom);\n if (!variantConfig) {\n // If no variant is matching the random value, just return 404.\n // This should happen only if there is really not a single variant serving traffic.\n logDebug(`No variant is found`);\n return notFoundResponse(`No variant is found`);\n }\n\n return { variant: variantConfig };\n}\n\nfunction getRandomVariant(config: GatewayConfig, random: number) {\n let totalWeight = 0;\n\n const variants = Object.keys(config);\n for (const variant of variants) {\n const variantConfig = config[variant];\n if (variantConfig.weight) {\n // do not count bad or negative weights\n totalWeight += variantConfig.weight;\n }\n }\n\n if (totalWeight <= 0 || random < 0) {\n return;\n }\n\n // Normalize random value to total weight of traffic splitting rates.\n random = (random * totalWeight) / 100;\n\n for (const variant of variants) {\n const variantConfig = config[variant];\n if (!variantConfig.weight) {\n continue;\n }\n\n if (random <= variantConfig.weight) {\n logDebug(`Variant ${variant} selected`);\n return config[variant];\n } else {\n random -= variantConfig.weight;\n }\n }\n\n return;\n}\n"],"mappings":"AAAA,SAAiCA,SAAjC,EAA4CC,gBAA5C;AAEA,SAASC,eAAT,EAA0BC,gBAA1B;AACA,SAAwBC,0BAAxB;AACA,SAASC,QAAT;AAEA,OAAO,eAAeC,iBAAf,CAAiCC,KAAjC,EAAgE;EACnE,MAAMC,EAAE,GAAGD,KAAK,CAACE,OAAN,CAAc,CAAd,EAAiBD,EAA5B;EACA,MAAME,OAAO,GAAGF,EAAE,CAACE,OAAnB;EAEA,MAAMC,MAAM,GAAG,MAAMP,0BAA0B,CAACG,KAAD,CAA/C;EAEA,MAAMK,YAAY,GAAGZ,SAAS,CAACU,OAAO,CAACG,OAAT,EAAkBX,eAAlB,CAA9B;;EACA,IAAIU,YAAJ,EAAkB;IACd,MAAME,aAAa,GAAGH,MAAM,CAACC,YAAD,CAA5B;;IACA,IAAIE,aAAJ,EAAmB;MACf,OAAO;QAAEC,OAAO,EAAED;MAAX,CAAP;IACH,CAFD,MAEO;MACH,OAAOb,gBAAgB,CAAE,cAAaW,YAAa,QAA5B,CAAvB;IACH;EACJ;;EAED,MAAMI,aAAa,GAAGC,MAAM,CAACjB,SAAS,CAACU,OAAO,CAACG,OAAT,EAAkBV,gBAAlB,CAAV,CAA5B;;EACA,IAAIe,KAAK,CAACF,aAAD,CAAT,EAA0B;IACtBX,QAAQ,CAAC,+CAAD,CAAR,CADsB,CAEtB;IACA;;IACA,OAAOK,OAAP;EACH;;EAEDL,QAAQ,CAAE,kBAAiBW,aAAc,EAAjC,CAAR;EAEA,MAAMF,aAAa,GAAGK,gBAAgB,CAACR,MAAD,EAASK,aAAT,CAAtC;;EACA,IAAI,CAACF,aAAL,EAAoB;IAChB;IACA;IACAT,QAAQ,CAAE,qBAAF,CAAR;IACA,OAAOJ,gBAAgB,CAAE,qBAAF,CAAvB;EACH;;EAED,OAAO;IAAEc,OAAO,EAAED;EAAX,CAAP;AACH;;AAED,SAASK,gBAAT,CAA0BR,MAA1B,EAAiDS,MAAjD,EAAiE;EAC7D,IAAIC,WAAW,GAAG,CAAlB;EAEA,MAAMC,QAAQ,GAAGC,MAAM,CAACC,IAAP,CAAYb,MAAZ,CAAjB;;EACA,KAAK,MAAMI,OAAX,IAAsBO,QAAtB,EAAgC;IAC5B,MAAMR,aAAa,GAAGH,MAAM,CAACI,OAAD,CAA5B;;IACA,IAAID,aAAa,CAACW,MAAlB,EAA0B;MACtB;MACAJ,WAAW,IAAIP,aAAa,CAACW,MAA7B;IACH;EACJ;;EAED,IAAIJ,WAAW,IAAI,CAAf,IAAoBD,MAAM,GAAG,CAAjC,EAAoC;IAChC;EACH,CAd4D,CAgB7D;;;EACAA,MAAM,GAAIA,MAAM,GAAGC,WAAV,GAAyB,GAAlC;;EAEA,KAAK,MAAMN,OAAX,IAAsBO,QAAtB,EAAgC;IAC5B,MAAMR,aAAa,GAAGH,MAAM,CAACI,OAAD,CAA5B;;IACA,IAAI,CAACD,aAAa,CAACW,MAAnB,EAA2B;MACvB;IACH;;IAED,IAAIL,MAAM,IAAIN,aAAa,CAACW,MAA5B,EAAoC;MAChCpB,QAAQ,CAAE,WAAUU,OAAQ,WAApB,CAAR;MACA,OAAOJ,MAAM,CAACI,OAAD,CAAb;IACH,CAHD,MAGO;MACHK,MAAM,IAAIN,aAAa,CAACW,MAAxB;IACH;EACJ;;EAED;AACH"}
1
+ {"version":3,"file":"stagedRollouts/utils/loadVariantOrigin.js","sources":["../../../src/stagedRollouts/utils/loadVariantOrigin.ts"],"sourcesContent":["import type { CloudFrontRequestEvent } from \"~/lambdaEdge/index.js\";\nimport { getHeader, notFoundResponse } from \"~/lambdaEdge/index.js\";\n\nimport { variantFixedKey, variantRandomKey } from \"../utils/common.js\";\nimport type { GatewayConfig } from \"../utils/loadTrafficSplittingConfig.js\";\nimport { loadTrafficSplittingConfig } from \"../utils/loadTrafficSplittingConfig.js\";\nimport { logDebug } from \"./log.js\";\n\nexport async function loadVariantOrigin(event: CloudFrontRequestEvent) {\n const cf = event.Records[0].cf;\n const request = cf.request;\n\n const config = await loadTrafficSplittingConfig(event);\n\n const variantFixed = getHeader(request.headers, variantFixedKey);\n if (variantFixed) {\n const variantConfig = config[variantFixed];\n if (variantConfig) {\n return { variant: variantConfig };\n } else {\n return notFoundResponse(`No variant ${variantFixed} found`);\n }\n }\n\n const variantRandom = Number(getHeader(request.headers, variantRandomKey));\n if (isNaN(variantRandom)) {\n logDebug(\"No random variant passed, passing the request\");\n // Random variant header should be always present.\n // It it's not, something bad happened, so we just pass request further.\n return request;\n }\n\n logDebug(`Variant random ${variantRandom}`);\n\n const variantConfig = getRandomVariant(config, variantRandom);\n if (!variantConfig) {\n // If no variant is matching the random value, just return 404.\n // This should happen only if there is really not a single variant serving traffic.\n logDebug(`No variant is found`);\n return notFoundResponse(`No variant is found`);\n }\n\n return { variant: variantConfig };\n}\n\nfunction getRandomVariant(config: GatewayConfig, random: number) {\n let totalWeight = 0;\n\n const variants = Object.keys(config);\n for (const variant of variants) {\n const variantConfig = config[variant];\n if (variantConfig.weight) {\n // do not count bad or negative weights\n totalWeight += variantConfig.weight;\n }\n }\n\n if (totalWeight <= 0 || random < 0) {\n return;\n }\n\n // Normalize random value to total weight of traffic splitting rates.\n random = (random * totalWeight) / 100;\n\n for (const variant of variants) {\n const variantConfig = config[variant];\n if (!variantConfig.weight) {\n continue;\n }\n\n if (random <= variantConfig.weight) {\n logDebug(`Variant ${variant} selected`);\n return config[variant];\n } else {\n random -= variantConfig.weight;\n }\n }\n\n return;\n}\n"],"names":["loadVariantOrigin","event","cf","request","config","loadTrafficSplittingConfig","variantFixed","getHeader","variantFixedKey","variantConfig","notFoundResponse","variantRandom","Number","variantRandomKey","isNaN","logDebug","getRandomVariant","random","totalWeight","variants","Object","variant"],"mappings":";;;;AAQO,eAAeA,kBAAkBC,KAA6B;IACjE,MAAMC,KAAKD,MAAM,OAAO,CAAC,EAAE,CAAC,EAAE;IAC9B,MAAME,UAAUD,GAAG,OAAO;IAE1B,MAAME,SAAS,MAAMC,2BAA2BJ;IAEhD,MAAMK,eAAeC,UAAUJ,QAAQ,OAAO,EAAEK;IAChD,IAAIF,cAAc;QACd,MAAMG,gBAAgBL,MAAM,CAACE,aAAa;QAC1C,IAAIG,eACA,OAAO;YAAE,SAASA;QAAc;QAEhC,OAAOC,iBAAiB,CAAC,WAAW,EAAEJ,aAAa,MAAM,CAAC;IAElE;IAEA,MAAMK,gBAAgBC,OAAOL,UAAUJ,QAAQ,OAAO,EAAEU;IACxD,IAAIC,MAAMH,gBAAgB;QACtBI,SAAS;QAGT,OAAOZ;IACX;IAEAY,SAAS,CAAC,eAAe,EAAEJ,eAAe;IAE1C,MAAMF,gBAAgBO,iBAAiBZ,QAAQO;IAC/C,IAAI,CAACF,eAAe;QAGhBM,SAAS;QACT,OAAOL,iBAAiB;IAC5B;IAEA,OAAO;QAAE,SAASD;IAAc;AACpC;AAEA,SAASO,iBAAiBZ,MAAqB,EAAEa,MAAc;IAC3D,IAAIC,cAAc;IAElB,MAAMC,WAAWC,OAAO,IAAI,CAAChB;IAC7B,KAAK,MAAMiB,WAAWF,SAAU;QAC5B,MAAMV,gBAAgBL,MAAM,CAACiB,QAAQ;QACrC,IAAIZ,cAAc,MAAM,EAEpBS,eAAeT,cAAc,MAAM;IAE3C;IAEA,IAAIS,eAAe,KAAKD,SAAS,GAC7B;IAIJA,SAAUA,SAASC,cAAe;IAElC,KAAK,MAAMG,WAAWF,SAAU;QAC5B,MAAMV,gBAAgBL,MAAM,CAACiB,QAAQ;QACrC,IAAKZ,cAAc,MAAM,EAIzB,IAAIQ,UAAUR,cAAc,MAAM,EAAE;YAChCM,SAAS,CAAC,QAAQ,EAAEM,QAAQ,SAAS,CAAC;YACtC,OAAOjB,MAAM,CAACiB,QAAQ;QAC1B,OACIJ,UAAUR,cAAc,MAAM;IAEtC;AAGJ"}
@@ -1,7 +1,6 @@
1
- export function logDebug(...args) {
2
- // If DEBUG variable is not set during build,
3
- // this function should be minified to an empty one and removed completely from the bundle.
4
- if (process.env.DEBUG === "true") {
5
- console.log(...args);
6
- }
7
- }
1
+ function logDebug(...args) {
2
+ if ("true" === process.env.DEBUG) console.log(...args);
3
+ }
4
+ export { logDebug };
5
+
6
+ //# sourceMappingURL=log.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["logDebug","args","process","env","DEBUG","console","log"],"sources":["log.ts"],"sourcesContent":["export function logDebug(...args: any[]) {\n // If DEBUG variable is not set during build,\n // this function should be minified to an empty one and removed completely from the bundle.\n if (process.env.DEBUG === \"true\") {\n console.log(...args);\n }\n}\n"],"mappings":"AAAA,OAAO,SAASA,QAAT,CAAkB,GAAGC,IAArB,EAAkC;EACrC;EACA;EACA,IAAIC,OAAO,CAACC,GAAR,CAAYC,KAAZ,KAAsB,MAA1B,EAAkC;IAC9BC,OAAO,CAACC,GAAR,CAAY,GAAGL,IAAf;EACH;AACJ"}
1
+ {"version":3,"file":"stagedRollouts/utils/log.js","sources":["../../../src/stagedRollouts/utils/log.ts"],"sourcesContent":["export function logDebug(...args: any[]) {\n // If DEBUG variable is not set during build,\n // this function should be minified to an empty one and removed completely from the bundle.\n if (process.env.DEBUG === \"true\") {\n console.log(...args);\n }\n}\n"],"names":["logDebug","args","process","console"],"mappings":"AAAO,SAASA,SAAS,GAAGC,IAAW;IAGnC,IAAIC,AAAsB,WAAtBA,QAAQ,GAAG,CAAC,KAAK,EACjBC,QAAQ,GAAG,IAAIF;AAEvB"}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./cookies\";\nexport * from \"./headers\";\nexport * from \"./querystring\";\nexport * from \"./redirect\";\nexport * from \"./types\";\nexport * from \"./utils\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA"}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["// These are types for CloudFront Functions.\n// They differ from Lambda@Edge types.\n// See also: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/functions-event-structure.html\n\nexport interface SingleValue {\n value: string;\n}\n\nexport interface Header extends SingleValue {\n key: string;\n}\n\nexport interface ResponseCookie extends SingleValue {\n attributes?: string;\n}\n\n/**\n * In principle you may have multiple same headers and cookies in one request or response.\n * This is a wrapper interface for simpler use.\n */\nexport type MultiValue<T> = T & {\n /** Additional values for the same item (for example multiple values for the same cookie.) */\n multivalue?: T[];\n};\n\nexport type MultiValueDictionary<T> = Record<string, MultiValue<T> | undefined>;\n\nexport type CloudFrontHeaders = MultiValueDictionary<SingleValue>;\nexport type CloudFrontRequestCookies = MultiValueDictionary<SingleValue>;\nexport type CloudFrontResponseCookies = MultiValueDictionary<ResponseCookie>;\nexport type CloudFrontQuery = MultiValueDictionary<SingleValue>;\n\n/**\n * Interface type for request in CloudFront Functions\n * see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/functions-event-structure.html\n */\nexport interface CloudFrontRequest {\n method: string;\n uri: string;\n querystring?: CloudFrontQuery;\n headers: CloudFrontHeaders;\n cookies?: CloudFrontRequestCookies;\n}\n\n/**\n * Interface type for response in CloudFront Functions\n * see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/functions-event-structure.html\n */\nexport interface CloudFrontResponse {\n statusCode: number;\n statusDescription?: string;\n headers: CloudFrontHeaders;\n cookies?: CloudFrontResponseCookies;\n}\n\n/**\n * Interface type for request event in CloudFront Functions\n * see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/functions-event-structure.html\n */\nexport interface CloudFrontRequestEvent {\n version: string;\n context: {\n eventType: \"viewer-request\";\n };\n viewer: {\n ip: string;\n };\n request: CloudFrontRequest;\n}\n\n/**\n * Interface type for response event in CloudFront Functions\n * see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/functions-event-structure.html\n */\nexport interface CloudFrontResponseEvent {\n version: string;\n context: {\n eventType: \"viewer-response\";\n };\n viewer: {\n ip: string;\n };\n response: CloudFrontResponse;\n request: CloudFrontRequest;\n}\n\nexport interface CloudFrontRequestHandler {\n (event: CloudFrontRequestEvent): CloudFrontRequest | CloudFrontResponse;\n}\n\nexport interface CloudFrontResponseHandler {\n (event: CloudFrontResponseEvent): CloudFrontResponse;\n}\n"],"mappings":""}
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./lambdaEdge\";\n"],"mappings":"AAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./cookies\";\nexport * from \"./headers\";\nexport * from \"./redirect\";\nexport * from \"./request\";\nexport * from \"./response\";\nexport * from \"./types\";\nexport * from \"./utils\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA"}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import * as awsLambda from \"aws-lambda\";\n\n// We have to re-export types one by one.\n// Otherwise `aws-lambda` will land in JS output.\n\nexport type CloudFrontEvent = awsLambda.CloudFrontEvent;\nexport type CloudFrontRequest = awsLambda.CloudFrontRequest;\nexport type CloudFrontRequestEvent = awsLambda.CloudFrontRequestEvent;\nexport type CloudFrontResponse = awsLambda.CloudFrontResponse & { body?: string };\nexport type CloudFrontResponseEvent = awsLambda.CloudFrontResponseEvent;\nexport type CloudFrontResultResponse = awsLambda.CloudFrontResultResponse;\nexport type CloudFrontHeaders = awsLambda.CloudFrontHeaders;\n"],"mappings":""}