@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,32 +1,32 @@
1
- import { setHeader } from "./headers";
2
- export function redirectResponse(params) {
3
- const query = params.query || "";
4
- const permanent = params.status === 301;
5
- const response = {
6
- status: String(params.status || 302),
7
- statusDescription: permanent ? "Moved permanently" : "Found",
8
- headers: {}
9
- };
10
- setHeader(response.headers, {
11
- key: "location",
12
- value: params.url + query
13
- });
14
-
15
- if (!permanent) {
16
- // for temporary redirects make sure they won't be cached
17
- setHeader(response.headers, {
18
- key: "cache-control",
19
- value: "no-cache, no-store, must-revalidate"
20
- });
21
- setHeader(response.headers, {
22
- key: "pragma",
23
- value: "no-cache"
24
- });
1
+ import { setHeader } from "./headers.js";
2
+ function redirectResponse(params) {
3
+ const query = params.query || "";
4
+ const permanent = 301 === params.status;
5
+ const response = {
6
+ status: String(params.status || 302),
7
+ statusDescription: permanent ? "Moved permanently" : "Found",
8
+ headers: {}
9
+ };
25
10
  setHeader(response.headers, {
26
- key: "expires",
27
- value: "0"
11
+ key: "location",
12
+ value: params.url + query
28
13
  });
29
- }
14
+ if (!permanent) {
15
+ setHeader(response.headers, {
16
+ key: "cache-control",
17
+ value: "no-cache, no-store, must-revalidate"
18
+ });
19
+ setHeader(response.headers, {
20
+ key: "pragma",
21
+ value: "no-cache"
22
+ });
23
+ setHeader(response.headers, {
24
+ key: "expires",
25
+ value: "0"
26
+ });
27
+ }
28
+ return response;
29
+ }
30
+ export { redirectResponse };
30
31
 
31
- return response;
32
- }
32
+ //# sourceMappingURL=redirect.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["setHeader","redirectResponse","params","query","permanent","status","response","String","statusDescription","headers","key","value","url"],"sources":["redirect.ts"],"sourcesContent":["import { CloudFrontResponse } from \"./types\";\nimport { setHeader } from \"./headers\";\n\ninterface RedirectParams {\n url: string;\n query?: string;\n status?: number;\n}\n\nexport function redirectResponse(params: RedirectParams): CloudFrontResponse {\n const query = params.query || \"\";\n const permanent = params.status === 301;\n\n const response: CloudFrontResponse = {\n status: String(params.status || 302),\n statusDescription: permanent ? \"Moved permanently\" : \"Found\",\n headers: {}\n };\n\n setHeader(response.headers, {\n key: \"location\",\n value: params.url + query\n });\n\n if (!permanent) {\n // for temporary redirects make sure they won't be cached\n setHeader(response.headers, {\n key: \"cache-control\",\n value: \"no-cache, no-store, must-revalidate\"\n });\n setHeader(response.headers, {\n key: \"pragma\",\n value: \"no-cache\"\n });\n setHeader(response.headers, {\n key: \"expires\",\n value: \"0\"\n });\n }\n\n return response;\n}\n"],"mappings":"AACA,SAASA,SAAT;AAQA,OAAO,SAASC,gBAAT,CAA0BC,MAA1B,EAAsE;EACzE,MAAMC,KAAK,GAAGD,MAAM,CAACC,KAAP,IAAgB,EAA9B;EACA,MAAMC,SAAS,GAAGF,MAAM,CAACG,MAAP,KAAkB,GAApC;EAEA,MAAMC,QAA4B,GAAG;IACjCD,MAAM,EAAEE,MAAM,CAACL,MAAM,CAACG,MAAP,IAAiB,GAAlB,CADmB;IAEjCG,iBAAiB,EAAEJ,SAAS,GAAG,mBAAH,GAAyB,OAFpB;IAGjCK,OAAO,EAAE;EAHwB,CAArC;EAMAT,SAAS,CAACM,QAAQ,CAACG,OAAV,EAAmB;IACxBC,GAAG,EAAE,UADmB;IAExBC,KAAK,EAAET,MAAM,CAACU,GAAP,GAAaT;EAFI,CAAnB,CAAT;;EAKA,IAAI,CAACC,SAAL,EAAgB;IACZ;IACAJ,SAAS,CAACM,QAAQ,CAACG,OAAV,EAAmB;MACxBC,GAAG,EAAE,eADmB;MAExBC,KAAK,EAAE;IAFiB,CAAnB,CAAT;IAIAX,SAAS,CAACM,QAAQ,CAACG,OAAV,EAAmB;MACxBC,GAAG,EAAE,QADmB;MAExBC,KAAK,EAAE;IAFiB,CAAnB,CAAT;IAIAX,SAAS,CAACM,QAAQ,CAACG,OAAV,EAAmB;MACxBC,GAAG,EAAE,SADmB;MAExBC,KAAK,EAAE;IAFiB,CAAnB,CAAT;EAIH;;EAED,OAAOL,QAAP;AACH"}
1
+ {"version":3,"file":"lambdaEdge/redirect.js","sources":["../../src/lambdaEdge/redirect.ts"],"sourcesContent":["import type { CloudFrontResponse } from \"./types.js\";\nimport { setHeader } from \"./headers.js\";\n\ninterface RedirectParams {\n url: string;\n query?: string;\n status?: number;\n}\n\nexport function redirectResponse(params: RedirectParams): CloudFrontResponse {\n const query = params.query || \"\";\n const permanent = params.status === 301;\n\n const response: CloudFrontResponse = {\n status: String(params.status || 302),\n statusDescription: permanent ? \"Moved permanently\" : \"Found\",\n headers: {}\n };\n\n setHeader(response.headers, {\n key: \"location\",\n value: params.url + query\n });\n\n if (!permanent) {\n // for temporary redirects make sure they won't be cached\n setHeader(response.headers, {\n key: \"cache-control\",\n value: \"no-cache, no-store, must-revalidate\"\n });\n setHeader(response.headers, {\n key: \"pragma\",\n value: \"no-cache\"\n });\n setHeader(response.headers, {\n key: \"expires\",\n value: \"0\"\n });\n }\n\n return response;\n}\n"],"names":["redirectResponse","params","query","permanent","response","String","setHeader"],"mappings":";AASO,SAASA,iBAAiBC,MAAsB;IACnD,MAAMC,QAAQD,OAAO,KAAK,IAAI;IAC9B,MAAME,YAAYF,AAAkB,QAAlBA,OAAO,MAAM;IAE/B,MAAMG,WAA+B;QACjC,QAAQC,OAAOJ,OAAO,MAAM,IAAI;QAChC,mBAAmBE,YAAY,sBAAsB;QACrD,SAAS,CAAC;IACd;IAEAG,UAAUF,SAAS,OAAO,EAAE;QACxB,KAAK;QACL,OAAOH,OAAO,GAAG,GAAGC;IACxB;IAEA,IAAI,CAACC,WAAW;QAEZG,UAAUF,SAAS,OAAO,EAAE;YACxB,KAAK;YACL,OAAO;QACX;QACAE,UAAUF,SAAS,OAAO,EAAE;YACxB,KAAK;YACL,OAAO;QACX;QACAE,UAAUF,SAAS,OAAO,EAAE;YACxB,KAAK;YACL,OAAO;QACX;IACJ;IAEA,OAAOA;AACX"}
@@ -1,2 +1,2 @@
1
- import { CloudFrontRequest } from "./types";
1
+ import type { CloudFrontRequest } from "./types.js";
2
2
  export declare function setDomainOrigin(request: CloudFrontRequest, domain: string): void;
