truemark-cdk-lib 1.5.2 → 1.5.3-alpha.0
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.
|
@@ -3,6 +3,7 @@ import { Construct } from "constructs";
|
|
|
3
3
|
import { DomainName } from "../../aws-route53";
|
|
4
4
|
export declare type TrailingSlashBehavior = "None" | "ForwardToIndex" | "RedirectNoSlash";
|
|
5
5
|
export declare type NoFileIndexBehavior = "None" | "ForwardToIndex" | "RedirectToSlash";
|
|
6
|
+
export declare type RobotsBehavior = "None" | "Allow" | "Disallow";
|
|
6
7
|
export interface WebsiteRedirectFunctionProps {
|
|
7
8
|
/**
|
|
8
9
|
* Optional domain to redirect to if the host header does not match.
|
|
@@ -26,6 +27,10 @@ export interface WebsiteRedirectFunctionProps {
|
|
|
26
27
|
* @default "None"
|
|
27
28
|
*/
|
|
28
29
|
readonly noFileExtensionBehavior?: NoFileIndexBehavior;
|
|
30
|
+
/**
|
|
31
|
+
* Sets the behavior for /robots.txt requests. Default is "Allow".
|
|
32
|
+
*/
|
|
33
|
+
readonly robotsBehavior?: RobotsBehavior;
|
|
29
34
|
}
|
|
30
35
|
export declare class WebsiteRedirectFunction extends Function {
|
|
31
36
|
constructor(scope: Construct, id: string, props: WebsiteRedirectFunctionProps);
|
|
@@ -4,7 +4,7 @@ exports.WebsiteRedirectFunction = void 0;
|
|
|
4
4
|
const aws_cloudfront_1 = require("aws-cdk-lib/aws-cloudfront");
|
|
5
5
|
class WebsiteRedirectFunction extends aws_cloudfront_1.Function {
|
|
6
6
|
constructor(scope, id, props) {
|
|
7
|
-
var _a, _b, _c, _d, _e;
|
|
7
|
+
var _a, _b, _c, _d, _e, _f;
|
|
8
8
|
super(scope, id, {
|
|
9
9
|
code: aws_cloudfront_1.FunctionCode.fromInline(`
|
|
10
10
|
function handler(event) {
|
|
@@ -45,14 +45,31 @@ function handler(event) {
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
+
if (event.request.uri === "/robots.txt" && "ROBOTS_BEHAVIOR" !== "None") {
|
|
49
|
+
if ("ROBOTS_BEHAVIOR" === "Allow") {
|
|
50
|
+
return {
|
|
51
|
+
statusCode: 200,
|
|
52
|
+
statusDescription: "OK",
|
|
53
|
+
contentType: "text/plain",
|
|
54
|
+
body: "User-agent: *\nAllow: /"
|
|
55
|
+
}
|
|
56
|
+
} else { // Disallow
|
|
57
|
+
return {
|
|
58
|
+
statusCode: 200,
|
|
59
|
+
statusDescription: "OK",
|
|
60
|
+
contentType: "text/plain",
|
|
61
|
+
body: "User-agent: *\nDisallow: /"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
48
64
|
return event.request;
|
|
49
65
|
}`
|
|
50
66
|
.replace(/APEX_DOMAIN/g, (_b = (_a = props.apexDomain) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : "")
|
|
51
67
|
.replace(/INDEX_FILE/g, (_c = props.indexFile) !== null && _c !== void 0 ? _c : "index.html")
|
|
52
68
|
.replace(/NO_FILE_EXTENSION_BEHAVIOR/g, (_d = props.noFileExtensionBehavior) !== null && _d !== void 0 ? _d : "None")
|
|
53
|
-
.replace(/TRAILING_SLASH_BEHAVIOR/g, (_e = props.trailingSlashBehavior) !== null && _e !== void 0 ? _e : "ForwardToIndex")
|
|
69
|
+
.replace(/TRAILING_SLASH_BEHAVIOR/g, (_e = props.trailingSlashBehavior) !== null && _e !== void 0 ? _e : "ForwardToIndex")
|
|
70
|
+
.replace("/ROBOTS_BEHAVIOR/g", (_f = props.robotsBehavior) !== null && _f !== void 0 ? _f : "Allow"))
|
|
54
71
|
});
|
|
55
72
|
}
|
|
56
73
|
}
|
|
57
74
|
exports.WebsiteRedirectFunction = WebsiteRedirectFunction;
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic2l0ZS1yZWRpcmVjdC1mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIndlYnNpdGUtcmVkaXJlY3QtZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0RBQTBHO0FBNEMxRyxNQUFhLHVCQUF3QixTQUFRLHlCQUFRO0lBRW5ELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBbUM7O1FBQzNFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsSUFBSSxFQUFFLDZCQUFZLENBQUMsVUFBVSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXdEbEM7aUJBQ08sT0FBTyxDQUFDLGNBQWMsY0FBRSxLQUFLLENBQUMsVUFBVSwwQ0FBRSxRQUFRLHFDQUFNLEVBQUUsQ0FBQztpQkFDM0QsT0FBTyxDQUFDLGFBQWEsUUFBRSxLQUFLLENBQUMsU0FBUyxtQ0FBSSxZQUFZLENBQUM7aUJBQ3ZELE9BQU8sQ0FBQyw2QkFBNkIsUUFBRSxLQUFLLENBQUMsdUJBQXVCLG1DQUFJLE1BQU0sQ0FBQztpQkFDL0UsT0FBTyxDQUFDLDBCQUEwQixRQUFFLEtBQUssQ0FBQyxxQkFBcUIsbUNBQUksZ0JBQWdCLENBQUM7aUJBQ3BGLE9BQU8sQ0FBQyxvQkFBb0IsUUFBRSxLQUFLLENBQUMsY0FBYyxtQ0FBSSxPQUFPLENBQUMsQ0FBQztTQUNuRSxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFwRUQsMERBb0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtGdW5jdGlvbiwgRnVuY3Rpb25Bc3NvY2lhdGlvbiwgRnVuY3Rpb25Db2RlLCBGdW5jdGlvbkV2ZW50VHlwZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZGZyb250XCI7XG5pbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7RG9tYWluTmFtZX0gZnJvbSBcIi4uLy4uL2F3cy1yb3V0ZTUzXCI7XG5cbmV4cG9ydCB0eXBlIFRyYWlsaW5nU2xhc2hCZWhhdmlvciA9IFwiTm9uZVwiIHwgXCJGb3J3YXJkVG9JbmRleFwiIHwgXCJSZWRpcmVjdE5vU2xhc2hcIjtcblxuZXhwb3J0IHR5cGUgTm9GaWxlSW5kZXhCZWhhdmlvciA9IFwiTm9uZVwiIHwgXCJGb3J3YXJkVG9JbmRleFwiIHwgXCJSZWRpcmVjdFRvU2xhc2hcIjtcblxuZXhwb3J0IHR5cGUgUm9ib3RzQmVoYXZpb3IgPSBcIk5vbmVcIiB8IFwiQWxsb3dcIiB8IFwiRGlzYWxsb3dcIjtcblxuZXhwb3J0IGludGVyZmFjZSBXZWJzaXRlUmVkaXJlY3RGdW5jdGlvblByb3BzIHtcblxuICAvKipcbiAgICogT3B0aW9uYWwgZG9tYWluIHRvIHJlZGlyZWN0IHRvIGlmIHRoZSBob3N0IGhlYWRlciBkb2VzIG5vdCBtYXRjaC5cbiAgICovXG4gIHJlYWRvbmx5IGFwZXhEb21haW4/OiBzdHJpbmcgfCBEb21haW5OYW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBmaWxlIHRvIHJlcXVlc3Qgd2hlbiB0aGUgVVJJIGVuZHMgd2l0aCBhICcvJy4gU2V0IHRvIGVuIGVtcHR5IHN0cmluZyB0byBkaXNhYmxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcImluZGV4Lmh0bWxcIlxuICAgKi9cbiAgcmVhZG9ubHkgaW5kZXhGaWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBiZWhhdmlvciBvZiBwYXRocyB3aXRoIHRyYWlsaW5nIHNsYXNoZXMuIERlZmF1bHQgaXMgXCJGb3J3YXJkVG9JbmRleFwiLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIkZvcndhcmRUb0luZGV4XCJcbiAgICovXG4gIHJlYWRvbmx5IHRyYWlsaW5nU2xhc2hCZWhhdmlvcj86IFRyYWlsaW5nU2xhc2hCZWhhdmlvcjtcblxuICAvKipcbiAgICogU2V0cyB0aGUgYmVoYXZpb3Igb2YgcGF0aHMgd2l0aCBubyBmaWxlIGV4dGVuc2lvbi4gRGVmYXVsdCBpcyBcIk5vbmVcIlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIk5vbmVcIlxuICAgKi9cbiAgcmVhZG9ubHkgbm9GaWxlRXh0ZW5zaW9uQmVoYXZpb3I/OiBOb0ZpbGVJbmRleEJlaGF2aW9yO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBiZWhhdmlvciBmb3IgL3JvYm90cy50eHQgcmVxdWVzdHMuIERlZmF1bHQgaXMgXCJBbGxvd1wiLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9ib3RzQmVoYXZpb3I/OiBSb2JvdHNCZWhhdmlvcjtcbn1cblxuZXhwb3J0IGNsYXNzIFdlYnNpdGVSZWRpcmVjdEZ1bmN0aW9uIGV4dGVuZHMgRnVuY3Rpb24ge1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBXZWJzaXRlUmVkaXJlY3RGdW5jdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBjb2RlOiBGdW5jdGlvbkNvZGUuZnJvbUlubGluZShgXG5mdW5jdGlvbiBoYW5kbGVyKGV2ZW50KSB7XG4gIHZhciBob3N0ID0gZXZlbnQucmVxdWVzdC5oZWFkZXJzLmhvc3QudmFsdWU7XG4gIHZhciB1cmkgPSBldmVudC5yZXF1ZXN0LnVyaTtcbiAgaWYgKFwiQVBFWF9ET01BSU5cIiAhPT0gXCJcIiAmJiBob3N0ICE9PSBcIkFQRVhfRE9NQUlOXCIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3RhdHVzQ29kZTogMzAxLFxuICAgICAgc3RhdHVzRGVzY3JpcHRpb246IFwiUGVybWFuZW50bHkgbW92ZWRcIixcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgXCJsb2NhdGlvblwiOiB7IFwidmFsdWVcIjogXCJodHRwczovL0FQRVhfRE9NQUlOXCIgKyB1cmkgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBpZiAoXCJJTkRFWF9GSUxFXCIgIT09IFwiXCIgJiYgXCJOT19GSUxFX0VYVEVOU0lPTl9CRUhBVklPUlwiICE9PSBcIk5vbmVcIiAmJiB1cmkuc3BsaXQoXCIvXCIpLnBvcCgpLnNwbGl0KFwiLlwiKS5sZW5ndGggPD0gMSkge1xuICAgIGlmIChcIk5PX0ZJTEVfRVhURU5TSU9OX0JFSEFWSU9SXCIgPT09IFwiRm9yd2FyZFRvSW5kZXhcIikge1xuICAgICAgZXZlbnQucmVxdWVzdC51cmkgPSB1cmkgKyBcIi9JTkRFWF9GSUxFXCI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN0YXR1c0NvZGU6IDMwMSxcbiAgICAgICAgc3RhdHVzRGVzY3JpcHRpb246IFwiUGVybWFuZW50bHkgbW92ZWRcIixcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgIFwibG9jYXRpb25cIjogeyBcInZhbHVlXCI6IHVyaSArIFwiL1wiIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBpZiAoXCJJTkRFWF9GSUxFXCIgIT09IFwiXCIgJiYgXCJUUkFJTElOR19TTEFTSF9CRUhBVklPUlwiICE9PSBcIk5vbmVcIiAmJiB1cmkuZW5kc1dpdGgoXCIvXCIpKSB7XG4gICAgaWYgKFwiVFJBSUxJTkdfU0xBU0hfQkVIQVZJT1JcIiA9PT0gXCJGb3J3YXJkVG9JbmRleFwiIHx8IHVyaSA9PT0gXCIvXCIpIHtcbiAgICAgIGV2ZW50LnJlcXVlc3QudXJpID0gdXJpICsgXCJJTkRFWF9GSUxFXCI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN0YXR1c0NvZGU6IDMwMSxcbiAgICAgICAgc3RhdHVzRGVzY3JpcHRpb246IFwiUGVybWFuZW50bHkgbW92ZWRcIixcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgIFwibG9jYXRpb25cIjogeyBcInZhbHVlXCI6IHVyaS5yZXBsYWNlKC8uJC8sIFwiXCIpIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBpZiAoZXZlbnQucmVxdWVzdC51cmkgPT09IFwiL3JvYm90cy50eHRcIiAmJiBcIlJPQk9UU19CRUhBVklPUlwiICE9PSBcIk5vbmVcIikge1xuICAgIGlmIChcIlJPQk9UU19CRUhBVklPUlwiID09PSBcIkFsbG93XCIpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN0YXR1c0NvZGU6IDIwMCxcbiAgICAgICAgc3RhdHVzRGVzY3JpcHRpb246IFwiT0tcIixcbiAgICAgICAgY29udGVudFR5cGU6IFwidGV4dC9wbGFpblwiLFxuICAgICAgICBib2R5OiBcIlVzZXItYWdlbnQ6ICpcXG5BbGxvdzogL1wiXG4gICAgICB9XG4gICAgfSBlbHNlIHsgLy8gRGlzYWxsb3dcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN0YXR1c0NvZGU6IDIwMCxcbiAgICAgICAgc3RhdHVzRGVzY3JpcHRpb246IFwiT0tcIixcbiAgICAgICAgY29udGVudFR5cGU6IFwidGV4dC9wbGFpblwiLFxuICAgICAgICBib2R5OiBcIlVzZXItYWdlbnQ6ICpcXG5EaXNhbGxvdzogL1wiXG4gICAgfVxuICB9XG4gIHJldHVybiBldmVudC5yZXF1ZXN0O1xufWBcbiAgICAgICAgLnJlcGxhY2UoL0FQRVhfRE9NQUlOL2csIHByb3BzLmFwZXhEb21haW4/LnRvU3RyaW5nKCkgPz8gXCJcIilcbiAgICAgICAgLnJlcGxhY2UoL0lOREVYX0ZJTEUvZywgcHJvcHMuaW5kZXhGaWxlID8/IFwiaW5kZXguaHRtbFwiKVxuICAgICAgICAucmVwbGFjZSgvTk9fRklMRV9FWFRFTlNJT05fQkVIQVZJT1IvZywgcHJvcHMubm9GaWxlRXh0ZW5zaW9uQmVoYXZpb3IgPz8gXCJOb25lXCIpXG4gICAgICAgIC5yZXBsYWNlKC9UUkFJTElOR19TTEFTSF9CRUhBVklPUi9nLCBwcm9wcy50cmFpbGluZ1NsYXNoQmVoYXZpb3IgPz8gXCJGb3J3YXJkVG9JbmRleFwiKVxuICAgICAgICAucmVwbGFjZShcIi9ST0JPVFNfQkVIQVZJT1IvZ1wiLCBwcm9wcy5yb2JvdHNCZWhhdmlvciA/PyBcIkFsbG93XCIpKVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "truemark-cdk-lib",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.3-alpha.0+dd5483b",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
"publishConfig": {
|
|
74
74
|
"access": "public"
|
|
75
75
|
},
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "dd5483bb6f7495988434c2402197983acadefe05"
|
|
77
77
|
}
|