@webiny/aws-helpers 0.0.0-unstable.5e7233243f
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/LICENSE +26 -0
- package/cloudfrontFunctions/cookies.d.ts +8 -0
- package/cloudfrontFunctions/cookies.js +28 -0
- package/cloudfrontFunctions/cookies.js.map +1 -0
- package/cloudfrontFunctions/headers.d.ts +5 -0
- package/cloudfrontFunctions/headers.js +26 -0
- package/cloudfrontFunctions/headers.js.map +1 -0
- package/cloudfrontFunctions/index.d.ts +6 -0
- package/cloudfrontFunctions/index.js +6 -0
- package/cloudfrontFunctions/index.js.map +1 -0
- package/cloudfrontFunctions/querystring.d.ts +2 -0
- package/cloudfrontFunctions/querystring.js +38 -0
- package/cloudfrontFunctions/querystring.js.map +1 -0
- package/cloudfrontFunctions/redirect.d.ts +8 -0
- package/cloudfrontFunctions/redirect.js +22 -0
- package/cloudfrontFunctions/redirect.js.map +1 -0
- package/cloudfrontFunctions/types.d.ts +78 -0
- package/cloudfrontFunctions/types.js +1 -0
- package/cloudfrontFunctions/types.js.map +1 -0
- package/cloudfrontFunctions/utils.d.ts +17 -0
- package/cloudfrontFunctions/utils.js +21 -0
- package/cloudfrontFunctions/utils.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -0
- package/lambdaEdge/cookies.d.ts +3 -0
- package/lambdaEdge/cookies.js +25 -0
- package/lambdaEdge/cookies.js.map +1 -0
- package/lambdaEdge/headers.d.ts +6 -0
- package/lambdaEdge/headers.js +8 -0
- package/lambdaEdge/headers.js.map +1 -0
- package/lambdaEdge/index.d.ts +7 -0
- package/lambdaEdge/index.js +7 -0
- package/lambdaEdge/index.js.map +1 -0
- package/lambdaEdge/redirect.d.ts +8 -0
- package/lambdaEdge/redirect.js +32 -0
- package/lambdaEdge/redirect.js.map +1 -0
- package/lambdaEdge/request.d.ts +2 -0
- package/lambdaEdge/request.js +19 -0
- package/lambdaEdge/request.js.map +1 -0
- package/lambdaEdge/response.d.ts +2 -0
- package/lambdaEdge/response.js +7 -0
- package/lambdaEdge/response.js.map +1 -0
- package/lambdaEdge/types.d.ts +10 -0
- package/lambdaEdge/types.js +1 -0
- package/lambdaEdge/types.js.map +1 -0
- package/lambdaEdge/utils.d.ts +3 -0
- package/lambdaEdge/utils.js +6 -0
- package/lambdaEdge/utils.js.map +1 -0
- package/package.json +48 -0
- package/stagedRollouts/functions/adminOriginRequest.d.ts +2 -0
- package/stagedRollouts/functions/adminOriginRequest.js +29 -0
- package/stagedRollouts/functions/adminOriginRequest.js.map +1 -0
- package/stagedRollouts/functions/configOriginRequest.d.ts +2 -0
- package/stagedRollouts/functions/configOriginRequest.js +52 -0
- package/stagedRollouts/functions/configOriginRequest.js.map +1 -0
- package/stagedRollouts/functions/originRequest.d.ts +2 -0
- package/stagedRollouts/functions/originRequest.js +15 -0
- package/stagedRollouts/functions/originRequest.js.map +1 -0
- package/stagedRollouts/functions/viewerRequest.d.ts +1 -0
- package/stagedRollouts/functions/viewerRequest.js +42 -0
- package/stagedRollouts/functions/viewerRequest.js.map +1 -0
- package/stagedRollouts/functions/viewerResponse.d.ts +1 -0
- package/stagedRollouts/functions/viewerResponse.js +18 -0
- package/stagedRollouts/functions/viewerResponse.js.map +1 -0
- package/stagedRollouts/utils/common.d.ts +3 -0
- package/stagedRollouts/utils/common.js +5 -0
- package/stagedRollouts/utils/common.js.map +1 -0
- package/stagedRollouts/utils/headerBlacklist.d.ts +5 -0
- package/stagedRollouts/utils/headerBlacklist.js +13 -0
- package/stagedRollouts/utils/headerBlacklist.js.map +1 -0
- package/stagedRollouts/utils/loadOriginPage.d.ts +8 -0
- package/stagedRollouts/utils/loadOriginPage.js +107 -0
- package/stagedRollouts/utils/loadOriginPage.js.map +1 -0
- package/stagedRollouts/utils/loadTrafficSplittingConfig.d.ts +12 -0
- package/stagedRollouts/utils/loadTrafficSplittingConfig.js +65 -0
- package/stagedRollouts/utils/loadTrafficSplittingConfig.js.map +1 -0
- package/stagedRollouts/utils/loadVariantOrigin.d.ts +4 -0
- package/stagedRollouts/utils/loadVariantOrigin.js +83 -0
- package/stagedRollouts/utils/loadVariantOrigin.js.map +1 -0
- package/stagedRollouts/utils/log.d.ts +1 -0
- package/stagedRollouts/utils/log.js +7 -0
- package/stagedRollouts/utils/log.js.map +1 -0
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function logDebug(...args: any[]): void;
|
|
@@ -0,0 +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"}
|