@@ -1,19 +1,26 @@
1
- import { setHeader } from "./headers";
2
- export function setDomainOrigin(request, domain) {
3
- request.origin = {
4
- custom: {
5
- domainName: domain,
6
- port: 443,
7
- protocol: "https",
8
- path: "",
9
- sslProtocols: ["TLSv1", "TLSv1.1", "TLSv1.2"],
10
- readTimeout: 5,
11
- keepaliveTimeout: 5,
12
- customHeaders: {}
13
- }
14
- };
15
- setHeader(request.headers, {
16
- key: "host",
17
- value: domain
18
- });
19
- }
1
+ import { setHeader } from "./headers.js";
2
+ function setDomainOrigin(request, domain) {
3
+ request.origin = {
4
+ custom: {
5
+ domainName: domain,
6
+ port: 443,
7
+ protocol: "https",
8
+ path: "",
9
+ sslProtocols: [
10
+ "TLSv1",
11
+ "TLSv1.1",
12
+ "TLSv1.2"
13
+ ],
14
+ readTimeout: 5,
15
+ keepaliveTimeout: 5,
16
+ customHeaders: {}
17
+ }
18
+ };
19
+ setHeader(request.headers, {
20
+ key: "host",
21
+ value: domain
22
+ });
23
+ }
24
+ export { setDomainOrigin };
25
+
26
+ //# sourceMappingURL=request.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["setHeader","setDomainOrigin","request","domain","origin","custom","domainName","port","protocol","path","sslProtocols","readTimeout","keepaliveTimeout","customHeaders","headers","key","value"],"sources":["request.ts"],"sourcesContent":["import { setHeader } from \"./headers\";\nimport { CloudFrontRequest } from \"./types\";\n\nexport function setDomainOrigin(request: CloudFrontRequest, domain: string) {\n request.origin = {\n custom: {\n domainName: domain,\n port: 443,\n protocol: \"https\",\n path: \"\",\n sslProtocols: [\"TLSv1\", \"TLSv1.1\", \"TLSv1.2\"],\n readTimeout: 5,\n keepaliveTimeout: 5,\n customHeaders: {}\n }\n };\n\n setHeader(request.headers, {\n key: \"host\",\n value: domain\n });\n}\n"],"mappings":"AAAA,SAASA,SAAT;AAGA,OAAO,SAASC,eAAT,CAAyBC,OAAzB,EAAqDC,MAArD,EAAqE;EACxED,OAAO,CAACE,MAAR,GAAiB;IACbC,MAAM,EAAE;MACJC,UAAU,EAAEH,MADR;MAEJI,IAAI,EAAE,GAFF;MAGJC,QAAQ,EAAE,OAHN;MAIJC,IAAI,EAAE,EAJF;MAKJC,YAAY,EAAE,CAAC,OAAD,EAAU,SAAV,EAAqB,SAArB,CALV;MAMJC,WAAW,EAAE,CANT;MAOJC,gBAAgB,EAAE,CAPd;MAQJC,aAAa,EAAE;IARX;EADK,CAAjB;EAaAb,SAAS,CAACE,OAAO,CAACY,OAAT,EAAkB;IACvBC,GAAG,EAAE,MADkB;IAEvBC,KAAK,EAAEb;EAFgB,CAAlB,CAAT;AAIH"}
1
+ {"version":3,"file":"lambdaEdge/request.js","sources":["../../src/lambdaEdge/request.ts"],"sourcesContent":["import { setHeader } from \"./headers.js\";\nimport type { CloudFrontRequest } from \"./types.js\";\n\nexport function setDomainOrigin(request: CloudFrontRequest, domain: string) {\n request.origin = {\n custom: {\n domainName: domain,\n port: 443,\n protocol: \"https\",\n path: \"\",\n sslProtocols: [\"TLSv1\", \"TLSv1.1\", \"TLSv1.2\"],\n readTimeout: 5,\n keepaliveTimeout: 5,\n customHeaders: {}\n }\n };\n\n setHeader(request.headers, {\n key: \"host\",\n value: domain\n });\n}\n"],"names":["setDomainOrigin","request","domain","setHeader"],"mappings":";AAGO,SAASA,gBAAgBC,OAA0B,EAAEC,MAAc;IACtED,QAAQ,MAAM,GAAG;QACb,QAAQ;YACJ,YAAYC;YACZ,MAAM;YACN,UAAU;YACV,MAAM;YACN,cAAc;gBAAC;gBAAS;gBAAW;aAAU;YAC7C,aAAa;YACb,kBAAkB;YAClB,eAAe,CAAC;QACpB;IACJ;IAEAC,UAAUF,QAAQ,OAAO,EAAE;QACvB,KAAK;QACL,OAAOC;IACX;AACJ"}
@@ -1,2 +1,2 @@
1
- import { CloudFrontResultResponse } from "./types";
1
+ import type { CloudFrontResultResponse } from "./types.js";
2
2
  export declare function notFoundResponse(message?: string): CloudFrontResultResponse;
