@webiny/aws-helpers 0.0.0-unstable.d7f521b032 → 0.0.0-unstable.dbdf5d6258
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 +2 -7
- package/README.md +11 -0
- package/cloudfrontFunctions/cookies.d.ts +1 -1
- package/cloudfrontFunctions/cookies.js +3 -3
- package/cloudfrontFunctions/cookies.js.map +1 -1
- package/cloudfrontFunctions/headers.d.ts +1 -1
- package/cloudfrontFunctions/headers.js +4 -4
- package/cloudfrontFunctions/headers.js.map +1 -1
- package/cloudfrontFunctions/index.d.ts +6 -6
- package/cloudfrontFunctions/index.js +8 -6
- package/cloudfrontFunctions/index.js.map +1 -1
- package/cloudfrontFunctions/querystring.d.ts +1 -1
- package/cloudfrontFunctions/querystring.js +4 -11
- package/cloudfrontFunctions/querystring.js.map +1 -1
- package/cloudfrontFunctions/redirect.d.ts +1 -1
- package/cloudfrontFunctions/redirect.js +5 -5
- package/cloudfrontFunctions/redirect.js.map +1 -1
- package/cloudfrontFunctions/types.d.ts +6 -6
- package/cloudfrontFunctions/types.js +3 -1
- package/cloudfrontFunctions/types.js.map +1 -1
- package/cloudfrontFunctions/utils.d.ts +1 -1
- package/cloudfrontFunctions/utils.js +4 -2
- package/cloudfrontFunctions/utils.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +3 -1
- package/index.js.map +1 -1
- package/lambdaEdge/cookies.d.ts +1 -1
- package/lambdaEdge/cookies.js +4 -6
- package/lambdaEdge/cookies.js.map +1 -1
- package/lambdaEdge/headers.d.ts +1 -1
- package/lambdaEdge/headers.js +3 -3
- package/lambdaEdge/headers.js.map +1 -1
- package/lambdaEdge/index.d.ts +7 -7
- package/lambdaEdge/index.js +9 -7
- package/lambdaEdge/index.js.map +1 -1
- package/lambdaEdge/redirect.d.ts +1 -1
- package/lambdaEdge/redirect.js +4 -4
- package/lambdaEdge/redirect.js.map +1 -1
- package/lambdaEdge/request.d.ts +1 -1
- package/lambdaEdge/request.js +4 -2
- package/lambdaEdge/request.js.map +1 -1
- package/lambdaEdge/response.d.ts +1 -1
- package/lambdaEdge/response.js +3 -1
- package/lambdaEdge/response.js.map +1 -1
- package/lambdaEdge/types.d.ts +8 -8
- package/lambdaEdge/types.js +3 -1
- package/lambdaEdge/types.js.map +1 -1
- package/lambdaEdge/utils.d.ts +1 -1
- package/lambdaEdge/utils.js +3 -1
- package/lambdaEdge/utils.js.map +1 -1
- package/package.json +6 -5
- package/stagedRollouts/functions/adminOriginRequest.js +12 -11
- package/stagedRollouts/functions/adminOriginRequest.js.map +1 -1
- package/stagedRollouts/functions/configOriginRequest.js +6 -4
- package/stagedRollouts/functions/configOriginRequest.js.map +1 -1
- package/stagedRollouts/functions/originRequest.js +5 -5
- package/stagedRollouts/functions/originRequest.js.map +1 -1
- package/stagedRollouts/functions/viewerRequest.js +18 -18
- package/stagedRollouts/functions/viewerRequest.js.map +1 -1
- package/stagedRollouts/functions/viewerResponse.js +6 -8
- package/stagedRollouts/functions/viewerResponse.js.map +1 -1
- package/stagedRollouts/utils/common.js +3 -1
- package/stagedRollouts/utils/common.js.map +1 -1
- package/stagedRollouts/utils/headerBlacklist.js +8 -4
- package/stagedRollouts/utils/headerBlacklist.js.map +1 -1
- package/stagedRollouts/utils/loadOriginPage.d.ts +1 -1
- package/stagedRollouts/utils/loadOriginPage.js +12 -14
- package/stagedRollouts/utils/loadOriginPage.js.map +1 -1
- package/stagedRollouts/utils/loadTrafficSplittingConfig.d.ts +2 -2
- package/stagedRollouts/utils/loadTrafficSplittingConfig.js +8 -10
- package/stagedRollouts/utils/loadTrafficSplittingConfig.js.map +1 -1
- package/stagedRollouts/utils/loadVariantOrigin.d.ts +2 -2
- package/stagedRollouts/utils/loadVariantOrigin.js +11 -24
- package/stagedRollouts/utils/loadVariantOrigin.js.map +1 -1
- package/stagedRollouts/utils/log.js +3 -1
- package/stagedRollouts/utils/log.js.map +1 -1
package/LICENSE
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
MIT License
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* All content that resides under the "enterprise/" directories of this repository, is licensed under the license defined in their respective "enterprise/LICENSE" file.
|
|
6
|
-
* All content that resides under the "packages/" sub-directories of this repository, is licensed under the license defined in their respective "packages/*/LICENSE" file.
|
|
7
|
-
* All third party components incorporated into the Webiny Software are licensed under the original license provided by the owner of the applicable component.
|
|
8
|
-
* Content outside of the above mentioned directories or restrictions above is available under the "MIT" license as defined below.
|
|
3
|
+
Copyright (c) Webiny
|
|
9
4
|
|
|
10
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
6
|
of this software and associated documentation files (the "Software"), to deal
|
package/README.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# @webiny/aws-helpers
|
|
2
|
+
|
|
3
|
+
> [!NOTE]
|
|
4
|
+
> This package is part of the [Webiny](https://www.webiny.com) monorepo.
|
|
5
|
+
> It’s **included in every Webiny project by default** and is not meant to be used as a standalone package.
|
|
6
|
+
|
|
7
|
+
📘 **Documentation:** [https://www.webiny.com/docs](https://www.webiny.com/docs)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
_This README file is automatically generated during the publish process._
|
|
@@ -3,11 +3,9 @@ export function setResponseCookie(response, cookie) {
|
|
|
3
3
|
const cookies = response.cookies || (response.cookies = {});
|
|
4
4
|
const current = cookies[cookie.name];
|
|
5
5
|
let attrs = `Secure; Path=/;`;
|
|
6
|
-
|
|
7
6
|
if (cookie.maxAge) {
|
|
8
7
|
attrs += ` Max-Age=${cookie.maxAge};`;
|
|
9
8
|
}
|
|
10
|
-
|
|
11
9
|
if (current) {
|
|
12
10
|
// If there is already the same cookie set in a response,
|
|
13
11
|
// we add another entry using `multivalue`.
|
|
@@ -25,4 +23,6 @@ export function setResponseCookie(response, cookie) {
|
|
|
25
23
|
attributes: attrs
|
|
26
24
|
};
|
|
27
25
|
}
|
|
28
|
-
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=cookies.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["setResponseCookie","response","cookie","cookies","current","name","attrs","maxAge","multivalue","push","value","attributes"],"sources":["cookies.ts"],"sourcesContent":["import { CloudFrontResponse } from \"./types\";\n\nexport interface CookieParams {\n name: string;\n value: string;\n maxAge?: number;\n}\n\n/** Sets cookie for the HTTP response */\nexport function setResponseCookie(response: CloudFrontResponse, cookie: CookieParams) {\n const cookies = response.cookies || (response.cookies = {});\n\n const current = cookies[cookie.name];\n let attrs = `Secure; Path=/;`;\n\n if (cookie.maxAge) {\n attrs += ` Max-Age=${cookie.maxAge};`;\n }\n\n if (current) {\n // If there is already the same cookie set in a response,\n // we add another entry using `multivalue`.\n // This is how you set multiple same cookies in CloudFront Functions.\n // It DOES make sense to set the same cookie multiple times,\n // for example when dealing with SameSite issue (https://web.dev/samesite-cookies-explained/)\n const multivalue = current.multivalue ?? (current.multivalue = []);\n multivalue.push({\n value: cookie.value,\n attributes: attrs\n });\n } else {\n cookies[cookie.name] = {\n value: cookie.value,\n attributes: attrs\n };\n }\n}\n"],"mappings":"AAQA;AACA,OAAO,SAASA,
|
|
1
|
+
{"version":3,"names":["setResponseCookie","response","cookie","cookies","current","name","attrs","maxAge","multivalue","push","value","attributes"],"sources":["cookies.ts"],"sourcesContent":["import type { CloudFrontResponse } from \"./types.js\";\n\nexport interface CookieParams {\n name: string;\n value: string;\n maxAge?: number;\n}\n\n/** Sets cookie for the HTTP response */\nexport function setResponseCookie(response: CloudFrontResponse, cookie: CookieParams) {\n const cookies = response.cookies || (response.cookies = {});\n\n const current = cookies[cookie.name];\n let attrs = `Secure; Path=/;`;\n\n if (cookie.maxAge) {\n attrs += ` Max-Age=${cookie.maxAge};`;\n }\n\n if (current) {\n // If there is already the same cookie set in a response,\n // we add another entry using `multivalue`.\n // This is how you set multiple same cookies in CloudFront Functions.\n // It DOES make sense to set the same cookie multiple times,\n // for example when dealing with SameSite issue (https://web.dev/samesite-cookies-explained/)\n const multivalue = current.multivalue ?? (current.multivalue = []);\n multivalue.push({\n value: cookie.value,\n attributes: attrs\n });\n } else {\n cookies[cookie.name] = {\n value: cookie.value,\n attributes: attrs\n };\n }\n}\n"],"mappings":"AAQA;AACA,OAAO,SAASA,iBAAiBA,CAACC,QAA4B,EAAEC,MAAoB,EAAE;EAClF,MAAMC,OAAO,GAAGF,QAAQ,CAACE,OAAO,KAAKF,QAAQ,CAACE,OAAO,GAAG,CAAC,CAAC,CAAC;EAE3D,MAAMC,OAAO,GAAGD,OAAO,CAACD,MAAM,CAACG,IAAI,CAAC;EACpC,IAAIC,KAAK,GAAG,iBAAiB;EAE7B,IAAIJ,MAAM,CAACK,MAAM,EAAE;IACfD,KAAK,IAAI,YAAYJ,MAAM,CAACK,MAAM,GAAG;EACzC;EAEA,IAAIH,OAAO,EAAE;IACT;IACA;IACA;IACA;IACA;IACA,MAAMI,UAAU,GAAGJ,OAAO,CAACI,UAAU,KAAKJ,OAAO,CAACI,UAAU,GAAG,EAAE,CAAC;IAClEA,UAAU,CAACC,IAAI,CAAC;MACZC,KAAK,EAAER,MAAM,CAACQ,KAAK;MACnBC,UAAU,EAAEL;IAChB,CAAC,CAAC;EACN,CAAC,MAAM;IACHH,OAAO,CAACD,MAAM,CAACG,IAAI,CAAC,GAAG;MACnBK,KAAK,EAAER,MAAM,CAACQ,KAAK;MACnBC,UAAU,EAAEL;IAChB,CAAC;EACL;AACJ","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CloudFrontHeaders, Header } from "./types";
|
|
1
|
+
import type { CloudFrontHeaders, Header } from "./types.js";
|
|
2
2
|
export declare function getHeader(headers: CloudFrontHeaders, header: string): string | undefined;
|
|
3
3
|
export declare function setHeader(headers: CloudFrontHeaders, header: Header): void;
|
|
4
4
|
export declare function setHeaders(headers: CloudFrontHeaders, headersToSet: Header[]): void;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
export function getHeader(headers, header) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
return (_headers$header = headers[header]) === null || _headers$header === void 0 ? void 0 : _headers$header.value;
|
|
2
|
+
return headers[header]?.value;
|
|
5
3
|
}
|
|
6
4
|
export function setHeader(headers, header) {
|
|
7
5
|
headers[header.key] = {
|
|
@@ -23,4 +21,6 @@ export function setNoCacheHeaders(headers) {
|
|
|
23
21
|
headers["expires"] = {
|
|
24
22
|
value: "0"
|
|
25
23
|
};
|
|
26
|
-
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=headers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getHeader","headers","header","value","setHeader","key","setHeaders","headersToSet","i","length","setNoCacheHeaders"],"sources":["headers.ts"],"sourcesContent":["import { CloudFrontHeaders, Header } from \"./types\";\n\nexport function getHeader(headers: CloudFrontHeaders, header: string) {\n return headers[header]?.value;\n}\n\nexport function setHeader(headers: CloudFrontHeaders, header: Header) {\n headers[header.key] = {\n value: header.value\n };\n}\n\nexport function setHeaders(headers: CloudFrontHeaders, headersToSet: Header[]) {\n for (let i = 0; i < headersToSet.length; i++) {\n setHeader(headers, headersToSet[i]);\n }\n}\n\nexport function setNoCacheHeaders(headers: CloudFrontHeaders) {\n headers[\"cache-control\"] = { value: \"no-cache, no-store, must-revalidate\" };\n headers[\"pragma\"] = { value: \"no-cache\" };\n headers[\"expires\"] = { value: \"0\" };\n}\n"],"mappings":"AAEA,OAAO,SAASA,
|
|
1
|
+
{"version":3,"names":["getHeader","headers","header","value","setHeader","key","setHeaders","headersToSet","i","length","setNoCacheHeaders"],"sources":["headers.ts"],"sourcesContent":["import type { CloudFrontHeaders, Header } from \"./types.js\";\n\nexport function getHeader(headers: CloudFrontHeaders, header: string) {\n return headers[header]?.value;\n}\n\nexport function setHeader(headers: CloudFrontHeaders, header: Header) {\n headers[header.key] = {\n value: header.value\n };\n}\n\nexport function setHeaders(headers: CloudFrontHeaders, headersToSet: Header[]) {\n for (let i = 0; i < headersToSet.length; i++) {\n setHeader(headers, headersToSet[i]);\n }\n}\n\nexport function setNoCacheHeaders(headers: CloudFrontHeaders) {\n headers[\"cache-control\"] = { value: \"no-cache, no-store, must-revalidate\" };\n headers[\"pragma\"] = { value: \"no-cache\" };\n headers[\"expires\"] = { value: \"0\" };\n}\n"],"mappings":"AAEA,OAAO,SAASA,SAASA,CAACC,OAA0B,EAAEC,MAAc,EAAE;EAClE,OAAOD,OAAO,CAACC,MAAM,CAAC,EAAEC,KAAK;AACjC;AAEA,OAAO,SAASC,SAASA,CAACH,OAA0B,EAAEC,MAAc,EAAE;EAClED,OAAO,CAACC,MAAM,CAACG,GAAG,CAAC,GAAG;IAClBF,KAAK,EAAED,MAAM,CAACC;EAClB,CAAC;AACL;AAEA,OAAO,SAASG,UAAUA,CAACL,OAA0B,EAAEM,YAAsB,EAAE;EAC3E,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,YAAY,CAACE,MAAM,EAAED,CAAC,EAAE,EAAE;IAC1CJ,SAAS,CAACH,OAAO,EAAEM,YAAY,CAACC,CAAC,CAAC,CAAC;EACvC;AACJ;AAEA,OAAO,SAASE,iBAAiBA,CAACT,OAA0B,EAAE;EAC1DA,OAAO,CAAC,eAAe,CAAC,GAAG;IAAEE,KAAK,EAAE;EAAsC,CAAC;EAC3EF,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAEE,KAAK,EAAE;EAAW,CAAC;EACzCF,OAAO,CAAC,SAAS,CAAC,GAAG;IAAEE,KAAK,EAAE;EAAI,CAAC;AACvC","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from "./cookies";
|
|
2
|
-
export * from "./headers";
|
|
3
|
-
export * from "./querystring";
|
|
4
|
-
export * from "./redirect";
|
|
5
|
-
export * from "./types";
|
|
6
|
-
export * from "./utils";
|
|
1
|
+
export * from "./cookies.js";
|
|
2
|
+
export * from "./headers.js";
|
|
3
|
+
export * from "./querystring.js";
|
|
4
|
+
export * from "./redirect.js";
|
|
5
|
+
export * from "./types.js";
|
|
6
|
+
export * from "./utils.js";
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
export * from "./cookies";
|
|
2
|
-
export * from "./headers";
|
|
3
|
-
export * from "./querystring";
|
|
4
|
-
export * from "./redirect";
|
|
5
|
-
export * from "./types";
|
|
6
|
-
export * from "./utils";
|
|
1
|
+
export * from "./cookies.js";
|
|
2
|
+
export * from "./headers.js";
|
|
3
|
+
export * from "./querystring.js";
|
|
4
|
+
export * from "./redirect.js";
|
|
5
|
+
export * from "./types.js";
|
|
6
|
+
export * from "./utils.js";
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
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
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./cookies.js\";\nexport * from \"./headers.js\";\nexport * from \"./querystring.js\";\nexport * from \"./redirect.js\";\nexport * from \"./types.js\";\nexport * from \"./utils.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { CloudFrontQuery } from "./types";
|
|
1
|
+
import type { CloudFrontQuery } from "./types.js";
|
|
2
2
|
export declare function stringifyQuery(query: CloudFrontQuery): string;
|
|
@@ -1,38 +1,31 @@
|
|
|
1
1
|
export function stringifyQuery(query) {
|
|
2
2
|
let qs = "";
|
|
3
|
-
|
|
4
3
|
for (const key of Object.keys(query)) {
|
|
5
4
|
const value = query[key];
|
|
6
|
-
|
|
7
5
|
if (!value) {
|
|
8
6
|
continue;
|
|
9
7
|
}
|
|
10
|
-
|
|
11
|
-
qs = appendQueryString(qs, key, value === null || value === void 0 ? void 0 : value.value);
|
|
12
|
-
|
|
8
|
+
qs = appendQueryString(qs, key, value?.value);
|
|
13
9
|
if (value.multivalue) {
|
|
14
10
|
for (let i = 0; i < value.multivalue.length; i++) {
|
|
15
11
|
qs = appendQueryString(qs, key, value.multivalue[i].value);
|
|
16
12
|
}
|
|
17
13
|
}
|
|
18
14
|
}
|
|
19
|
-
|
|
20
15
|
if (qs) {
|
|
21
16
|
qs = "?" + qs;
|
|
22
17
|
}
|
|
23
|
-
|
|
24
18
|
return qs;
|
|
25
19
|
}
|
|
26
|
-
|
|
27
20
|
function appendQueryString(qs, key, value) {
|
|
28
21
|
if (value === null) {
|
|
29
22
|
return qs;
|
|
30
23
|
}
|
|
31
|
-
|
|
32
24
|
if (qs.length) {
|
|
33
25
|
qs += "&";
|
|
34
26
|
}
|
|
35
|
-
|
|
36
27
|
qs += `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
|
|
37
28
|
return qs;
|
|
38
|
-
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=querystring.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["stringifyQuery","query","qs","key","Object","keys","value","appendQueryString","multivalue","i","length","encodeURIComponent"],"sources":["querystring.ts"],"sourcesContent":["import { CloudFrontQuery } from \"./types\";\n\nexport function stringifyQuery(query: CloudFrontQuery) {\n let qs = \"\";\n\n for (const key of Object.keys(query)) {\n const value = query[key];\n if (!value) {\n continue;\n }\n\n qs = appendQueryString(qs, key, value?.value);\n\n if (value.multivalue) {\n for (let i = 0; i < value.multivalue.length; i++) {\n qs = appendQueryString(qs, key, value.multivalue[i].value);\n }\n }\n }\n\n if (qs) {\n qs = \"?\" + qs;\n }\n\n return qs;\n}\n\nfunction appendQueryString(qs: string, key: string, value: string | null) {\n if (value === null) {\n return qs;\n }\n\n if (qs.length) {\n qs += \"&\";\n }\n\n qs += `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\n\n return qs;\n}\n"],"mappings":"AAEA,OAAO,SAASA,
|
|
1
|
+
{"version":3,"names":["stringifyQuery","query","qs","key","Object","keys","value","appendQueryString","multivalue","i","length","encodeURIComponent"],"sources":["querystring.ts"],"sourcesContent":["import type { CloudFrontQuery } from \"./types.js\";\n\nexport function stringifyQuery(query: CloudFrontQuery) {\n let qs = \"\";\n\n for (const key of Object.keys(query)) {\n const value = query[key];\n if (!value) {\n continue;\n }\n\n qs = appendQueryString(qs, key, value?.value);\n\n if (value.multivalue) {\n for (let i = 0; i < value.multivalue.length; i++) {\n qs = appendQueryString(qs, key, value.multivalue[i].value);\n }\n }\n }\n\n if (qs) {\n qs = \"?\" + qs;\n }\n\n return qs;\n}\n\nfunction appendQueryString(qs: string, key: string, value: string | null) {\n if (value === null) {\n return qs;\n }\n\n if (qs.length) {\n qs += \"&\";\n }\n\n qs += `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\n\n return qs;\n}\n"],"mappings":"AAEA,OAAO,SAASA,cAAcA,CAACC,KAAsB,EAAE;EACnD,IAAIC,EAAE,GAAG,EAAE;EAEX,KAAK,MAAMC,GAAG,IAAIC,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,EAAE;IAClC,MAAMK,KAAK,GAAGL,KAAK,CAACE,GAAG,CAAC;IACxB,IAAI,CAACG,KAAK,EAAE;MACR;IACJ;IAEAJ,EAAE,GAAGK,iBAAiB,CAACL,EAAE,EAAEC,GAAG,EAAEG,KAAK,EAAEA,KAAK,CAAC;IAE7C,IAAIA,KAAK,CAACE,UAAU,EAAE;MAClB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,KAAK,CAACE,UAAU,CAACE,MAAM,EAAED,CAAC,EAAE,EAAE;QAC9CP,EAAE,GAAGK,iBAAiB,CAACL,EAAE,EAAEC,GAAG,EAAEG,KAAK,CAACE,UAAU,CAACC,CAAC,CAAC,CAACH,KAAK,CAAC;MAC9D;IACJ;EACJ;EAEA,IAAIJ,EAAE,EAAE;IACJA,EAAE,GAAG,GAAG,GAAGA,EAAE;EACjB;EAEA,OAAOA,EAAE;AACb;AAEA,SAASK,iBAAiBA,CAACL,EAAU,EAAEC,GAAW,EAAEG,KAAoB,EAAE;EACtE,IAAIA,KAAK,KAAK,IAAI,EAAE;IAChB,OAAOJ,EAAE;EACb;EAEA,IAAIA,EAAE,CAACQ,MAAM,EAAE;IACXR,EAAE,IAAI,GAAG;EACb;EAEAA,EAAE,IAAI,GAAGS,kBAAkB,CAACR,GAAG,CAAC,IAAIQ,kBAAkB,CAACL,KAAK,CAAC,EAAE;EAE/D,OAAOJ,EAAE;AACb","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { setNoCacheHeaders } from "./headers";
|
|
2
|
-
import { stringifyQuery } from "./querystring";
|
|
1
|
+
import { setNoCacheHeaders } from "./headers.js";
|
|
2
|
+
import { stringifyQuery } from "./querystring.js";
|
|
3
3
|
export function redirectResponse(params) {
|
|
4
4
|
const query = params.query ? stringifyQuery(params.query) : "";
|
|
5
5
|
const permanent = params.status === 301;
|
|
@@ -12,11 +12,11 @@ export function redirectResponse(params) {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
|
-
|
|
16
15
|
if (!permanent) {
|
|
17
16
|
// For temporary redirects make sure they won't be cached.
|
|
18
17
|
setNoCacheHeaders(response.headers);
|
|
19
18
|
}
|
|
20
|
-
|
|
21
19
|
return response;
|
|
22
|
-
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=redirect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["setNoCacheHeaders","stringifyQuery","redirectResponse","params","query","permanent","status","response","statusCode","statusDescription","headers","location","value","url"],"sources":["redirect.ts"],"sourcesContent":["import { CloudFrontQuery, CloudFrontResponse } from \"./types\";\nimport { setNoCacheHeaders } from \"./headers\";\nimport { stringifyQuery } from \"./querystring\";\n\ninterface RedirectParams {\n url: string;\n query?: CloudFrontQuery;\n status?: number;\n}\n\nexport function redirectResponse(params: RedirectParams) {\n const query = params.query ? stringifyQuery(params.query) : \"\";\n const permanent = params.status === 301;\n\n const response: CloudFrontResponse = {\n statusCode: params.status || 302,\n statusDescription: params.status === 301 ? \"Moved permanently\" : \"Found\",\n headers: {\n location: { value: params.url + query }\n }\n };\n\n if (!permanent) {\n // For temporary redirects make sure they won't be cached.\n setNoCacheHeaders(response.headers);\n }\n\n return response;\n}\n"],"mappings":"AACA,SAASA,
|
|
1
|
+
{"version":3,"names":["setNoCacheHeaders","stringifyQuery","redirectResponse","params","query","permanent","status","response","statusCode","statusDescription","headers","location","value","url"],"sources":["redirect.ts"],"sourcesContent":["import type { CloudFrontQuery, CloudFrontResponse } from \"./types.js\";\nimport { setNoCacheHeaders } from \"./headers.js\";\nimport { stringifyQuery } from \"./querystring.js\";\n\ninterface RedirectParams {\n url: string;\n query?: CloudFrontQuery;\n status?: number;\n}\n\nexport function redirectResponse(params: RedirectParams) {\n const query = params.query ? stringifyQuery(params.query) : \"\";\n const permanent = params.status === 301;\n\n const response: CloudFrontResponse = {\n statusCode: params.status || 302,\n statusDescription: params.status === 301 ? \"Moved permanently\" : \"Found\",\n headers: {\n location: { value: params.url + query }\n }\n };\n\n if (!permanent) {\n // For temporary redirects make sure they won't be cached.\n setNoCacheHeaders(response.headers);\n }\n\n return response;\n}\n"],"mappings":"AACA,SAASA,iBAAiB;AAC1B,SAASC,cAAc;AAQvB,OAAO,SAASC,gBAAgBA,CAACC,MAAsB,EAAE;EACrD,MAAMC,KAAK,GAAGD,MAAM,CAACC,KAAK,GAAGH,cAAc,CAACE,MAAM,CAACC,KAAK,CAAC,GAAG,EAAE;EAC9D,MAAMC,SAAS,GAAGF,MAAM,CAACG,MAAM,KAAK,GAAG;EAEvC,MAAMC,QAA4B,GAAG;IACjCC,UAAU,EAAEL,MAAM,CAACG,MAAM,IAAI,GAAG;IAChCG,iBAAiB,EAAEN,MAAM,CAACG,MAAM,KAAK,GAAG,GAAG,mBAAmB,GAAG,OAAO;IACxEI,OAAO,EAAE;MACLC,QAAQ,EAAE;QAAEC,KAAK,EAAET,MAAM,CAACU,GAAG,GAAGT;MAAM;IAC1C;EACJ,CAAC;EAED,IAAI,CAACC,SAAS,EAAE;IACZ;IACAL,iBAAiB,CAACO,QAAQ,CAACG,OAAO,CAAC;EACvC;EAEA,OAAOH,QAAQ;AACnB","ignoreList":[]}
|
|
@@ -11,15 +11,15 @@ export interface ResponseCookie extends SingleValue {
|
|
|
11
11
|
* In principle you may have multiple same headers and cookies in one request or response.
|
|
12
12
|
* This is a wrapper interface for simpler use.
|
|
13
13
|
*/
|
|
14
|
-
export
|
|
14
|
+
export type MultiValue<T> = T & {
|
|
15
15
|
/** Additional values for the same item (for example multiple values for the same cookie.) */
|
|
16
16
|
multivalue?: T[];
|
|
17
17
|
};
|
|
18
|
-
export
|
|
19
|
-
export
|
|
20
|
-
export
|
|
21
|
-
export
|
|
22
|
-
export
|
|
18
|
+
export type MultiValueDictionary<T> = Record<string, MultiValue<T> | undefined>;
|
|
19
|
+
export type CloudFrontHeaders = MultiValueDictionary<SingleValue>;
|
|
20
|
+
export type CloudFrontRequestCookies = MultiValueDictionary<SingleValue>;
|
|
21
|
+
export type CloudFrontResponseCookies = MultiValueDictionary<ResponseCookie>;
|
|
22
|
+
export type CloudFrontQuery = MultiValueDictionary<SingleValue>;
|
|
23
23
|
/**
|
|
24
24
|
* Interface type for request in CloudFront Functions
|
|
25
25
|
* see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/functions-event-structure.html
|
|
@@ -1 +1 @@
|
|
|
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":""}
|
|
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":"","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
export function defineCloudfrontFunctionRequestHandler(handler) {
|
|
9
9
|
global.handler = handler;
|
|
10
10
|
}
|
|
11
|
+
|
|
11
12
|
/**
|
|
12
13
|
* Helper function to easier define CloudFront Function response handler.
|
|
13
14
|
*
|
|
@@ -15,7 +16,8 @@ export function defineCloudfrontFunctionRequestHandler(handler) {
|
|
|
15
16
|
* This way you only have to run the function within your handler script,
|
|
16
17
|
* and you are provided with working handler and full typing.
|
|
17
18
|
**/
|
|
18
|
-
|
|
19
19
|
export function defineCloudfrontFunctionResponseHandler(handler) {
|
|
20
20
|
global.handler = handler;
|
|
21
|
-
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defineCloudfrontFunctionRequestHandler","handler","global","defineCloudfrontFunctionResponseHandler"],"sources":["utils.ts"],"sourcesContent":["import { CloudFrontRequestHandler, CloudFrontResponseHandler } from \"./types\";\n\ndeclare const global: typeof globalThis & {\n
|
|
1
|
+
{"version":3,"names":["defineCloudfrontFunctionRequestHandler","handler","global","defineCloudfrontFunctionResponseHandler"],"sources":["utils.ts"],"sourcesContent":["import type { CloudFrontRequestHandler, CloudFrontResponseHandler } from \"./types.js\";\n\ndeclare const global: typeof globalThis & {\n handler: CloudFrontRequestHandler | CloudFrontResponseHandler;\n};\n\n/**\n * Helper function to easier define CloudFront Function request handler.\n *\n * Lambdas use exports, but CloudFront Functions use a global `handler` variable.\n * This way you only have to run the function within your handler script,\n * and you are provided with working handler and full typing.\n **/\nexport function defineCloudfrontFunctionRequestHandler(handler: CloudFrontRequestHandler) {\n global.handler = handler;\n}\n\n/**\n * Helper function to easier define CloudFront Function response handler.\n *\n * Lambdas use exports, but CloudFront Functions use a global `handler` variable.\n * This way you only have to run the function within your handler script,\n * and you are provided with working handler and full typing.\n **/\nexport function defineCloudfrontFunctionResponseHandler(handler: CloudFrontResponseHandler) {\n global.handler = handler;\n}\n"],"mappings":"AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,sCAAsCA,CAACC,OAAiC,EAAE;EACtFC,MAAM,CAACD,OAAO,GAAGA,OAAO;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,uCAAuCA,CAACF,OAAkC,EAAE;EACxFC,MAAM,CAACD,OAAO,GAAGA,OAAO;AAC5B","ignoreList":[]}
|
package/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "./lambdaEdge";
|
|
1
|
+
export * from "./lambdaEdge/index.js";
|
package/index.js
CHANGED
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./lambdaEdge\";\n"],"mappings":"AAAA"}
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./lambdaEdge/index.js\";\n"],"mappings":"AAAA","ignoreList":[]}
|
package/lambdaEdge/cookies.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { CloudFrontRequest, CloudFrontResponse } from "./types";
|
|
1
|
+
import type { CloudFrontRequest, CloudFrontResponse } from "./types.js";
|
|
2
2
|
export declare function getRequestCookies(request: CloudFrontRequest): Record<string, string | undefined>;
|
|
3
3
|
export declare function setResponseCookie(response: CloudFrontResponse, cookie: string): void;
|
package/lambdaEdge/cookies.js
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
import { getHeader } from "./headers";
|
|
1
|
+
import { getHeader } from "./headers.js";
|
|
2
2
|
export function getRequestCookies(request) {
|
|
3
3
|
const header = getHeader(request.headers, "cookie");
|
|
4
4
|
const cookies = {};
|
|
5
|
-
|
|
6
5
|
if (!header) {
|
|
7
6
|
return cookies;
|
|
8
7
|
}
|
|
9
|
-
|
|
10
8
|
const cookiesArray = decodeURIComponent(header).split(";");
|
|
11
|
-
|
|
12
9
|
for (const cookie of cookiesArray) {
|
|
13
10
|
const [name, value] = cookie.trim().split("=");
|
|
14
11
|
cookies[name] = value;
|
|
15
12
|
}
|
|
16
|
-
|
|
17
13
|
return cookies;
|
|
18
14
|
}
|
|
19
15
|
export function setResponseCookie(response, cookie) {
|
|
@@ -22,4 +18,6 @@ export function setResponseCookie(response, cookie) {
|
|
|
22
18
|
cookies.push({
|
|
23
19
|
value: cookie
|
|
24
20
|
});
|
|
25
|
-
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=cookies.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getHeader","getRequestCookies","request","header","headers","cookies","cookiesArray","decodeURIComponent","split","cookie","name","value","trim","setResponseCookie","response","push"],"sources":["cookies.ts"],"sourcesContent":["import { getHeader } from \"./headers\";\nimport { CloudFrontRequest, CloudFrontResponse } from \"./types\";\n\nexport function getRequestCookies(request: CloudFrontRequest) {\n const header = getHeader(request.headers, \"cookie\");\n const cookies: Record<string, string | undefined> = {};\n\n if (!header) {\n return cookies;\n }\n\n const cookiesArray = decodeURIComponent(header).split(\";\");\n\n for (const cookie of cookiesArray) {\n const [name, value] = cookie.trim().split(\"=\");\n cookies[name] = value;\n }\n\n return cookies;\n}\n\nexport function setResponseCookie(response: CloudFrontResponse, cookie: string) {\n const headers = response.headers;\n const cookies = headers[\"set-cookie\"] || (headers[\"set-cookie\"] = []);\n\n cookies.push({\n value: cookie\n });\n}\n"],"mappings":"AAAA,SAASA,
|
|
1
|
+
{"version":3,"names":["getHeader","getRequestCookies","request","header","headers","cookies","cookiesArray","decodeURIComponent","split","cookie","name","value","trim","setResponseCookie","response","push"],"sources":["cookies.ts"],"sourcesContent":["import { getHeader } from \"./headers.js\";\nimport type { CloudFrontRequest, CloudFrontResponse } from \"./types.js\";\n\nexport function getRequestCookies(request: CloudFrontRequest) {\n const header = getHeader(request.headers, \"cookie\");\n const cookies: Record<string, string | undefined> = {};\n\n if (!header) {\n return cookies;\n }\n\n const cookiesArray = decodeURIComponent(header).split(\";\");\n\n for (const cookie of cookiesArray) {\n const [name, value] = cookie.trim().split(\"=\");\n cookies[name] = value;\n }\n\n return cookies;\n}\n\nexport function setResponseCookie(response: CloudFrontResponse, cookie: string) {\n const headers = response.headers;\n const cookies = headers[\"set-cookie\"] || (headers[\"set-cookie\"] = []);\n\n cookies.push({\n value: cookie\n });\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAGlB,OAAO,SAASC,iBAAiBA,CAACC,OAA0B,EAAE;EAC1D,MAAMC,MAAM,GAAGH,SAAS,CAACE,OAAO,CAACE,OAAO,EAAE,QAAQ,CAAC;EACnD,MAAMC,OAA2C,GAAG,CAAC,CAAC;EAEtD,IAAI,CAACF,MAAM,EAAE;IACT,OAAOE,OAAO;EAClB;EAEA,MAAMC,YAAY,GAAGC,kBAAkB,CAACJ,MAAM,CAAC,CAACK,KAAK,CAAC,GAAG,CAAC;EAE1D,KAAK,MAAMC,MAAM,IAAIH,YAAY,EAAE;IAC/B,MAAM,CAACI,IAAI,EAAEC,KAAK,CAAC,GAAGF,MAAM,CAACG,IAAI,CAAC,CAAC,CAACJ,KAAK,CAAC,GAAG,CAAC;IAC9CH,OAAO,CAACK,IAAI,CAAC,GAAGC,KAAK;EACzB;EAEA,OAAON,OAAO;AAClB;AAEA,OAAO,SAASQ,iBAAiBA,CAACC,QAA4B,EAAEL,MAAc,EAAE;EAC5E,MAAML,OAAO,GAAGU,QAAQ,CAACV,OAAO;EAChC,MAAMC,OAAO,GAAGD,OAAO,CAAC,YAAY,CAAC,KAAKA,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;EAErEC,OAAO,CAACU,IAAI,CAAC;IACTJ,KAAK,EAAEF;EACX,CAAC,CAAC;AACN","ignoreList":[]}
|
package/lambdaEdge/headers.d.ts
CHANGED
package/lambdaEdge/headers.js
CHANGED
|
@@ -2,7 +2,7 @@ export function setHeader(headers, header) {
|
|
|
2
2
|
headers[header.key] = [header];
|
|
3
3
|
}
|
|
4
4
|
export function getHeader(headers, header) {
|
|
5
|
-
|
|
5
|
+
return headers?.[header]?.[0].value;
|
|
6
|
+
}
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
}
|
|
8
|
+
//# sourceMappingURL=headers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["setHeader","headers","header","key","getHeader","value"],"sources":["headers.ts"],"sourcesContent":["import { CloudFrontHeaders } from \"./types\";\n\nexport function setHeader(headers: CloudFrontHeaders, header: { key: string; value: string }) {\n headers[header.key] = [header];\n}\n\nexport function getHeader(headers: CloudFrontHeaders | undefined, header: string) {\n return headers?.[header]?.[0].value;\n}\n"],"mappings":"AAEA,OAAO,SAASA,
|
|
1
|
+
{"version":3,"names":["setHeader","headers","header","key","getHeader","value"],"sources":["headers.ts"],"sourcesContent":["import type { CloudFrontHeaders } from \"./types.js\";\n\nexport function setHeader(headers: CloudFrontHeaders, header: { key: string; value: string }) {\n headers[header.key] = [header];\n}\n\nexport function getHeader(headers: CloudFrontHeaders | undefined, header: string) {\n return headers?.[header]?.[0].value;\n}\n"],"mappings":"AAEA,OAAO,SAASA,SAASA,CAACC,OAA0B,EAAEC,MAAsC,EAAE;EAC1FD,OAAO,CAACC,MAAM,CAACC,GAAG,CAAC,GAAG,CAACD,MAAM,CAAC;AAClC;AAEA,OAAO,SAASE,SAASA,CAACH,OAAsC,EAAEC,MAAc,EAAE;EAC9E,OAAOD,OAAO,GAAGC,MAAM,CAAC,GAAG,CAAC,CAAC,CAACG,KAAK;AACvC","ignoreList":[]}
|
package/lambdaEdge/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from "./cookies";
|
|
2
|
-
export * from "./headers";
|
|
3
|
-
export * from "./redirect";
|
|
4
|
-
export * from "./request";
|
|
5
|
-
export * from "./response";
|
|
6
|
-
export * from "./types";
|
|
7
|
-
export * from "./utils";
|
|
1
|
+
export * from "./cookies.js";
|
|
2
|
+
export * from "./headers.js";
|
|
3
|
+
export * from "./redirect.js";
|
|
4
|
+
export * from "./request.js";
|
|
5
|
+
export * from "./response.js";
|
|
6
|
+
export * from "./types.js";
|
|
7
|
+
export * from "./utils.js";
|
package/lambdaEdge/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
export * from "./cookies";
|
|
2
|
-
export * from "./headers";
|
|
3
|
-
export * from "./redirect";
|
|
4
|
-
export * from "./request";
|
|
5
|
-
export * from "./response";
|
|
6
|
-
export * from "./types";
|
|
7
|
-
export * from "./utils";
|
|
1
|
+
export * from "./cookies.js";
|
|
2
|
+
export * from "./headers.js";
|
|
3
|
+
export * from "./redirect.js";
|
|
4
|
+
export * from "./request.js";
|
|
5
|
+
export * from "./response.js";
|
|
6
|
+
export * from "./types.js";
|
|
7
|
+
export * from "./utils.js";
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
package/lambdaEdge/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./cookies.js\";\nexport * from \"./headers.js\";\nexport * from \"./redirect.js\";\nexport * from \"./request.js\";\nexport * from \"./response.js\";\nexport * from \"./types.js\";\nexport * from \"./utils.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
package/lambdaEdge/redirect.d.ts
CHANGED
package/lambdaEdge/redirect.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { setHeader } from "./headers";
|
|
1
|
+
import { setHeader } from "./headers.js";
|
|
2
2
|
export function redirectResponse(params) {
|
|
3
3
|
const query = params.query || "";
|
|
4
4
|
const permanent = params.status === 301;
|
|
@@ -11,7 +11,6 @@ export function redirectResponse(params) {
|
|
|
11
11
|
key: "location",
|
|
12
12
|
value: params.url + query
|
|
13
13
|
});
|
|
14
|
-
|
|
15
14
|
if (!permanent) {
|
|
16
15
|
// for temporary redirects make sure they won't be cached
|
|
17
16
|
setHeader(response.headers, {
|
|
@@ -27,6 +26,7 @@ export function redirectResponse(params) {
|
|
|
27
26
|
value: "0"
|
|
28
27
|
});
|
|
29
28
|
}
|
|
30
|
-
|
|
31
29
|
return response;
|
|
32
|
-
}
|
|
30
|
+
}
|
|
31
|
+
|
|
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,
|
|
1
|
+
{"version":3,"names":["setHeader","redirectResponse","params","query","permanent","status","response","String","statusDescription","headers","key","value","url"],"sources":["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"],"mappings":"AACA,SAASA,SAAS;AAQlB,OAAO,SAASC,gBAAgBA,CAACC,MAAsB,EAAsB;EACzE,MAAMC,KAAK,GAAGD,MAAM,CAACC,KAAK,IAAI,EAAE;EAChC,MAAMC,SAAS,GAAGF,MAAM,CAACG,MAAM,KAAK,GAAG;EAEvC,MAAMC,QAA4B,GAAG;IACjCD,MAAM,EAAEE,MAAM,CAACL,MAAM,CAACG,MAAM,IAAI,GAAG,CAAC;IACpCG,iBAAiB,EAAEJ,SAAS,GAAG,mBAAmB,GAAG,OAAO;IAC5DK,OAAO,EAAE,CAAC;EACd,CAAC;EAEDT,SAAS,CAACM,QAAQ,CAACG,OAAO,EAAE;IACxBC,GAAG,EAAE,UAAU;IACfC,KAAK,EAAET,MAAM,CAACU,GAAG,GAAGT;EACxB,CAAC,CAAC;EAEF,IAAI,CAACC,SAAS,EAAE;IACZ;IACAJ,SAAS,CAACM,QAAQ,CAACG,OAAO,EAAE;MACxBC,GAAG,EAAE,eAAe;MACpBC,KAAK,EAAE;IACX,CAAC,CAAC;IACFX,SAAS,CAACM,QAAQ,CAACG,OAAO,EAAE;MACxBC,GAAG,EAAE,QAAQ;MACbC,KAAK,EAAE;IACX,CAAC,CAAC;IACFX,SAAS,CAACM,QAAQ,CAACG,OAAO,EAAE;MACxBC,GAAG,EAAE,SAAS;MACdC,KAAK,EAAE;IACX,CAAC,CAAC;EACN;EAEA,OAAOL,QAAQ;AACnB","ignoreList":[]}
|
package/lambdaEdge/request.d.ts
CHANGED
|
@@ -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;
|
package/lambdaEdge/request.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { setHeader } from "./headers";
|
|
1
|
+
import { setHeader } from "./headers.js";
|
|
2
2
|
export function setDomainOrigin(request, domain) {
|
|
3
3
|
request.origin = {
|
|
4
4
|
custom: {
|
|
@@ -16,4 +16,6 @@ export function setDomainOrigin(request, domain) {
|
|
|
16
16
|
key: "host",
|
|
17
17
|
value: domain
|
|
18
18
|
});
|
|
19
|
-
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
//# 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,
|
|
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.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"],"mappings":"AAAA,SAASA,SAAS;AAGlB,OAAO,SAASC,eAAeA,CAACC,OAA0B,EAAEC,MAAc,EAAE;EACxED,OAAO,CAACE,MAAM,GAAG;IACbC,MAAM,EAAE;MACJC,UAAU,EAAEH,MAAM;MAClBI,IAAI,EAAE,GAAG;MACTC,QAAQ,EAAE,OAAO;MACjBC,IAAI,EAAE,EAAE;MACRC,YAAY,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;MAC7CC,WAAW,EAAE,CAAC;MACdC,gBAAgB,EAAE,CAAC;MACnBC,aAAa,EAAE,CAAC;IACpB;EACJ,CAAC;EAEDb,SAAS,CAACE,OAAO,CAACY,OAAO,EAAE;IACvBC,GAAG,EAAE,MAAM;IACXC,KAAK,EAAEb;EACX,CAAC,CAAC;AACN","ignoreList":[]}
|
package/lambdaEdge/response.d.ts
CHANGED
|
@@ -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;
|
package/lambdaEdge/response.js
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"names":["notFoundResponse","message","status","statusDescription","body"],"sources":["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"],"mappings":"AAEA,OAAO,SAASA,gBAAgBA,CAACC,OAAgB,EAA4B;EACzE,OAAO;IACHC,MAAM,EAAE,KAAK;IACbC,iBAAiB,EAAE,WAAW;IAC9BC,IAAI,EAAEH,OAAO,IAAI;EACrB,CAAC;AACL","ignoreList":[]}
|
package/lambdaEdge/types.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
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
|
|
9
|
-
export
|
|
10
|
-
export
|
|
8
|
+
export type CloudFrontResponseEvent = BaseCloudFrontResponseEvent;
|
|
9
|
+
export type CloudFrontResultResponse = BaseCloudFrontResultResponse;
|
|
10
|
+
export type CloudFrontHeaders = BaseCloudFrontHeaders;
|
package/lambdaEdge/types.js
CHANGED