@aws-solutions-constructs/aws-cloudfront-apigateway-lambda 2.74.0 → 2.76.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.
- package/.jsii +46 -39
- package/README.md +3 -3
- package/lib/index.js +1 -1
- package/package.json +8 -8
- package/test/lambda/index.js +13 -0
package/.jsii
CHANGED
|
@@ -8,10 +8,9 @@
|
|
|
8
8
|
"url": "https://aws.amazon.com"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@aws-
|
|
12
|
-
"@aws-solutions-constructs/
|
|
13
|
-
"
|
|
14
|
-
"aws-cdk-lib": "^2.161.0",
|
|
11
|
+
"@aws-solutions-constructs/aws-cloudfront-apigateway": "2.76.0",
|
|
12
|
+
"@aws-solutions-constructs/core": "2.76.0",
|
|
13
|
+
"aws-cdk-lib": "^2.173.2",
|
|
15
14
|
"constructs": "^10.0.0"
|
|
16
15
|
},
|
|
17
16
|
"dependencyClosure": {
|
|
@@ -123,37 +122,6 @@
|
|
|
123
122
|
}
|
|
124
123
|
}
|
|
125
124
|
},
|
|
126
|
-
"@aws-cdk/integ-tests-alpha": {
|
|
127
|
-
"targets": {
|
|
128
|
-
"dotnet": {
|
|
129
|
-
"iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/main/logo/default-256-dark.png",
|
|
130
|
-
"namespace": "Amazon.CDK.IntegTests.Alpha",
|
|
131
|
-
"packageId": "Amazon.CDK.IntegTests.Alpha"
|
|
132
|
-
},
|
|
133
|
-
"go": {
|
|
134
|
-
"moduleName": "github.com/aws/aws-cdk-go",
|
|
135
|
-
"packageName": "awscdkintegtestsalpha"
|
|
136
|
-
},
|
|
137
|
-
"java": {
|
|
138
|
-
"maven": {
|
|
139
|
-
"artifactId": "cdk-integ-tests-alpha",
|
|
140
|
-
"groupId": "software.amazon.awscdk"
|
|
141
|
-
},
|
|
142
|
-
"package": "software.amazon.awscdk.integtests.alpha"
|
|
143
|
-
},
|
|
144
|
-
"js": {
|
|
145
|
-
"npm": "@aws-cdk/integ-tests-alpha"
|
|
146
|
-
},
|
|
147
|
-
"python": {
|
|
148
|
-
"classifiers": [
|
|
149
|
-
"Framework :: AWS CDK",
|
|
150
|
-
"Framework :: AWS CDK :: 2"
|
|
151
|
-
],
|
|
152
|
-
"distName": "aws-cdk.integ-tests-alpha",
|
|
153
|
-
"module": "aws_cdk.integ_tests_alpha"
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
},
|
|
157
125
|
"@aws-solutions-constructs/aws-cloudfront-apigateway": {
|
|
158
126
|
"targets": {
|
|
159
127
|
"dotnet": {
|
|
@@ -1102,6 +1070,19 @@
|
|
|
1102
1070
|
}
|
|
1103
1071
|
}
|
|
1104
1072
|
},
|
|
1073
|
+
"aws-cdk-lib.aws_connectcampaignsv2": {
|
|
1074
|
+
"targets": {
|
|
1075
|
+
"dotnet": {
|
|
1076
|
+
"package": "Amazon.CDK.AWS.ConnectCampaignsV2"
|
|
1077
|
+
},
|
|
1078
|
+
"java": {
|
|
1079
|
+
"package": "software.amazon.awscdk.services.connectcampaignsv2"
|
|
1080
|
+
},
|
|
1081
|
+
"python": {
|
|
1082
|
+
"module": "aws_cdk.aws_connectcampaignsv2"
|
|
1083
|
+
}
|
|
1084
|
+
}
|
|
1085
|
+
},
|
|
1105
1086
|
"aws-cdk-lib.aws_controltower": {
|
|
1106
1087
|
"targets": {
|
|
1107
1088
|
"dotnet": {
|
|
@@ -1921,6 +1902,19 @@
|
|
|
1921
1902
|
}
|
|
1922
1903
|
}
|
|
1923
1904
|
},
|
|
1905
|
+
"aws-cdk-lib.aws_invoicing": {
|
|
1906
|
+
"targets": {
|
|
1907
|
+
"dotnet": {
|
|
1908
|
+
"package": "Amazon.CDK.AWS.Invoicing"
|
|
1909
|
+
},
|
|
1910
|
+
"java": {
|
|
1911
|
+
"package": "software.amazon.awscdk.services.invoicing"
|
|
1912
|
+
},
|
|
1913
|
+
"python": {
|
|
1914
|
+
"module": "aws_cdk.aws_invoicing"
|
|
1915
|
+
}
|
|
1916
|
+
}
|
|
1917
|
+
},
|
|
1924
1918
|
"aws-cdk-lib.aws_iot": {
|
|
1925
1919
|
"targets": {
|
|
1926
1920
|
"dotnet": {
|
|
@@ -2909,6 +2903,19 @@
|
|
|
2909
2903
|
}
|
|
2910
2904
|
}
|
|
2911
2905
|
},
|
|
2906
|
+
"aws-cdk-lib.aws_rbin": {
|
|
2907
|
+
"targets": {
|
|
2908
|
+
"dotnet": {
|
|
2909
|
+
"package": "Amazon.CDK.AWS.Rbin"
|
|
2910
|
+
},
|
|
2911
|
+
"java": {
|
|
2912
|
+
"package": "software.amazon.awscdk.services.rbin"
|
|
2913
|
+
},
|
|
2914
|
+
"python": {
|
|
2915
|
+
"module": "aws_cdk.aws_rbin"
|
|
2916
|
+
}
|
|
2917
|
+
}
|
|
2918
|
+
},
|
|
2912
2919
|
"aws-cdk-lib.aws_rds": {
|
|
2913
2920
|
"targets": {
|
|
2914
2921
|
"dotnet": {
|
|
@@ -3940,7 +3947,7 @@
|
|
|
3940
3947
|
},
|
|
3941
3948
|
"description": "CDK Constructs for AWS Cloudfront to AWS API Gateway to AWS Lambda integration.",
|
|
3942
3949
|
"homepage": "https://github.com/awslabs/aws-solutions-constructs.git",
|
|
3943
|
-
"jsiiVersion": "5.4.
|
|
3950
|
+
"jsiiVersion": "5.4.46 (build 1a0b9d7)",
|
|
3944
3951
|
"keywords": [
|
|
3945
3952
|
"aws",
|
|
3946
3953
|
"cdk",
|
|
@@ -3960,7 +3967,7 @@
|
|
|
3960
3967
|
},
|
|
3961
3968
|
"name": "@aws-solutions-constructs/aws-cloudfront-apigateway-lambda",
|
|
3962
3969
|
"readme": {
|
|
3963
|
-
"markdown": "# aws-cloudfront-apigateway-lambda module\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n\n\n---\n<!--END STABILITY BANNER-->\n\n| **Reference Documentation**:| <span style=\"font-weight: normal\">https://docs.aws.amazon.com/solutions/latest/constructs/</span>|\n|:-------------|:-------------|\n<div style=\"height:8px\"></div>\n\n| **Language** | **Package** |\n|:-------------|-----------------|\n| Python|`aws_solutions_constructs.aws_cloudfront_apigateway_lambda`|\n| Typescript|`@aws-solutions-constructs/aws-cloudfront-apigateway-lambda`|\n| Java|`software.amazon.awsconstructs.services.cloudfrontapigatewaylambda`|\n\n## Overview\nThis AWS Solutions Construct implements an AWS CloudFront fronting an Amazon API Gateway Lambda backed REST API.\n\nHere is a minimal deployable pattern definition:\n\nTypescript\n``` typescript\nimport { Construct } from 'constructs';\nimport { Stack, StackProps } from 'aws-cdk-lib';\nimport { CloudFrontToApiGatewayToLambda } from '@aws-solutions-constructs/aws-cloudfront-apigateway-lambda';\nimport * as lambda from 'aws-cdk-lib/aws-lambda';\n\nnew CloudFrontToApiGatewayToLambda(this, 'test-cloudfront-apigateway-lambda', {\n lambdaFunctionProps: {\n code: lambda.Code.fromAsset(`lambda`),\n runtime: lambda.Runtime.
|
|
3970
|
+
"markdown": "# aws-cloudfront-apigateway-lambda module\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n\n\n---\n<!--END STABILITY BANNER-->\n\n| **Reference Documentation**:| <span style=\"font-weight: normal\">https://docs.aws.amazon.com/solutions/latest/constructs/</span>|\n|:-------------|:-------------|\n<div style=\"height:8px\"></div>\n\n| **Language** | **Package** |\n|:-------------|-----------------|\n| Python|`aws_solutions_constructs.aws_cloudfront_apigateway_lambda`|\n| Typescript|`@aws-solutions-constructs/aws-cloudfront-apigateway-lambda`|\n| Java|`software.amazon.awsconstructs.services.cloudfrontapigatewaylambda`|\n\n## Overview\nThis AWS Solutions Construct implements an AWS CloudFront fronting an Amazon API Gateway Lambda backed REST API.\n\nHere is a minimal deployable pattern definition:\n\nTypescript\n``` typescript\nimport { Construct } from 'constructs';\nimport { Stack, StackProps } from 'aws-cdk-lib';\nimport { CloudFrontToApiGatewayToLambda } from '@aws-solutions-constructs/aws-cloudfront-apigateway-lambda';\nimport * as lambda from 'aws-cdk-lib/aws-lambda';\n\nnew CloudFrontToApiGatewayToLambda(this, 'test-cloudfront-apigateway-lambda', {\n lambdaFunctionProps: {\n code: lambda.Code.fromAsset(`lambda`),\n runtime: lambda.Runtime.NODEJS_20_X,\n handler: 'index.handler'\n },\n apiGatewayProps: {\n defaultMethodOptions: {\n authorizationType: api.AuthorizationType.NONE\n }\n },\n});\n```\n\nPython\n``` python\nfrom aws_solutions_constructs.aws_cloudfront_apigateway_lambda import CloudFrontToApiGatewayToLambda\nfrom aws_cdk import (\n aws_lambda as _lambda,\n aws_apigateway as apigw,\n Stack\n)\nfrom constructs import Construct\n\n CloudFrontToApiGatewayToLambda(\n self, 'CloudFrontApiGatewayToLambda',\n lambda_function_props=_lambda.FunctionProps(\n runtime=_lambda.Runtime.Python_3_11,\n code=_lambda.Code.from_asset('lambda'),\n handler='hello.handler',\n ),\n # NOTE - we use RestApiProps here because the actual type, LambdaRestApiProps requires\n # the handler function which does not yet exist. As RestApiProps is a subset of of LambdaRestApiProps\n # (although does not *extend* that interface) this works fine when the props object reaches the\n # underlying TypeScript code that implements Constructs\n api_gateway_props=apigw.RestApiProps(\n default_method_options=apigw.MethodOptions(\n authorization_type=apigw.AuthorizationType.NONE\n )\n )\n )\n```\n\nJava\n``` java\nimport software.constructs.Construct;\n\nimport software.amazon.awscdk.Stack;\nimport software.amazon.awscdk.StackProps;\nimport software.amazon.awscdk.services.lambda.*;\nimport software.amazon.awscdk.services.lambda.Runtime;\nimport software.amazon.awsconstructs.services.cloudfrontapigatewaylambda.*;\nimport software.amazon.awsconstructs.services.cloudfrontapigatewaylambda.CloudFrontToApiGatewayToLambdaProps;\n\nnew CloudFrontToApiGatewayToLambda(this, \"ApiGatewayToLambdaPattern\", new CloudFrontToApiGatewayToLambdaProps.Builder()\n .lambdaFunctionProps(new FunctionProps.Builder()\n .runtime(Runtime.NODEJS_20_X) // execution environment\n .code(Code.fromAsset(\"lambda\")) // code loaded from the `lambda` directory (under root, next to `src`)\n .handler(\"hello.handler\") // file is `hello`, function is `handler`\n .build())\n // NOTE - we use RestApiProps here because the actual type, LambdaRestApiProps requires\n // the handler function which does not yet exist. As RestApiProps is a subset of of LambdaRestApiProps\n // (although does not *extend* that interface) this works fine when the props object reaches the\n // underlying TypeScript code that implements Constructs\n .apiGatewayProps(new RestApiProps.Builder()\n .defaultMethodOptions(new MethodOptions.Builder()\n .authorizationType(AuthorizationType.NONE)\n .build())\n .build())\n .build());\n```\n\n## Pattern Construct Props\n\n| **Name** | **Type** | **Description** |\n|:-------------|:----------------|-----------------|\n|existingLambdaObj?|[`lambda.Function`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.Function.html)|Existing instance of Lambda Function object, providing both this and `lambdaFunctionProps` will cause an error.|\n|lambdaFunctionProps?|[`lambda.FunctionProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.FunctionProps.html)|Optional user provided props to override the default props for the Lambda function.|\n|apiGatewayProps?|[`api.LambdaRestApiProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.LambdaRestApiProps.html)|User provided props to override the default props for the API Gateway. As of release 2.48.0, clients must include this property with `defaultMethodOptions: { authorizationType: string }` specified. See Issue1043 in the github repo https://github.com/awslabs/aws-solutions-constructs/issues/1043 |\n|cloudFrontDistributionProps?|[`cloudfront.DistributionProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudfront.DistributionProps.html)|Optional user provided props to override the default props for CloudFront Distribution|\n|insertHttpSecurityHeaders?|`boolean`|Optional user provided props to turn on/off the automatic injection of best practice HTTP security headers in all responses from CloudFront|\n| responseHeadersPolicyProps? | [`cloudfront.ResponseHeadersPolicyProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudfront.ResponseHeadersPolicyProps.html) | Optional user provided configuration that cloudfront applies to all http responses. |\n|logGroupProps?|[`logs.LogGroupProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_logs.LogGroupProps.html)|Optional user provided props to override the default props for for the CloudWatchLogs LogGroup.|\n|cloudFrontLoggingBucketProps?|[`s3.BucketProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BucketProps.html)|Optional user provided props to override the default props for the CloudFront Logging Bucket.|\n\n## Pattern Properties\n\n| **Name** | **Type** | **Description** |\n|:-------------|:----------------|-----------------|\n|cloudFrontWebDistribution|[`cloudfront.Distribution`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudfront.Distribution.html)|Returns an instance of cloudfront.Distribution created by the construct|\n|cloudFrontFunction?|[`cloudfront.Function`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudfront.Function.html)|Returns an instance of the Cloudfront function created by the pattern.|\n|cloudFrontLoggingBucket|[`s3.Bucket`](https://docs.aws.amazon.com/cdk/api/latest/docs/aws-s3-readme.html)|Returns an instance of the logging bucket for CloudFront Distribution.|\n|apiGateway|[`api.RestApi`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.RestApi.html)|Returns an instance of the API Gateway REST API created by the pattern.|\n|apiGatewayCloudWatchRole?|[`iam.Role`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iam.Role.html)|Returns an instance of the iam.Role created by the construct for API Gateway for CloudWatch access.|\n|apiGatewayLogGroup|[`logs.LogGroup`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_logs.LogGroup.html)|Returns an instance of the LogGroup created by the construct for API Gateway access logging to CloudWatch.|\n|lambdaFunction|[`lambda.Function`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.Function.html)|Returns an instance of the Lambda function created by the pattern.|\n\n## Default settings\n\nOut of the box implementation of the Construct without any override will set the following defaults:\n\n### Amazon CloudFront\n* Configure Access logging for CloudFront Distribution\n* Enable automatic injection of best practice HTTP security headers in all responses from CloudFront Distribution\n\n### Amazon API Gateway\n* Deploy a regional API endpoint\n* Enable CloudWatch logging for API Gateway\n* Configure least privilege access IAM role for API Gateway\n* Set the default authorizationType for all API methods to NONE\n* Enable X-Ray Tracing\n\n### AWS Lambda Function\n* Configure limited privilege access IAM role for Lambda function\n* Enable reusing connections with Keep-Alive for NodeJs Lambda function\n* Enable X-Ray Tracing\n* Set Environment Variables\n * AWS_NODEJS_CONNECTION_REUSE_ENABLED (for Node 10.x and higher functions)\n\n## Architecture\n\n\n***\n© Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n"
|
|
3964
3971
|
},
|
|
3965
3972
|
"repository": {
|
|
3966
3973
|
"directory": "source/patterns/@aws-solutions-constructs/aws-cloudfront-apigateway-lambda",
|
|
@@ -4285,6 +4292,6 @@
|
|
|
4285
4292
|
"symbolId": "lib/index:CloudFrontToApiGatewayToLambdaProps"
|
|
4286
4293
|
}
|
|
4287
4294
|
},
|
|
4288
|
-
"version": "2.
|
|
4289
|
-
"fingerprint": "
|
|
4295
|
+
"version": "2.76.0",
|
|
4296
|
+
"fingerprint": "euWJiYTdG77lnFD3E/Qa8sx+CMB+GpNGeKQCWYJoAxs="
|
|
4290
4297
|
}
|
package/README.md
CHANGED
|
@@ -33,7 +33,7 @@ import * as lambda from 'aws-cdk-lib/aws-lambda';
|
|
|
33
33
|
new CloudFrontToApiGatewayToLambda(this, 'test-cloudfront-apigateway-lambda', {
|
|
34
34
|
lambdaFunctionProps: {
|
|
35
35
|
code: lambda.Code.fromAsset(`lambda`),
|
|
36
|
-
runtime: lambda.Runtime.
|
|
36
|
+
runtime: lambda.Runtime.NODEJS_20_X,
|
|
37
37
|
handler: 'index.handler'
|
|
38
38
|
},
|
|
39
39
|
apiGatewayProps: {
|
|
@@ -57,7 +57,7 @@ from constructs import Construct
|
|
|
57
57
|
CloudFrontToApiGatewayToLambda(
|
|
58
58
|
self, 'CloudFrontApiGatewayToLambda',
|
|
59
59
|
lambda_function_props=_lambda.FunctionProps(
|
|
60
|
-
runtime=_lambda.Runtime.
|
|
60
|
+
runtime=_lambda.Runtime.Python_3_11,
|
|
61
61
|
code=_lambda.Code.from_asset('lambda'),
|
|
62
62
|
handler='hello.handler',
|
|
63
63
|
),
|
|
@@ -86,7 +86,7 @@ import software.amazon.awsconstructs.services.cloudfrontapigatewaylambda.CloudFr
|
|
|
86
86
|
|
|
87
87
|
new CloudFrontToApiGatewayToLambda(this, "ApiGatewayToLambdaPattern", new CloudFrontToApiGatewayToLambdaProps.Builder()
|
|
88
88
|
.lambdaFunctionProps(new FunctionProps.Builder()
|
|
89
|
-
.runtime(Runtime.
|
|
89
|
+
.runtime(Runtime.NODEJS_20_X) // execution environment
|
|
90
90
|
.code(Code.fromAsset("lambda")) // code loaded from the `lambda` directory (under root, next to `src`)
|
|
91
91
|
.handler("hello.handler") // file is `hello`, function is `handler`
|
|
92
92
|
.build())
|
package/lib/index.js
CHANGED
|
@@ -56,5 +56,5 @@ class CloudFrontToApiGatewayToLambda extends constructs_1.Construct {
|
|
|
56
56
|
}
|
|
57
57
|
exports.CloudFrontToApiGatewayToLambda = CloudFrontToApiGatewayToLambda;
|
|
58
58
|
_a = JSII_RTTI_SYMBOL_1;
|
|
59
|
-
CloudFrontToApiGatewayToLambda[_a] = { fqn: "@aws-solutions-constructs/aws-cloudfront-apigateway-lambda.CloudFrontToApiGatewayToLambda", version: "2.
|
|
59
|
+
CloudFrontToApiGatewayToLambda[_a] = { fqn: "@aws-solutions-constructs/aws-cloudfront-apigateway-lambda.CloudFrontToApiGatewayToLambda", version: "2.76.0" };
|
|
60
60
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQW1CQSwyREFBMkQ7QUFDM0Qsd0ZBQXdGO0FBQ3hGLDJDQUF1QztBQUN2QyxtR0FBNkY7QUFvRTdGLE1BQWEsOEJBQStCLFNBQVEsc0JBQVM7SUFTM0Q7Ozs7Ozs7T0FPRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEM7UUFDbEYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsbUZBQW1GO1FBQ25GLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLENBQUM7WUFDcEUsUUFBUSxDQUFDLFlBQVksQ0FBQzs7NElBRWdILENBQUMsQ0FBQztZQUN4SSxNQUFNLElBQUksS0FBSyxDQUFDLCtGQUErRixDQUFDLENBQUM7UUFDbkgsQ0FBQzthQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0RixNQUFNLElBQUksS0FBSyxDQUFDLHFHQUFxRyxDQUFDLENBQUM7UUFDekgsQ0FBQztRQUVELHdFQUF3RTtRQUN4RSwyREFBMkQ7UUFDM0QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsaURBQWlELEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFOUUsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFO1lBQ3ZELGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7WUFDMUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtTQUMvQyxDQUFDLENBQUM7UUFFSCw0RUFBNEU7UUFDNUUsNkVBQTZFO1FBQzdFLE1BQU0sNkJBQTZCLEdBQUcsUUFBUSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFDdkUsSUFBSSxDQUFDLGNBQWMsRUFDbkIsS0FBSyxDQUFDLGVBQWUsRUFDckIsS0FBSyxDQUFDLGFBQWEsRUFDbkIsS0FBSyxDQUFDLENBQUM7UUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLDZCQUE2QixDQUFDLEdBQUcsQ0FBQztRQUNwRCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsNkJBQTZCLENBQUMsSUFBSSxDQUFDO1FBQ25FLElBQUksQ0FBQyxrQkFBa0IsR0FBRyw2QkFBNkIsQ0FBQyxLQUFLLENBQUM7UUFFOUQsTUFBTSxhQUFhLEdBQTJCLElBQUksa0RBQXNCLENBQUMsSUFBSSxFQUFFLHdCQUF3QixFQUFFO1lBQ3ZHLHFCQUFxQixFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3RDLDJCQUEyQixFQUFFLEtBQUssQ0FBQywyQkFBMkI7WUFDOUQseUJBQXlCLEVBQUUsS0FBSyxDQUFDLHlCQUF5QjtZQUMxRCw0QkFBNEIsRUFBRSxLQUFLLENBQUMsNEJBQTRCO1lBQ2hFLDBCQUEwQixFQUFFLEtBQUssQ0FBQywwQkFBMEI7U0FDN0QsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHlCQUF5QixHQUFHLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQztRQUN6RSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDO1FBQzNELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxhQUFhLENBQUMsdUJBQXVCLENBQUM7SUFDdkUsQ0FBQzs7QUE3REgsd0VBOERDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0ICogYXMgYXBpIGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5JztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCAqIGFzIGNsb3VkZnJvbnQgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQnO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcbi8vIE5vdGU6IFRvIGVuc3VyZSBDREt2MiBjb21wYXRpYmlsaXR5LCBrZWVwIHRoZSBpbXBvcnQgc3RhdGVtZW50IGZvciBDb25zdHJ1Y3Qgc2VwYXJhdGVcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQ2xvdWRGcm9udFRvQXBpR2F0ZXdheSB9IGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvYXdzLWNsb3VkZnJvbnQtYXBpZ2F0ZXdheSc7XG5cbi8qKlxuICogQHN1bW1hcnkgVGhlIHByb3BlcnRpZXMgZm9yIHRoZSBDbG91ZEZyb250VG9BcGlHYXRld2F5VG9MYW1iZGEgQ29uc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdWRGcm9udFRvQXBpR2F0ZXdheVRvTGFtYmRhUHJvcHMge1xuICAvKipcbiAgICogRXhpc3RpbmcgaW5zdGFuY2Ugb2YgTGFtYmRhIEZ1bmN0aW9uIG9iamVjdCwgcHJvdmlkaW5nIGJvdGggdGhpcyBhbmQgYGxhbWJkYUZ1bmN0aW9uUHJvcHNgIHdpbGwgY2F1c2UgYW4gZXJyb3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhpc3RpbmdMYW1iZGFPYmo/OiBsYW1iZGEuRnVuY3Rpb24sXG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzIGZvciB0aGUgTGFtYmRhIGZ1bmN0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlZmF1bHQgcHJvcHMgYXJlIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uUHJvcHM/OiBsYW1iZGEuRnVuY3Rpb25Qcm9wc1xuICAvKipcbiAgICogVXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wcyBmb3IgdGhlIEFQSSBHYXRld2F5LiBBcyBvZiByZWxlYXNlXG4gICAqIDIuNDguMCwgY2xpZW50cyBtdXN0IGluY2x1ZGUgdGhpcyBwcm9wZXJ0eSB3aXRoIGRlZmF1bHRNZXRob2RPcHRpb25zOiB7IGF1dGhvcml6YXRpb25UeXBlOiBzdHJpbmcgfSBzcGVjaWZpZWQuXG4gICAqIFNlZSBJc3N1ZTEwNDMgaW4gdGhlIGdpdGh1YiByZXBvIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3NsYWJzL2F3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9pc3N1ZXMvMTA0M1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHRNZXRob2RPcHRpb25zL2F1dGhvcml6YXRpb25UeXBlIGlzIHJlcXVpcmVkLCBmb3Igb3RoZXIsIHVuc3BlY2lmaWVkIHZhbHVlcyB0aGVcbiAgICogZGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgYXBpR2F0ZXdheVByb3BzOiBhcGkuTGFtYmRhUmVzdEFwaVByb3BzIHwgYW55XG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzPzogY2xvdWRmcm9udC5EaXN0cmlidXRpb25Qcm9wcyB8IGFueSxcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHVzZXIgcHJvdmlkZWQgcHJvcHMgdG8gdHVybiBvbi9vZmYgdGhlIGF1dG9tYXRpYyBpbmplY3Rpb24gb2YgYmVzdCBwcmFjdGljZSBIVFRQXG4gICAqIHNlY3VyaXR5IGhlYWRlcnMgaW4gYWxsIHJlc3BvbnNlcyBmcm9tIGNsb3VkZnJvbnQuXG4gICAqIFR1cm5pbmcgdGhpcyBvbiB3aWxsIGluamVjdCBkZWZhdWx0IGhlYWRlcnMgYW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIHBhc3NpbmcgY3VzdG9tIHNlY3VyaXR5IGhlYWRlcnNcbiAgICogdmlhIHRoZSByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcyBwYXJhbWV0ZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zZXJ0SHR0cFNlY3VyaXR5SGVhZGVycz86IGJvb2xlYW4sXG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb24gdGhhdCBjbG91ZGZyb250IGFwcGxpZXMgdG8gYWxsIGh0dHAgcmVzcG9uc2VzLlxuICAgKiBDYW4gYmUgdXNlZCB0byBwYXNzIGEgY3VzdG9tIFJlc3BvbnNlU2VjdXJpdHlIZWFkZXJzQmVoYXZpb3IsIFJlc3BvbnNlQ3VzdG9tSGVhZGVyc0JlaGF2aW9yIG9yXG4gICAqIFJlc3BvbnNlSGVhZGVyc0NvcnNCZWhhdmlvciB0byB0aGUgY2xvdWRmcm9udCBkaXN0cmlidXRpb24uXG4gICAqXG4gICAqIFBhc3NpbmcgYSBjdXN0b20gUmVzcG9uc2VTZWN1cml0eUhlYWRlcnNCZWhhdmlvciBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCB0dXJuaW5nIG9uIHRoZSBkZWZhdWx0IHNlY3VyaXR5IGhlYWRlcnNcbiAgICogdmlhIGBpbnNlcnRIdHRwU2VjdXJpdHlIZWFkZXJzYCBwcm9wLiBXaWxsIHRocm93IGFuIGVycm9yIGlmIGJvdGggYGluc2VydEh0dHBTZWN1cml0eUhlYWRlcnNgIGlzIHNldCB0byBgdHJ1ZWBcbiAgICogYW5kIFJlc3BvbnNlU2VjdXJpdHlIZWFkZXJzQmVoYXZpb3IgaXMgcGFzc2VkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHM/OiBjbG91ZGZyb250LlJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzXG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzIGZvciB0aGUgQ2xvdWRXYXRjaExvZ3MgTG9nR3JvdXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXBQcm9wcz86IGxvZ3MuTG9nR3JvdXBQcm9wc1xuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wcyBmb3IgdGhlIENsb3VkRnJvbnQgTG9nZ2luZyBCdWNrZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgIHJlYWRvbmx5IGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHM/OiBzMy5CdWNrZXRQcm9wc1xufVxuXG5leHBvcnQgY2xhc3MgQ2xvdWRGcm9udFRvQXBpR2F0ZXdheVRvTGFtYmRhIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGNsb3VkRnJvbnRXZWJEaXN0cmlidXRpb246IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uO1xuICBwdWJsaWMgcmVhZG9ubHkgY2xvdWRGcm9udEZ1bmN0aW9uPzogY2xvdWRmcm9udC5GdW5jdGlvbjtcbiAgcHVibGljIHJlYWRvbmx5IGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0PzogczMuQnVja2V0O1xuICBwdWJsaWMgcmVhZG9ubHkgYXBpR2F0ZXdheTogYXBpLlJlc3RBcGk7XG4gIHB1YmxpYyByZWFkb25seSBhcGlHYXRld2F5Q2xvdWRXYXRjaFJvbGU/OiBpYW0uUm9sZTtcbiAgcHVibGljIHJlYWRvbmx5IGFwaUdhdGV3YXlMb2dHcm91cDogbG9ncy5Mb2dHcm91cDtcbiAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IENvbnN0cnVjdHMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIENsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYSBjbGFzcy5cbiAgICogQHBhcmFtIHtDb25zdHJ1Y3R9IHNjb3BlIC0gcmVwcmVzZW50cyB0aGUgc2NvcGUgZm9yIGFsbCB0aGUgcmVzb3VyY2VzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWQgLSB0aGlzIGlzIGEgYSBzY29wZS11bmlxdWUgaWQuXG4gICAqIEBwYXJhbSB7Q2xvdWRGcm9udFRvQXBpR2F0ZXdheVRvTGFtYmRhUHJvcHN9IHByb3BzIC0gdXNlciBwcm92aWRlZCBwcm9wcyBmb3IgdGhlIGNvbnN0cnVjdFxuICAgKiBAc2luY2UgMC44LjBcbiAgICogQGFjY2VzcyBwdWJsaWNcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDbG91ZEZyb250VG9BcGlHYXRld2F5VG9MYW1iZGFQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgZGVmYXVsdHMuQ2hlY2tMYW1iZGFQcm9wcyhwcm9wcyk7XG4gICAgLy8gQ2hlY2tDbG91ZEZyb250UHJvcHMoKSBpcyBjYWxsZWQgYnkgaW50ZXJuYWwgYXdzLWNsb3VkZnJvbnQtYXBpZ2F0ZXdheSBjb25zdHJ1Y3RcbiAgICBpZiAoIXByb3BzLmFwaUdhdGV3YXlQcm9wcz8uZGVmYXVsdE1ldGhvZE9wdGlvbnM/LmF1dGhvcml6YXRpb25UeXBlKSB7XG4gICAgICBkZWZhdWx0cy5wcmludFdhcm5pbmcoJ0FzIG9mIHYyLjQ4LjAsIGFwaUdhdGV3YXlQcm9wcy5kZWZhdWx0TWV0aG9kT3B0aW9ucy5hdXRob3JpemF0aW9uVHlwZSBpc1xcXG4gICAgICByZXF1aXJlZC4gVG8gdXBkYXRlIHlvdXIgaW5zdGFudGlhdGlvbiBjYWxsLCBhZGQgdGhlIGZvbGxvd2luZyB0byB5b3VyIENsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYVByb3BzIGFyZ3VtZW50XFxcbiAgICAgIFxcblxcbmFwaUdhdGV3YXlQcm9wczogeyBkZWZhdWx0TWV0aG9kT3B0aW9uczogeyBhdXRob3JpemF0aW9uVHlwZTogYXBpLkF1dGhvcml6YXRpb25UeXBlLk5PTkUgfX0sXFxuXFxuU2VlIElzc3VlMTA0MyBmb3IgYW4gZXhwbGFuYXRpb24uJyk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FzIG9mIHYyLjQ4LjAsIGFuIGV4cGxpY2l0IGF1dGhvcml6YXRpb24gdHlwZSBpcyByZXF1aXJlZCBmb3IgQ2xvdWRGcm9udC9BUEkgR2F0ZXdheSBwYXR0ZXJucycpO1xuICAgIH0gZWxzZSBpZiAocHJvcHMuYXBpR2F0ZXdheVByb3BzLmRlZmF1bHRNZXRob2RPcHRpb25zLmF1dGhvcml6YXRpb25UeXBlID09PSBcIkFXU19JQU1cIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBbWF6b24gQVBJIEdhdGV3YXkgUmVzdCBBUElzIGludGVncmF0ZWQgd2l0aCBBbWF6b24gQ2xvdWRGcm9udCBkbyBub3Qgc3VwcG9ydCBBV1NfSUFNIGF1dGhvcml6YXRpb24nKTtcbiAgICB9XG5cbiAgICAvLyBBbGwgb3VyIHRlc3RzIGFyZSBiYXNlZCB1cG9uIHRoaXMgYmVoYXZpb3IgYmVpbmcgb24sIHNvIHdlJ3JlIHNldHRpbmdcbiAgICAvLyBjb250ZXh0IGhlcmUgcmF0aGVyIHRoYW4gYXNzdW1pbmcgdGhlIGNsaWVudCB3aWxsIHNldCBpdFxuICAgIHRoaXMubm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLXMzOnNlcnZlckFjY2Vzc0xvZ3NVc2VCdWNrZXRQb2xpY3lcIiwgdHJ1ZSk7XG5cbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uID0gZGVmYXVsdHMuYnVpbGRMYW1iZGFGdW5jdGlvbih0aGlzLCB7XG4gICAgICBleGlzdGluZ0xhbWJkYU9iajogcHJvcHMuZXhpc3RpbmdMYW1iZGFPYmosXG4gICAgICBsYW1iZGFGdW5jdGlvblByb3BzOiBwcm9wcy5sYW1iZGFGdW5jdGlvblByb3BzXG4gICAgfSk7XG5cbiAgICAvLyBXZSBjYW4ndCBkZWZhdWx0IHRvIElBTSBhdXRoZW50aWNhdGlvbiB3aXRoIGEgQ2xvdWRGcm9udCBkaXN0cmlidXRpb24sIHNvXG4gICAgLy8gd2UnbGwgaW5zdHJ1Y3QgY29yZSB0byBub3QgdXNlIGFueSBkZWZhdWx0IGF1dGggdG8gYXZvaWQgb3ZlcnJpZGUgd2FybmluZ3NcbiAgICBjb25zdCByZWdpb25hbExhbWJkYVJlc3RBcGlSZXNwb25zZSA9IGRlZmF1bHRzLlJlZ2lvbmFsTGFtYmRhUmVzdEFwaSh0aGlzLFxuICAgICAgdGhpcy5sYW1iZGFGdW5jdGlvbixcbiAgICAgIHByb3BzLmFwaUdhdGV3YXlQcm9wcyxcbiAgICAgIHByb3BzLmxvZ0dyb3VwUHJvcHMsXG4gICAgICBmYWxzZSk7XG4gICAgdGhpcy5hcGlHYXRld2F5ID0gcmVnaW9uYWxMYW1iZGFSZXN0QXBpUmVzcG9uc2UuYXBpO1xuICAgIHRoaXMuYXBpR2F0ZXdheUNsb3VkV2F0Y2hSb2xlID0gcmVnaW9uYWxMYW1iZGFSZXN0QXBpUmVzcG9uc2Uucm9sZTtcbiAgICB0aGlzLmFwaUdhdGV3YXlMb2dHcm91cCA9IHJlZ2lvbmFsTGFtYmRhUmVzdEFwaVJlc3BvbnNlLmdyb3VwO1xuXG4gICAgY29uc3QgYXBpQ2xvdWRmcm9udDogQ2xvdWRGcm9udFRvQXBpR2F0ZXdheSA9IG5ldyBDbG91ZEZyb250VG9BcGlHYXRld2F5KHRoaXMsICdDbG91ZEZyb250VG9BcGlHYXRld2F5Jywge1xuICAgICAgZXhpc3RpbmdBcGlHYXRld2F5T2JqOiB0aGlzLmFwaUdhdGV3YXksXG4gICAgICBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM6IHByb3BzLmNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcyxcbiAgICAgIGluc2VydEh0dHBTZWN1cml0eUhlYWRlcnM6IHByb3BzLmluc2VydEh0dHBTZWN1cml0eUhlYWRlcnMsXG4gICAgICBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzOiBwcm9wcy5jbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzLFxuICAgICAgcmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHM6IHByb3BzLnJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzXG4gICAgfSk7XG5cbiAgICB0aGlzLmNsb3VkRnJvbnRXZWJEaXN0cmlidXRpb24gPSBhcGlDbG91ZGZyb250LmNsb3VkRnJvbnRXZWJEaXN0cmlidXRpb247XG4gICAgdGhpcy5jbG91ZEZyb250RnVuY3Rpb24gPSBhcGlDbG91ZGZyb250LmNsb3VkRnJvbnRGdW5jdGlvbjtcbiAgICB0aGlzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0ID0gYXBpQ2xvdWRmcm9udC5jbG91ZEZyb250TG9nZ2luZ0J1Y2tldDtcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-solutions-constructs/aws-cloudfront-apigateway-lambda",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.76.0",
|
|
4
4
|
"description": "CDK Constructs for AWS Cloudfront to AWS API Gateway to AWS Lambda integration.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -53,16 +53,16 @@
|
|
|
53
53
|
}
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@aws-
|
|
57
|
-
"@aws-solutions-constructs/
|
|
58
|
-
"@aws-solutions-constructs/core": "2.74.0",
|
|
56
|
+
"@aws-solutions-constructs/aws-cloudfront-apigateway": "2.76.0",
|
|
57
|
+
"@aws-solutions-constructs/core": "2.76.0",
|
|
59
58
|
"constructs": "^10.0.0"
|
|
60
59
|
},
|
|
61
60
|
"devDependencies": {
|
|
61
|
+
"@aws-cdk/integ-tests-alpha": "2.173.2-alpha.0",
|
|
62
62
|
"@types/jest": "^27.4.0",
|
|
63
63
|
"@types/node": "^10.3.0",
|
|
64
64
|
"constructs": "^10.0.0",
|
|
65
|
-
"aws-cdk-lib": "2.
|
|
65
|
+
"aws-cdk-lib": "2.173.2"
|
|
66
66
|
},
|
|
67
67
|
"jest": {
|
|
68
68
|
"moduleFileExtensions": [
|
|
@@ -79,10 +79,10 @@
|
|
|
79
79
|
]
|
|
80
80
|
},
|
|
81
81
|
"peerDependencies": {
|
|
82
|
-
"@aws-solutions-constructs/core": "2.
|
|
83
|
-
"@aws-solutions-constructs/aws-cloudfront-apigateway": "2.
|
|
82
|
+
"@aws-solutions-constructs/core": "2.76.0",
|
|
83
|
+
"@aws-solutions-constructs/aws-cloudfront-apigateway": "2.76.0",
|
|
84
84
|
"constructs": "^10.0.0",
|
|
85
|
-
"aws-cdk-lib": "^2.
|
|
85
|
+
"aws-cdk-lib": "^2.173.2"
|
|
86
86
|
},
|
|
87
87
|
"keywords": [
|
|
88
88
|
"aws",
|
package/test/lambda/index.js
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
|
+
* with the License. A copy of the License is located at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
10
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
11
|
+
* and limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
|
|
1
14
|
console.log('Loading function');
|
|
2
15
|
|
|
3
16
|
exports.handler = async (event, context) => {
|