@@ -1,7 +1,10 @@
1
- export function notFoundResponse(message) {
2
- return {
3
- status: "404",
4
- statusDescription: "Not found",
5
- body: message || "Not found"
6
- };
7
- }
1
+ function notFoundResponse(message) {
2
+ return {
3
+ status: "404",
4
+ statusDescription: "Not found",
5
+ body: message || "Not found"
6
+ };
7
+ }
8
+ export { notFoundResponse };
9
+
10
+ //# sourceMappingURL=response.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["notFoundResponse","message","status","statusDescription","body"],"sources":["response.ts"],"sourcesContent":["import { CloudFrontResultResponse } from \"./types\";\n\nexport function notFoundResponse(message?: string): CloudFrontResultResponse {\n return {\n status: \"404\",\n statusDescription: \"Not found\",\n body: message || \"Not found\"\n };\n}\n"],"mappings":"AAEA,OAAO,SAASA,gBAAT,CAA0BC,OAA1B,EAAsE;EACzE,OAAO;IACHC,MAAM,EAAE,KADL;IAEHC,iBAAiB,EAAE,WAFhB;IAGHC,IAAI,EAAEH,OAAO,IAAI;EAHd,CAAP;AAKH"}
1
+ {"version":3,"file":"lambdaEdge/response.js","sources":["../../src/lambdaEdge/response.ts"],"sourcesContent":["import type { CloudFrontResultResponse } from \"./types.js\";\n\nexport function notFoundResponse(message?: string): CloudFrontResultResponse {\n return {\n status: \"404\",\n statusDescription: \"Not found\",\n body: message || \"Not found\"\n };\n}\n"],"names":["notFoundResponse","message"],"mappings":"AAEO,SAASA,iBAAiBC,OAAgB;IAC7C,OAAO;QACH,QAAQ;QACR,mBAAmB;QACnB,MAAMA,WAAW;IACrB;AACJ"}
@@ -1,10 +1,10 @@
1
- import * as awsLambda from "aws-lambda";
2
- export declare type CloudFrontEvent = awsLambda.CloudFrontEvent;
3
- export declare type CloudFrontRequest = awsLambda.CloudFrontRequest;
4
- export declare type CloudFrontRequestEvent = awsLambda.CloudFrontRequestEvent;
5
- export declare type CloudFrontResponse = awsLambda.CloudFrontResponse & {
1
+ import type { CloudFrontEvent as BaseCloudFrontEvent, CloudFrontRequest as BaseCloudFrontRequest, CloudFrontRequestEvent as BaseCloudFrontRequestEvent, CloudFrontResponse as BaseCloudFrontResponse, CloudFrontResponseEvent as BaseCloudFrontResponseEvent, CloudFrontResultResponse as BaseCloudFrontResultResponse, CloudFrontHeaders as BaseCloudFrontHeaders } from "aws-lambda";
2
+ export type CloudFrontEvent = BaseCloudFrontEvent;
3
+ export type CloudFrontRequest = BaseCloudFrontRequest;
4
+ export type CloudFrontRequestEvent = BaseCloudFrontRequestEvent;
5
+ export type CloudFrontResponse = BaseCloudFrontResponse & {
6
6
  body?: string;
7
7
  };
8
- export declare type CloudFrontResponseEvent = awsLambda.CloudFrontResponseEvent;
9
- export declare type CloudFrontResultResponse = awsLambda.CloudFrontResultResponse;
10
- export declare type CloudFrontHeaders = awsLambda.CloudFrontHeaders;
8
+ export type CloudFrontResponseEvent = BaseCloudFrontResponseEvent;
9
+ export type CloudFrontResultResponse = BaseCloudFrontResultResponse;
10
+ export type CloudFrontHeaders = BaseCloudFrontHeaders;
@@ -1 +0,0 @@
1
- export {};
@@ -1,3 +1,3 @@
1
- import { CloudFrontRequestHandler, CloudFrontResponseHandler } from "aws-lambda";
1
+ import type { CloudFrontRequestHandler, CloudFrontResponseHandler } from "aws-lambda";
2
2
  export declare function defineLambdaEdgeRequestHandler(handler: CloudFrontRequestHandler): CloudFrontRequestHandler;
3
3
  export declare function defineLambdaEdgeResponseHandler(handler: CloudFrontResponseHandler): CloudFrontResponseHandler;
@@ -1,6 +1,9 @@
1
- export function defineLambdaEdgeRequestHandler(handler) {
2
- return handler;
1
+ function defineLambdaEdgeRequestHandler(handler) {
2
+ return handler;
3
3
  }
4
- export function defineLambdaEdgeResponseHandler(handler) {
5
- return handler;
6
- }
4
+ function defineLambdaEdgeResponseHandler(handler) {
5
+ return handler;
6
+ }
7
+ export { defineLambdaEdgeRequestHandler, defineLambdaEdgeResponseHandler };
8
+
9
+ //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["defineLambdaEdgeRequestHandler","handler","defineLambdaEdgeResponseHandler"],"sources":["utils.ts"],"sourcesContent":["import { CloudFrontRequestHandler, CloudFrontResponseHandler } from \"aws-lambda\";\n\nexport function defineLambdaEdgeRequestHandler(handler: CloudFrontRequestHandler) {\n return handler;\n}\n\nexport function defineLambdaEdgeResponseHandler(handler: CloudFrontResponseHandler) {\n return handler;\n}\n"],"mappings":"AAEA,OAAO,SAASA,8BAAT,CAAwCC,OAAxC,EAA2E;EAC9E,OAAOA,OAAP;AACH;AAED,OAAO,SAASC,+BAAT,CAAyCD,OAAzC,EAA6E;EAChF,OAAOA,OAAP;AACH"}
1
+ {"version":3,"file":"lambdaEdge/utils.js","sources":["../../src/lambdaEdge/utils.ts"],"sourcesContent":["import type { CloudFrontRequestHandler, CloudFrontResponseHandler } from \"aws-lambda\";\n\nexport function defineLambdaEdgeRequestHandler(handler: CloudFrontRequestHandler) {\n return handler;\n}\n\nexport function defineLambdaEdgeResponseHandler(handler: CloudFrontResponseHandler) {\n return handler;\n}\n"],"names":["defineLambdaEdgeRequestHandler","handler","defineLambdaEdgeResponseHandler"],"mappings":"AAEO,SAASA,+BAA+BC,OAAiC;IAC5E,OAAOA;AACX;AAEO,SAASC,gCAAgCD,OAAkC;IAC9E,OAAOA;AACX"}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@webiny/aws-helpers",
3
- "version": "0.0.0-unstable.78f581c1d2",
3
+ "version": "0.0.0-unstable.7be00a75a9",
4
+ "type": "module",
4
5
  "types": "dist/index.d.ts",
5
6
  "exports": {
6
7
  ".": {
@@ -22,17 +23,16 @@
22
23
  "description": "An utility package for developing AWS based services",
23
24
  "license": "MIT",
24
25
  "publishConfig": {
25
- "access": "public",
26
- "directory": "dist"
26
+ "access": "public"
27
27
  },
28
- "gitHead": "78f581c1d2e5e6936aa11b9452a66d2a3652a1b2",
28
+ "gitHead": "b8aec8a1be3f25c3b428b357fe1e352c7cbff9ae",
29
29
  "dependencies": {
30
- "@types/aws-lambda": "8.10.106",
31
- "cheerio": "1.0.0-rc.12",
32
- "srcset": "4.0.0"
30
+ "@types/aws-lambda": "8.10.161",
31
+ "cheerio": "1.2.0",
32
+ "srcset": "5.0.3"
33
33
  },
34
34
  "devDependencies": {
35
- "@webiny/project-utils": "^0.0.0-unstable.78f581c1d2"
35
+ "@webiny/build-tools": "0.0.0-unstable.7be00a75a9"
36
36
  },
37
37
  "sideEffects": false,
38
38
  "adio": {
@@ -44,5 +44,8 @@
44
44
  "@types/aws-lambda"
45
45
  ]
46
46
  }
47
+ },
48
+ "webiny": {
49
+ "publishFrom": "dist"
47
50
  }
48
51
  }
@@ -0,0 +1,14 @@
1
+ var __webpack_require__ = {};
2
+ (()=>{
3
+ __webpack_require__.g = (()=>{
4
+ if ('object' == typeof globalThis) return globalThis;
5
+ try {
6
+ return this || new Function('return this')();
7
+ } catch (e) {
8
+ if ('object' == typeof window) return window;
9
+ }
10
+ })();
11
+ })();
12
+ export { __webpack_require__ };
13
+
14
+ //# sourceMappingURL=rslib-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rslib-runtime.js","sources":["webpack://webpack/runtime/global"],"sourcesContent":["__webpack_require__.g = (() => {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();"],"names":["__webpack_require__","globalThis","Function","e","window"],"mappings":";;IAAAA,oBAAoB,CAAC,GAAG,AAAC;QACxB,IAAI,AAAsB,YAAtB,OAAOC,YAAyB,OAAOA;QAC3C,IAAI;YACH,OAAO,IAAI,IAAI,IAAIC,SAAS;QAC7B,EAAE,OAAOC,GAAG;YACX,IAAI,AAAkB,YAAlB,OAAOC,QAAqB,OAAOA;QACxC;IACD"}
@@ -1,29 +1,26 @@
1
- import { defineLambdaEdgeRequestHandler, setDomainOrigin } from "../../lambdaEdge";
2
- import { pointsToFile } from "../utils/common";
3
- import { loadOriginPage } from "../utils/loadOriginPage";
4
- import { loadVariantOrigin } from "../utils/loadVariantOrigin";
5
- export default defineLambdaEdgeRequestHandler(async event => {
6
- try {
7
- const result = await loadVariantOrigin(event);
8
-
9
- if ("variant" in result) {
10
- const cf = event.Records[0].cf;
11
- const request = cf.request;
12
- const variant = result.variant; // For file requests we just pass the request to proper origin.
13
-
14
- if (pointsToFile(request.uri)) {
15
- setDomainOrigin(request, variant.domain);
16
- return request;
17
- } // For pages we make a custom HTTP request to the origin and transform page properly.
18
- // For example we change asset URLs to be absolute.
19
-
20
-
21
- return await loadOriginPage(variant.domain, request.uri);
1
+ import { defineLambdaEdgeRequestHandler, setDomainOrigin } from "../../lambdaEdge/index.js";
2
+ import { pointsToFile } from "../utils/common.js";
3
+ import { loadOriginPage } from "../utils/loadOriginPage.js";
4
+ import { loadVariantOrigin } from "../utils/loadVariantOrigin.js";
5
+ const adminOriginRequest = defineLambdaEdgeRequestHandler(async (event)=>{
6
+ try {
7
+ const result = await loadVariantOrigin(event);
8
+ if ("variant" in result) {
9
+ const cf = event.Records[0].cf;
10
+ const request = cf.request;
11
+ const variant = result.variant;
12
+ if (pointsToFile(request.uri)) {
13
+ setDomainOrigin(request, variant.domain);
14
+ return request;
15
+ }
16
+ return await loadOriginPage(variant.domain, request.uri);
17
+ }
18
+ return result;
19
+ } catch (e) {
20
+ console.error(e);
21
+ throw e;
22
22
  }
23
+ });
24
+ export default adminOriginRequest;
23
25
 
24
- return result;
25
- } catch (e) {
26
- console.error(e);
27
- throw e;
28
- }
29
- });
26
+ //# sourceMappingURL=adminOriginRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["defineLambdaEdgeRequestHandler","setDomainOrigin","pointsToFile","loadOriginPage","loadVariantOrigin","event","result","cf","Records","request","variant","uri","domain","e","console","error"],"sources":["adminOriginRequest.ts"],"sourcesContent":["import { defineLambdaEdgeRequestHandler, setDomainOrigin } from \"~/lambdaEdge\";\n\nimport { pointsToFile } from \"../utils/common\";\nimport { loadOriginPage } from \"../utils/loadOriginPage\";\nimport { loadVariantOrigin } from \"../utils/loadVariantOrigin\";\n\nexport default defineLambdaEdgeRequestHandler(async event => {\n try {\n const result = await loadVariantOrigin(event);\n\n if (\"variant\" in result) {\n const cf = event.Records[0].cf;\n const request = cf.request;\n const variant = result.variant;\n\n // For file requests we just pass the request to proper origin.\n if (pointsToFile(request.uri)) {\n setDomainOrigin(request, variant.domain);\n return request;\n }\n\n // For pages we make a custom HTTP request to the origin and transform page properly.\n // For example we change asset URLs to be absolute.\n return await loadOriginPage(variant.domain, request.uri);\n }\n return result;\n } catch (e) {\n console.error(e);\n throw e;\n }\n});\n"],"mappings":"AAAA,SAASA,8BAAT,EAAyCC,eAAzC;AAEA,SAASC,YAAT;AACA,SAASC,cAAT;AACA,SAASC,iBAAT;AAEA,eAAeJ,8BAA8B,CAAC,MAAMK,KAAN,IAAe;EACzD,IAAI;IACA,MAAMC,MAAM,GAAG,MAAMF,iBAAiB,CAACC,KAAD,CAAtC;;IAEA,IAAI,aAAaC,MAAjB,EAAyB;MACrB,MAAMC,EAAE,GAAGF,KAAK,CAACG,OAAN,CAAc,CAAd,EAAiBD,EAA5B;MACA,MAAME,OAAO,GAAGF,EAAE,CAACE,OAAnB;MACA,MAAMC,OAAO,GAAGJ,MAAM,CAACI,OAAvB,CAHqB,CAKrB;;MACA,IAAIR,YAAY,CAACO,OAAO,CAACE,GAAT,CAAhB,EAA+B;QAC3BV,eAAe,CAACQ,OAAD,EAAUC,OAAO,CAACE,MAAlB,CAAf;QACA,OAAOH,OAAP;MACH,CAToB,CAWrB;MACA;;;MACA,OAAO,MAAMN,cAAc,CAACO,OAAO,CAACE,MAAT,EAAiBH,OAAO,CAACE,GAAzB,CAA3B;IACH;;IACD,OAAOL,MAAP;EACH,CAnBD,CAmBE,OAAOO,CAAP,EAAU;IACRC,OAAO,CAACC,KAAR,CAAcF,CAAd;IACA,MAAMA,CAAN;EACH;AACJ,CAxB4C,CAA7C"}
1
+ {"version":3,"file":"stagedRollouts/functions/adminOriginRequest.js","sources":["../../../src/stagedRollouts/functions/adminOriginRequest.ts"],"sourcesContent":["import { defineLambdaEdgeRequestHandler, setDomainOrigin } from \"~/lambdaEdge/index.js\";\n\nimport { pointsToFile } from \"../utils/common.js\";\nimport { loadOriginPage } from \"../utils/loadOriginPage.js\";\nimport { loadVariantOrigin } from \"../utils/loadVariantOrigin.js\";\n\nexport default defineLambdaEdgeRequestHandler(async event => {\n try {\n const result = await loadVariantOrigin(event);\n\n if (\"variant\" in result) {\n const cf = event.Records[0].cf;\n const request = cf.request;\n const variant = result.variant;\n\n // For file requests we just pass the request to proper origin.\n if (pointsToFile(request.uri)) {\n setDomainOrigin(request, variant.domain);\n return request;\n }\n\n // For pages we make a custom HTTP request to the origin and transform page properly.\n // For example we change asset URLs to be absolute.\n return await loadOriginPage(variant.domain, request.uri);\n }\n return result;\n } catch (e) {\n console.error(e);\n throw e;\n }\n});\n"],"names":["defineLambdaEdgeRequestHandler","event","result","loadVariantOrigin","cf","request","variant","pointsToFile","setDomainOrigin","loadOriginPage","e","console"],"mappings":";;;;AAMA,2BAAeA,+BAA+B,OAAMC;IAChD,IAAI;QACA,MAAMC,SAAS,MAAMC,kBAAkBF;QAEvC,IAAI,aAAaC,QAAQ;YACrB,MAAME,KAAKH,MAAM,OAAO,CAAC,EAAE,CAAC,EAAE;YAC9B,MAAMI,UAAUD,GAAG,OAAO;YAC1B,MAAME,UAAUJ,OAAO,OAAO;YAG9B,IAAIK,aAAaF,QAAQ,GAAG,GAAG;gBAC3BG,gBAAgBH,SAASC,QAAQ,MAAM;gBACvC,OAAOD;YACX;YAIA,OAAO,MAAMI,eAAeH,QAAQ,MAAM,EAAED,QAAQ,GAAG;QAC3D;QACA,OAAOH;IACX,EAAE,OAAOQ,GAAG;QACRC,QAAQ,KAAK,CAACD;QACd,MAAMA;IACV;AACJ"}
@@ -1,52 +1,52 @@
1
- import { defineLambdaEdgeRequestHandler, setHeader } from "../../lambdaEdge";
1
+ import { defineLambdaEdgeRequestHandler, setHeader } from "../../lambdaEdge/index.js";
2
2
  import { get } from "https";
3
- export default defineLambdaEdgeRequestHandler(async event => {
4
- try {
5
- const configJson = await loadConfigJson(event);
6
- const response = {
7
- status: "200",
8
- statusDescription: "OK",
9
- headers: {},
10
- body: configJson
11
- };
12
- setHeader(response.headers, {
13
- key: "Content-Type",
14
- value: "application/json"
15
- });
16
- setHeader(response.headers, {
17
- key: "Cache-Control",
18
- value: "public, max-age=31536000"
19
- });
20
- return response;
21
- } catch (e) {
22
- console.error(e);
23
- throw e;
24
- }
3
+ const configOriginRequest = defineLambdaEdgeRequestHandler(async (event)=>{
4
+ try {
5
+ const configJson = await loadConfigJson(event);
6
+ const response = {
7
+ status: "200",
8
+ statusDescription: "OK",
9
+ headers: {},
10
+ body: configJson
11
+ };
12
+ setHeader(response.headers, {
13
+ key: "Content-Type",
14
+ value: "application/json"
15
+ });
16
+ setHeader(response.headers, {
17
+ key: "Cache-Control",
18
+ value: "public, max-age=31536000"
19
+ });
20
+ return response;
21
+ } catch (e) {
22
+ console.error(e);
23
+ throw e;
24
+ }
25
25
  });
26
-
27
26
  function loadConfigJson(event) {
28
- return new Promise((resolve, reject) => {
29
- let dataString = ""; // Retrieve domain of the CloudFront distribution.
30
-
31
- const domain = event.Records[0].cf.config.distributionDomainName;
32
- const req = get({
33
- hostname: domain,
34
- port: 443,
35
- // TODO: we will call WCP instead of a static file here
36
- path: "/_config.json"
37
- }, function (res) {
38
- res.on("data", chunk => {
39
- dataString += chunk;
40
- });
41
- res.on("end", () => {
42
- resolve(dataString);
43
- });
44
- });
45
- req.on("error", e => {
46
- reject({
47
- statusCode: 500,
48
- body: e.message
49
- });
27
+ return new Promise((resolve, reject)=>{
28
+ let dataString = "";
29
+ const domain = event.Records[0].cf.config.distributionDomainName;
30
+ const req = get({
31
+ hostname: domain,
32
+ port: 443,
33
+ path: "/_config.json"
34
+ }, function(res) {
35
+ res.on("data", (chunk)=>{
36
+ dataString += chunk;
37
+ });
38
+ res.on("end", ()=>{
39
+ resolve(dataString);
40
+ });
41
+ });
42
+ req.on("error", (e)=>{
43
+ reject({
44
+ statusCode: 500,
45
+ body: e.message
46
+ });
47
+ });
50
48
  });
51
- });
52
- }
49
+ }
50
+ export default configOriginRequest;
51
+
52
+ //# sourceMappingURL=configOriginRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["defineLambdaEdgeRequestHandler","setHeader","get","event","configJson","loadConfigJson","response","status","statusDescription","headers","body","key","value","e","console","error","Promise","resolve","reject","dataString","domain","Records","cf","config","distributionDomainName","req","hostname","port","path","res","on","chunk","statusCode","message"],"sources":["configOriginRequest.ts"],"sourcesContent":["import {\n CloudFrontRequestEvent,\n CloudFrontResponse,\n defineLambdaEdgeRequestHandler,\n setHeader\n} from \"~/lambdaEdge\";\n\nimport { get } from \"https\";\n\nexport default defineLambdaEdgeRequestHandler(async event => {\n try {\n const configJson = await loadConfigJson(event);\n const response: CloudFrontResponse = {\n status: \"200\",\n statusDescription: \"OK\",\n headers: {},\n body: configJson\n };\n\n setHeader(response.headers, {\n key: \"Content-Type\",\n value: \"application/json\"\n });\n\n setHeader(response.headers, {\n key: \"Cache-Control\",\n value: \"public, max-age=31536000\"\n });\n\n return response;\n } catch (e) {\n console.error(e);\n throw e;\n }\n});\n\nfunction loadConfigJson(event: CloudFrontRequestEvent) {\n return new Promise<string>((resolve, reject) => {\n let dataString = \"\";\n\n // Retrieve domain of the CloudFront distribution.\n const domain = event.Records[0].cf.config.distributionDomainName;\n\n const req = get(\n {\n hostname: domain,\n port: 443,\n // TODO: we will call WCP instead of a static file here\n path: \"/_config.json\"\n },\n function (res) {\n res.on(\"data\", chunk => {\n dataString += chunk;\n });\n res.on(\"end\", () => {\n resolve(dataString);\n });\n }\n );\n\n req.on(\"error\", e => {\n reject({\n statusCode: 500,\n body: e.message\n });\n });\n });\n}\n"],"mappings":"AAAA,SAGIA,8BAHJ,EAIIC,SAJJ;AAOA,SAASC,GAAT,QAAoB,OAApB;AAEA,eAAeF,8BAA8B,CAAC,MAAMG,KAAN,IAAe;EACzD,IAAI;IACA,MAAMC,UAAU,GAAG,MAAMC,cAAc,CAACF,KAAD,CAAvC;IACA,MAAMG,QAA4B,GAAG;MACjCC,MAAM,EAAE,KADyB;MAEjCC,iBAAiB,EAAE,IAFc;MAGjCC,OAAO,EAAE,EAHwB;MAIjCC,IAAI,EAAEN;IAJ2B,CAArC;IAOAH,SAAS,CAACK,QAAQ,CAACG,OAAV,EAAmB;MACxBE,GAAG,EAAE,cADmB;MAExBC,KAAK,EAAE;IAFiB,CAAnB,CAAT;IAKAX,SAAS,CAACK,QAAQ,CAACG,OAAV,EAAmB;MACxBE,GAAG,EAAE,eADmB;MAExBC,KAAK,EAAE;IAFiB,CAAnB,CAAT;IAKA,OAAON,QAAP;EACH,CApBD,CAoBE,OAAOO,CAAP,EAAU;IACRC,OAAO,CAACC,KAAR,CAAcF,CAAd;IACA,MAAMA,CAAN;EACH;AACJ,CAzB4C,CAA7C;;AA2BA,SAASR,cAAT,CAAwBF,KAAxB,EAAuD;EACnD,OAAO,IAAIa,OAAJ,CAAoB,CAACC,OAAD,EAAUC,MAAV,KAAqB;IAC5C,IAAIC,UAAU,GAAG,EAAjB,CAD4C,CAG5C;;IACA,MAAMC,MAAM,GAAGjB,KAAK,CAACkB,OAAN,CAAc,CAAd,EAAiBC,EAAjB,CAAoBC,MAApB,CAA2BC,sBAA1C;IAEA,MAAMC,GAAG,GAAGvB,GAAG,CACX;MACIwB,QAAQ,EAAEN,MADd;MAEIO,IAAI,EAAE,GAFV;MAGI;MACAC,IAAI,EAAE;IAJV,CADW,EAOX,UAAUC,GAAV,EAAe;MACXA,GAAG,CAACC,EAAJ,CAAO,MAAP,EAAeC,KAAK,IAAI;QACpBZ,UAAU,IAAIY,KAAd;MACH,CAFD;MAGAF,GAAG,CAACC,EAAJ,CAAO,KAAP,EAAc,MAAM;QAChBb,OAAO,CAACE,UAAD,CAAP;MACH,CAFD;IAGH,CAdU,CAAf;IAiBAM,GAAG,CAACK,EAAJ,CAAO,OAAP,EAAgBjB,CAAC,IAAI;MACjBK,MAAM,CAAC;QACHc,UAAU,EAAE,GADT;QAEHtB,IAAI,EAAEG,CAAC,CAACoB;MAFL,CAAD,CAAN;IAIH,CALD;EAMH,CA7BM,CAAP;AA8BH"}
1
+ {"version":3,"file":"stagedRollouts/functions/configOriginRequest.js","sources":["../../../src/stagedRollouts/functions/configOriginRequest.ts"],"sourcesContent":["import type { CloudFrontRequestEvent, CloudFrontResponse } from \"~/lambdaEdge/index.js\";\nimport { defineLambdaEdgeRequestHandler, setHeader } from \"~/lambdaEdge/index.js\";\n\nimport { get } from \"https\";\n\nexport default defineLambdaEdgeRequestHandler(async event => {\n try {\n const configJson = await loadConfigJson(event);\n const response: CloudFrontResponse = {\n status: \"200\",\n statusDescription: \"OK\",\n headers: {},\n body: configJson\n };\n\n setHeader(response.headers, {\n key: \"Content-Type\",\n value: \"application/json\"\n });\n\n setHeader(response.headers, {\n key: \"Cache-Control\",\n value: \"public, max-age=31536000\"\n });\n\n return response;\n } catch (e) {\n console.error(e);\n throw e;\n }\n});\n\nfunction loadConfigJson(event: CloudFrontRequestEvent) {\n return new Promise<string>((resolve, reject) => {\n let dataString = \"\";\n\n // Retrieve domain of the CloudFront distribution.\n const domain = event.Records[0].cf.config.distributionDomainName;\n\n const req = get(\n {\n hostname: domain,\n port: 443,\n // TODO: we will call WCP instead of a static file here\n path: \"/_config.json\"\n },\n function (res) {\n res.on(\"data\", chunk => {\n dataString += chunk;\n });\n res.on(\"end\", () => {\n resolve(dataString);\n });\n }\n );\n\n req.on(\"error\", e => {\n reject({\n statusCode: 500,\n body: e.message\n });\n });\n });\n}\n"],"names":["defineLambdaEdgeRequestHandler","event","configJson","loadConfigJson","response","setHeader","e","console","Promise","resolve","reject","dataString","domain","req","get","res","chunk"],"mappings":";;AAKA,4BAAeA,+BAA+B,OAAMC;IAChD,IAAI;QACA,MAAMC,aAAa,MAAMC,eAAeF;QACxC,MAAMG,WAA+B;YACjC,QAAQ;YACR,mBAAmB;YACnB,SAAS,CAAC;YACV,MAAMF;QACV;QAEAG,UAAUD,SAAS,OAAO,EAAE;YACxB,KAAK;YACL,OAAO;QACX;QAEAC,UAAUD,SAAS,OAAO,EAAE;YACxB,KAAK;YACL,OAAO;QACX;QAEA,OAAOA;IACX,EAAE,OAAOE,GAAG;QACRC,QAAQ,KAAK,CAACD;QACd,MAAMA;IACV;AACJ;AAEA,SAASH,eAAeF,KAA6B;IACjD,OAAO,IAAIO,QAAgB,CAACC,SAASC;QACjC,IAAIC,aAAa;QAGjB,MAAMC,SAASX,MAAM,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB;QAEhE,MAAMY,MAAMC,IACR;YACI,UAAUF;YACV,MAAM;YAEN,MAAM;QACV,GACA,SAAUG,GAAG;YACTA,IAAI,EAAE,CAAC,QAAQC,CAAAA;gBACXL,cAAcK;YAClB;YACAD,IAAI,EAAE,CAAC,OAAO;gBACVN,QAAQE;YACZ;QACJ;QAGJE,IAAI,EAAE,CAAC,SAASP,CAAAA;YACZI,OAAO;gBACH,YAAY;gBACZ,MAAMJ,EAAE,OAAO;YACnB;QACJ;IACJ;AACJ"}
@@ -1,15 +1,16 @@
1
- import { defineLambdaEdgeRequestHandler, setDomainOrigin } from "../../lambdaEdge";
2
- import { loadVariantOrigin } from "../utils/loadVariantOrigin";
3
- export default defineLambdaEdgeRequestHandler(async event => {
4
- const result = await loadVariantOrigin(event);
1
+ import { defineLambdaEdgeRequestHandler, setDomainOrigin } from "../../lambdaEdge/index.js";
2
+ import { loadVariantOrigin } from "../utils/loadVariantOrigin.js";
3
+ const originRequest = defineLambdaEdgeRequestHandler(async (event)=>{
4
+ const result = await loadVariantOrigin(event);
5
+ if ("variant" in result) {
6
+ const cf = event.Records[0].cf;
7
+ const request = cf.request;
8
+ const variant = result.variant;
9
+ setDomainOrigin(request, variant.domain);
10
+ return request;
11
+ }
12
+ return result;
13
+ });
14
+ export default originRequest;
5
15
 
6
- if ("variant" in result) {
7
- const cf = event.Records[0].cf;
8
- const request = cf.request;
9
- const variant = result.variant;
10
- setDomainOrigin(request, variant.domain);
11
- return request;
12
- }
13
-
14
- return result;
15
- });
16
+ //# sourceMappingURL=originRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["defineLambdaEdgeRequestHandler","setDomainOrigin","loadVariantOrigin","event","result","cf","Records","request","variant","domain"],"sources":["originRequest.ts"],"sourcesContent":["import { defineLambdaEdgeRequestHandler, setDomainOrigin } from \"~/lambdaEdge\";\n\nimport { loadVariantOrigin } from \"../utils/loadVariantOrigin\";\n\nexport default defineLambdaEdgeRequestHandler(async event => {\n const result = await loadVariantOrigin(event);\n\n if (\"variant\" in result) {\n const cf = event.Records[0].cf;\n const request = cf.request;\n const variant = result.variant;\n\n setDomainOrigin(request, variant.domain);\n return request;\n }\n\n return result;\n});\n"],"mappings":"AAAA,SAASA,8BAAT,EAAyCC,eAAzC;AAEA,SAASC,iBAAT;AAEA,eAAeF,8BAA8B,CAAC,MAAMG,KAAN,IAAe;EACzD,MAAMC,MAAM,GAAG,MAAMF,iBAAiB,CAACC,KAAD,CAAtC;;EAEA,IAAI,aAAaC,MAAjB,EAAyB;IACrB,MAAMC,EAAE,GAAGF,KAAK,CAACG,OAAN,CAAc,CAAd,EAAiBD,EAA5B;IACA,MAAME,OAAO,GAAGF,EAAE,CAACE,OAAnB;IACA,MAAMC,OAAO,GAAGJ,MAAM,CAACI,OAAvB;IAEAP,eAAe,CAACM,OAAD,EAAUC,OAAO,CAACC,MAAlB,CAAf;IACA,OAAOF,OAAP;EACH;;EAED,OAAOH,MAAP;AACH,CAb4C,CAA7C"}
1
+ {"version":3,"file":"stagedRollouts/functions/originRequest.js","sources":["../../../src/stagedRollouts/functions/originRequest.ts"],"sourcesContent":["import { defineLambdaEdgeRequestHandler, setDomainOrigin } from \"~/lambdaEdge/index.js\";\n\nimport { loadVariantOrigin } from \"../utils/loadVariantOrigin.js\";\n\nexport default defineLambdaEdgeRequestHandler(async event => {\n const result = await loadVariantOrigin(event);\n\n if (\"variant\" in result) {\n const cf = event.Records[0].cf;\n const request = cf.request;\n const variant = result.variant;\n\n setDomainOrigin(request, variant.domain);\n return request;\n }\n\n return result;\n});\n"],"names":["defineLambdaEdgeRequestHandler","event","result","loadVariantOrigin","cf","request","variant","setDomainOrigin"],"mappings":";;AAIA,sBAAeA,+BAA+B,OAAMC;IAChD,MAAMC,SAAS,MAAMC,kBAAkBF;IAEvC,IAAI,aAAaC,QAAQ;QACrB,MAAME,KAAKH,MAAM,OAAO,CAAC,EAAE,CAAC,EAAE;QAC9B,MAAMI,UAAUD,GAAG,OAAO;QAC1B,MAAME,UAAUJ,OAAO,OAAO;QAE9BK,gBAAgBF,SAASC,QAAQ,MAAM;QACvC,OAAOD;IACX;IAEA,OAAOH;AACX"}
@@ -1,42 +1,22 @@
1
- import { defineCloudfrontFunctionRequestHandler } from "../../cloudfrontFunctions";
2
- import { variantFixedKey, variantRandomKey } from "../utils/common";
3
- defineCloudfrontFunctionRequestHandler(event => {
4
- var _request$cookies, _request$cookies$vari, _request$headers$vari, _request$cookies2, _request$cookies2$var;
5
-
6
- const request = event.request; // Try to get stage name from cookie or header.
7
-
8
- const variantFixed = ((_request$cookies = request.cookies) === null || _request$cookies === void 0 ? void 0 : (_request$cookies$vari = _request$cookies[variantFixedKey]) === null || _request$cookies$vari === void 0 ? void 0 : _request$cookies$vari.value) || ((_request$headers$vari = request.headers[variantFixedKey]) === null || _request$headers$vari === void 0 ? void 0 : _request$headers$vari.value);
9
-
10
- if (variantFixed) {
11
- // If there is a fixed variant set, we just pass it further to origin request handler.
12
- request.headers[variantFixedKey] = {
13
- value: variantFixed
14
- }; // If variant is explicitly selected, remove any random header a user may have passed.
15
- // We want to have either one or another for better cache hit rate.
16
-
17
- delete request.headers[variantRandomKey];
1
+ import { defineCloudfrontFunctionRequestHandler } from "../../cloudfrontFunctions/index.js";
2
+ import { variantFixedKey, variantRandomKey } from "../utils/common.js";
3
+ defineCloudfrontFunctionRequestHandler((event)=>{
4
+ const request = event.request;
5
+ const variantFixed = request.cookies?.[variantFixedKey]?.value || request.headers[variantFixedKey]?.value;
6
+ if (variantFixed) {
7
+ request.headers[variantFixedKey] = {
8
+ value: variantFixed
9
+ };
10
+ delete request.headers[variantRandomKey];
11
+ return request;
12
+ }
13
+ let variantRandom = Number(request.cookies?.[variantRandomKey]?.value);
14
+ if (isNaN(variantRandom) || variantRandom < 1 || variantRandom > 100) variantRandom = Math.floor(100 * Math.random() + 1);
15
+ variantRandom -= variantRandom % 5;
16
+ request.headers[variantRandomKey] = {
17
+ value: variantRandom.toString()
18
+ };
18
19
  return request;
19
- } // Otherwise we try to retrieve randomized number from user cookie.
20
- // This random value will be passed further to the origin request to select based on config.
21
-
22
-
23
- let variantRandom = Number((_request$cookies2 = request.cookies) === null || _request$cookies2 === void 0 ? void 0 : (_request$cookies2$var = _request$cookies2[variantRandomKey]) === null || _request$cookies2$var === void 0 ? void 0 : _request$cookies2$var.value);
24
-
25
- if (isNaN(variantRandom) || variantRandom < 1 || variantRandom > 100) {
26
- // If no value is present we simply randomize one.
27
- // This formula gives you an integer 1-100 (inclusive).
28
- // This way we have exactly 100 possible values.
29
- // Math.random() return values in range [0, 1) - 0 inclusive, 1 exclusive.
30
- // So we need to adjust it a litte bit to achieve what we want.
31
- variantRandom = Math.floor(Math.random() * 100 + 1);
32
- } // Adjust random value to a specific interval optimize caching.
33
- // Less possible values means less separate cache entries in CDN an better cache hit ratio.
34
- // TODO this value can set during deployment, to allow users to decide on trade-off between better caching and finer traffic splitting
35
-
20
+ });
36
21
 
37
- variantRandom -= variantRandom % 5;
38
- request.headers[variantRandomKey] = {
39
- value: variantRandom.toString()
40
- };
41
- return request;
42
- });
22
+ //# sourceMappingURL=viewerRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["defineCloudfrontFunctionRequestHandler","variantFixedKey","variantRandomKey","event","request","variantFixed","cookies","value","headers","variantRandom","Number","isNaN","Math","floor","random","toString"],"sources":["viewerRequest.ts"],"sourcesContent":["import { defineCloudfrontFunctionRequestHandler } from \"~/cloudfrontFunctions\";\n\nimport { variantFixedKey, variantRandomKey } from \"../utils/common\";\n\ndefineCloudfrontFunctionRequestHandler(event => {\n const request = event.request;\n\n // Try to get stage name from cookie or header.\n const variantFixed =\n request.cookies?.[variantFixedKey]?.value || request.headers[variantFixedKey]?.value;\n if (variantFixed) {\n // If there is a fixed variant set, we just pass it further to origin request handler.\n request.headers[variantFixedKey] = {\n value: variantFixed\n };\n\n // If variant is explicitly selected, remove any random header a user may have passed.\n // We want to have either one or another for better cache hit rate.\n delete request.headers[variantRandomKey];\n return request;\n }\n\n // Otherwise we try to retrieve randomized number from user cookie.\n // This random value will be passed further to the origin request to select based on config.\n let variantRandom = Number(request.cookies?.[variantRandomKey]?.value);\n if (isNaN(variantRandom) || variantRandom < 1 || variantRandom > 100) {\n // If no value is present we simply randomize one.\n // This formula gives you an integer 1-100 (inclusive).\n // This way we have exactly 100 possible values.\n // Math.random() return values in range [0, 1) - 0 inclusive, 1 exclusive.\n // So we need to adjust it a litte bit to achieve what we want.\n variantRandom = Math.floor(Math.random() * 100 + 1);\n }\n\n // Adjust random value to a specific interval optimize caching.\n // Less possible values means less separate cache entries in CDN an better cache hit ratio.\n // TODO this value can set during deployment, to allow users to decide on trade-off between better caching and finer traffic splitting\n variantRandom -= variantRandom % 5;\n\n request.headers[variantRandomKey] = {\n value: variantRandom.toString()\n };\n\n return request;\n});\n"],"mappings":"AAAA,SAASA,sCAAT;AAEA,SAASC,eAAT,EAA0BC,gBAA1B;AAEAF,sCAAsC,CAACG,KAAK,IAAI;EAAA;;EAC5C,MAAMC,OAAO,GAAGD,KAAK,CAACC,OAAtB,CAD4C,CAG5C;;EACA,MAAMC,YAAY,GACd,qBAAAD,OAAO,CAACE,OAAR,+FAAkBL,eAAlB,iFAAoCM,KAApC,+BAA6CH,OAAO,CAACI,OAAR,CAAgBP,eAAhB,CAA7C,0DAA6C,sBAAkCM,KAA/E,CADJ;;EAEA,IAAIF,YAAJ,EAAkB;IACd;IACAD,OAAO,CAACI,OAAR,CAAgBP,eAAhB,IAAmC;MAC/BM,KAAK,EAAEF;IADwB,CAAnC,CAFc,CAMd;IACA;;IACA,OAAOD,OAAO,CAACI,OAAR,CAAgBN,gBAAhB,CAAP;IACA,OAAOE,OAAP;EACH,CAhB2C,CAkB5C;EACA;;;EACA,IAAIK,aAAa,GAAGC,MAAM,sBAACN,OAAO,CAACE,OAAT,+EAAC,kBAAkBJ,gBAAlB,CAAD,0DAAC,sBAAqCK,KAAtC,CAA1B;;EACA,IAAII,KAAK,CAACF,aAAD,CAAL,IAAwBA,aAAa,GAAG,CAAxC,IAA6CA,aAAa,GAAG,GAAjE,EAAsE;IAClE;IACA;IACA;IACA;IACA;IACAA,aAAa,GAAGG,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,MAAL,KAAgB,GAAhB,GAAsB,CAAjC,CAAhB;EACH,CA5B2C,CA8B5C;EACA;EACA;;;EACAL,aAAa,IAAIA,aAAa,GAAG,CAAjC;EAEAL,OAAO,CAACI,OAAR,CAAgBN,gBAAhB,IAAoC;IAChCK,KAAK,EAAEE,aAAa,CAACM,QAAd;EADyB,CAApC;EAIA,OAAOX,OAAP;AACH,CAxCqC,CAAtC"}
1
+ {"version":3,"file":"stagedRollouts/functions/viewerRequest.js","sources":["../../../src/stagedRollouts/functions/viewerRequest.ts"],"sourcesContent":["import { defineCloudfrontFunctionRequestHandler } from \"~/cloudfrontFunctions/index.js\";\n\nimport { variantFixedKey, variantRandomKey } from \"../utils/common.js\";\n\ndefineCloudfrontFunctionRequestHandler(event => {\n const request = event.request;\n\n // Try to get stage name from cookie or header.\n const variantFixed =\n request.cookies?.[variantFixedKey]?.value || request.headers[variantFixedKey]?.value;\n if (variantFixed) {\n // If there is a fixed variant set, we just pass it further to origin request handler.\n request.headers[variantFixedKey] = {\n value: variantFixed\n };\n\n // If variant is explicitly selected, remove any random header a user may have passed.\n // We want to have either one or another for better cache hit rate.\n delete request.headers[variantRandomKey];\n return request;\n }\n\n // Otherwise we try to retrieve randomized number from user cookie.\n // This random value will be passed further to the origin request to select based on config.\n let variantRandom = Number(request.cookies?.[variantRandomKey]?.value);\n if (isNaN(variantRandom) || variantRandom < 1 || variantRandom > 100) {\n // If no value is present we simply randomize one.\n // This formula gives you an integer 1-100 (inclusive).\n // This way we have exactly 100 possible values.\n // Math.random() return values in range [0, 1) - 0 inclusive, 1 exclusive.\n // So we need to adjust it a litte bit to achieve what we want.\n variantRandom = Math.floor(Math.random() * 100 + 1);\n }\n\n // Adjust random value to a specific interval optimize caching.\n // Less possible values means less separate cache entries in CDN an better cache hit ratio.\n // TODO this value can set during deployment, to allow users to decide on trade-off between better caching and finer traffic splitting\n variantRandom -= variantRandom % 5;\n\n request.headers[variantRandomKey] = {\n value: variantRandom.toString()\n };\n\n return request;\n});\n"],"names":["defineCloudfrontFunctionRequestHandler","event","request","variantFixed","variantFixedKey","variantRandomKey","variantRandom","Number","isNaN","Math"],"mappings":";;AAIAA,uCAAuCC,CAAAA;IACnC,MAAMC,UAAUD,MAAM,OAAO;IAG7B,MAAME,eACFD,QAAQ,OAAO,EAAE,CAACE,gBAAgB,EAAE,SAASF,QAAQ,OAAO,CAACE,gBAAgB,EAAE;IACnF,IAAID,cAAc;QAEdD,QAAQ,OAAO,CAACE,gBAAgB,GAAG;YAC/B,OAAOD;QACX;QAIA,OAAOD,QAAQ,OAAO,CAACG,iBAAiB;QACxC,OAAOH;IACX;IAIA,IAAII,gBAAgBC,OAAOL,QAAQ,OAAO,EAAE,CAACG,iBAAiB,EAAE;IAChE,IAAIG,MAAMF,kBAAkBA,gBAAgB,KAAKA,gBAAgB,KAM7DA,gBAAgBG,KAAK,KAAK,CAACA,AAAgB,MAAhBA,KAAK,MAAM,KAAW;IAMrDH,iBAAiBA,gBAAgB;IAEjCJ,QAAQ,OAAO,CAACG,iBAAiB,GAAG;QAChC,OAAOC,cAAc,QAAQ;IACjC;IAEA,OAAOJ;AACX"}