cdk-nextjs 0.0.13 → 0.0.15
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 +28 -28
- package/assets/lambdas/sign-fn-url/{sign-fn-url.lambda → sign-fn-url.edge-lambda}/index.js +5 -5
- package/lib/lambdas/sign-fn-url/sign-fn-url-function.d.ts +3 -3
- package/lib/lambdas/sign-fn-url/sign-fn-url-function.js +5 -4
- package/lib/lambdas/sign-fn-url/sign-fn-url.edge-lambda.js +35 -0
- package/lib/nextjs-assets-deployment.js +1 -1
- package/lib/nextjs-build/cache-handler.cjs +3752 -4704
- package/lib/nextjs-build/nextjs-build.js +1 -1
- package/lib/nextjs-compute/nextjs-containers.js +1 -1
- package/lib/nextjs-compute/nextjs-functions.js +1 -1
- package/lib/nextjs-distribution.js +7 -2
- package/lib/nextjs-file-system.js +1 -1
- package/lib/nextjs-invalidation.js +1 -1
- package/lib/nextjs-revalidation.js +1 -1
- package/lib/nextjs-static-assets.js +1 -1
- package/lib/nextjs-vpc.js +1 -1
- package/lib/root-constructs/nextjs-global-containers.js +1 -1
- package/lib/root-constructs/nextjs-global-functions.js +1 -1
- package/lib/root-constructs/nextjs-regional-containers.js +1 -1
- package/package.json +8 -8
- package/lib/lambdas/sign-fn-url/sign-fn-url.lambda.js +0 -35
- /package/lib/lambdas/sign-fn-url/{sign-fn-url.lambda.d.ts → sign-fn-url.edge-lambda.d.ts} +0 -0
package/.jsii
CHANGED
|
@@ -5348,7 +5348,7 @@
|
|
|
5348
5348
|
},
|
|
5349
5349
|
"locationInModule": {
|
|
5350
5350
|
"filename": "src/nextjs-distribution.ts",
|
|
5351
|
-
"line":
|
|
5351
|
+
"line": 132
|
|
5352
5352
|
},
|
|
5353
5353
|
"parameters": [
|
|
5354
5354
|
{
|
|
@@ -5374,7 +5374,7 @@
|
|
|
5374
5374
|
"kind": "class",
|
|
5375
5375
|
"locationInModule": {
|
|
5376
5376
|
"filename": "src/nextjs-distribution.ts",
|
|
5377
|
-
"line":
|
|
5377
|
+
"line": 95
|
|
5378
5378
|
},
|
|
5379
5379
|
"name": "NextjsDistribution",
|
|
5380
5380
|
"properties": [
|
|
@@ -5384,7 +5384,7 @@
|
|
|
5384
5384
|
},
|
|
5385
5385
|
"locationInModule": {
|
|
5386
5386
|
"filename": "src/nextjs-distribution.ts",
|
|
5387
|
-
"line":
|
|
5387
|
+
"line": 96
|
|
5388
5388
|
},
|
|
5389
5389
|
"name": "distribution",
|
|
5390
5390
|
"type": {
|
|
@@ -5404,7 +5404,7 @@
|
|
|
5404
5404
|
"kind": "interface",
|
|
5405
5405
|
"locationInModule": {
|
|
5406
5406
|
"filename": "src/nextjs-distribution.ts",
|
|
5407
|
-
"line":
|
|
5407
|
+
"line": 48
|
|
5408
5408
|
},
|
|
5409
5409
|
"name": "NextjsDistributionOverrides",
|
|
5410
5410
|
"properties": [
|
|
@@ -5416,7 +5416,7 @@
|
|
|
5416
5416
|
"immutable": true,
|
|
5417
5417
|
"locationInModule": {
|
|
5418
5418
|
"filename": "src/nextjs-distribution.ts",
|
|
5419
|
-
"line":
|
|
5419
|
+
"line": 50
|
|
5420
5420
|
},
|
|
5421
5421
|
"name": "distributionProps",
|
|
5422
5422
|
"optional": true,
|
|
@@ -5432,7 +5432,7 @@
|
|
|
5432
5432
|
"immutable": true,
|
|
5433
5433
|
"locationInModule": {
|
|
5434
5434
|
"filename": "src/nextjs-distribution.ts",
|
|
5435
|
-
"line":
|
|
5435
|
+
"line": 54
|
|
5436
5436
|
},
|
|
5437
5437
|
"name": "dynamicBehaviorOptions",
|
|
5438
5438
|
"optional": true,
|
|
@@ -5448,7 +5448,7 @@
|
|
|
5448
5448
|
"immutable": true,
|
|
5449
5449
|
"locationInModule": {
|
|
5450
5450
|
"filename": "src/nextjs-distribution.ts",
|
|
5451
|
-
"line":
|
|
5451
|
+
"line": 55
|
|
5452
5452
|
},
|
|
5453
5453
|
"name": "dynamicCachePolicyProps",
|
|
5454
5454
|
"optional": true,
|
|
@@ -5464,7 +5464,7 @@
|
|
|
5464
5464
|
"immutable": true,
|
|
5465
5465
|
"locationInModule": {
|
|
5466
5466
|
"filename": "src/nextjs-distribution.ts",
|
|
5467
|
-
"line":
|
|
5467
|
+
"line": 57
|
|
5468
5468
|
},
|
|
5469
5469
|
"name": "dynamicHttpOriginProps",
|
|
5470
5470
|
"optional": true,
|
|
@@ -5480,7 +5480,7 @@
|
|
|
5480
5480
|
"immutable": true,
|
|
5481
5481
|
"locationInModule": {
|
|
5482
5482
|
"filename": "src/nextjs-distribution.ts",
|
|
5483
|
-
"line":
|
|
5483
|
+
"line": 56
|
|
5484
5484
|
},
|
|
5485
5485
|
"name": "dynamicResponseHeadersPolicyProps",
|
|
5486
5486
|
"optional": true,
|
|
@@ -5496,7 +5496,7 @@
|
|
|
5496
5496
|
"immutable": true,
|
|
5497
5497
|
"locationInModule": {
|
|
5498
5498
|
"filename": "src/nextjs-distribution.ts",
|
|
5499
|
-
"line":
|
|
5499
|
+
"line": 49
|
|
5500
5500
|
},
|
|
5501
5501
|
"name": "edgeFunctionProps",
|
|
5502
5502
|
"optional": true,
|
|
@@ -5512,7 +5512,7 @@
|
|
|
5512
5512
|
"immutable": true,
|
|
5513
5513
|
"locationInModule": {
|
|
5514
5514
|
"filename": "src/nextjs-distribution.ts",
|
|
5515
|
-
"line":
|
|
5515
|
+
"line": 51
|
|
5516
5516
|
},
|
|
5517
5517
|
"name": "imageBehaviorOptions",
|
|
5518
5518
|
"optional": true,
|
|
@@ -5528,7 +5528,7 @@
|
|
|
5528
5528
|
"immutable": true,
|
|
5529
5529
|
"locationInModule": {
|
|
5530
5530
|
"filename": "src/nextjs-distribution.ts",
|
|
5531
|
-
"line":
|
|
5531
|
+
"line": 52
|
|
5532
5532
|
},
|
|
5533
5533
|
"name": "imageCachePolicyProps",
|
|
5534
5534
|
"optional": true,
|
|
@@ -5544,7 +5544,7 @@
|
|
|
5544
5544
|
"immutable": true,
|
|
5545
5545
|
"locationInModule": {
|
|
5546
5546
|
"filename": "src/nextjs-distribution.ts",
|
|
5547
|
-
"line":
|
|
5547
|
+
"line": 53
|
|
5548
5548
|
},
|
|
5549
5549
|
"name": "imageResponseHeadersPolicyProps",
|
|
5550
5550
|
"optional": true,
|
|
@@ -5560,7 +5560,7 @@
|
|
|
5560
5560
|
"immutable": true,
|
|
5561
5561
|
"locationInModule": {
|
|
5562
5562
|
"filename": "src/nextjs-distribution.ts",
|
|
5563
|
-
"line":
|
|
5563
|
+
"line": 60
|
|
5564
5564
|
},
|
|
5565
5565
|
"name": "s3BucketOriginProps",
|
|
5566
5566
|
"optional": true,
|
|
@@ -5576,7 +5576,7 @@
|
|
|
5576
5576
|
"immutable": true,
|
|
5577
5577
|
"locationInModule": {
|
|
5578
5578
|
"filename": "src/nextjs-distribution.ts",
|
|
5579
|
-
"line":
|
|
5579
|
+
"line": 58
|
|
5580
5580
|
},
|
|
5581
5581
|
"name": "staticBehaviorOptions",
|
|
5582
5582
|
"optional": true,
|
|
@@ -5592,7 +5592,7 @@
|
|
|
5592
5592
|
"immutable": true,
|
|
5593
5593
|
"locationInModule": {
|
|
5594
5594
|
"filename": "src/nextjs-distribution.ts",
|
|
5595
|
-
"line":
|
|
5595
|
+
"line": 59
|
|
5596
5596
|
},
|
|
5597
5597
|
"name": "staticResponseHeadersPolicyProps",
|
|
5598
5598
|
"optional": true,
|
|
@@ -5613,7 +5613,7 @@
|
|
|
5613
5613
|
"kind": "interface",
|
|
5614
5614
|
"locationInModule": {
|
|
5615
5615
|
"filename": "src/nextjs-distribution.ts",
|
|
5616
|
-
"line":
|
|
5616
|
+
"line": 63
|
|
5617
5617
|
},
|
|
5618
5618
|
"name": "NextjsDistributionProps",
|
|
5619
5619
|
"properties": [
|
|
@@ -5627,7 +5627,7 @@
|
|
|
5627
5627
|
"immutable": true,
|
|
5628
5628
|
"locationInModule": {
|
|
5629
5629
|
"filename": "src/nextjs-distribution.ts",
|
|
5630
|
-
"line":
|
|
5630
|
+
"line": 68
|
|
5631
5631
|
},
|
|
5632
5632
|
"name": "assetsBucket",
|
|
5633
5633
|
"type": {
|
|
@@ -5643,7 +5643,7 @@
|
|
|
5643
5643
|
"immutable": true,
|
|
5644
5644
|
"locationInModule": {
|
|
5645
5645
|
"filename": "src/nextjs-distribution.ts",
|
|
5646
|
-
"line":
|
|
5646
|
+
"line": 78
|
|
5647
5647
|
},
|
|
5648
5648
|
"name": "dynamicUrl",
|
|
5649
5649
|
"type": {
|
|
@@ -5658,7 +5658,7 @@
|
|
|
5658
5658
|
"immutable": true,
|
|
5659
5659
|
"locationInModule": {
|
|
5660
5660
|
"filename": "src/nextjs-distribution.ts",
|
|
5661
|
-
"line":
|
|
5661
|
+
"line": 83
|
|
5662
5662
|
},
|
|
5663
5663
|
"name": "nextjsType",
|
|
5664
5664
|
"type": {
|
|
@@ -5674,7 +5674,7 @@
|
|
|
5674
5674
|
"immutable": true,
|
|
5675
5675
|
"locationInModule": {
|
|
5676
5676
|
"filename": "src/nextjs-distribution.ts",
|
|
5677
|
-
"line":
|
|
5677
|
+
"line": 92
|
|
5678
5678
|
},
|
|
5679
5679
|
"name": "publicDirEntries",
|
|
5680
5680
|
"type": {
|
|
@@ -5694,7 +5694,7 @@
|
|
|
5694
5694
|
"immutable": true,
|
|
5695
5695
|
"locationInModule": {
|
|
5696
5696
|
"filename": "src/nextjs-distribution.ts",
|
|
5697
|
-
"line":
|
|
5697
|
+
"line": 69
|
|
5698
5698
|
},
|
|
5699
5699
|
"name": "basePath",
|
|
5700
5700
|
"optional": true,
|
|
@@ -5711,7 +5711,7 @@
|
|
|
5711
5711
|
"immutable": true,
|
|
5712
5712
|
"locationInModule": {
|
|
5713
5713
|
"filename": "src/nextjs-distribution.ts",
|
|
5714
|
-
"line":
|
|
5714
|
+
"line": 73
|
|
5715
5715
|
},
|
|
5716
5716
|
"name": "certificate",
|
|
5717
5717
|
"optional": true,
|
|
@@ -5727,7 +5727,7 @@
|
|
|
5727
5727
|
"immutable": true,
|
|
5728
5728
|
"locationInModule": {
|
|
5729
5729
|
"filename": "src/nextjs-distribution.ts",
|
|
5730
|
-
"line":
|
|
5730
|
+
"line": 74
|
|
5731
5731
|
},
|
|
5732
5732
|
"name": "distribution",
|
|
5733
5733
|
"optional": true,
|
|
@@ -5744,7 +5744,7 @@
|
|
|
5744
5744
|
"immutable": true,
|
|
5745
5745
|
"locationInModule": {
|
|
5746
5746
|
"filename": "src/nextjs-distribution.ts",
|
|
5747
|
-
"line":
|
|
5747
|
+
"line": 82
|
|
5748
5748
|
},
|
|
5749
5749
|
"name": "functionArn",
|
|
5750
5750
|
"optional": true,
|
|
@@ -5761,7 +5761,7 @@
|
|
|
5761
5761
|
"immutable": true,
|
|
5762
5762
|
"locationInModule": {
|
|
5763
5763
|
"filename": "src/nextjs-distribution.ts",
|
|
5764
|
-
"line":
|
|
5764
|
+
"line": 87
|
|
5765
5765
|
},
|
|
5766
5766
|
"name": "overrides",
|
|
5767
5767
|
"optional": true,
|
|
@@ -13873,6 +13873,6 @@
|
|
|
13873
13873
|
"symbolId": "src/nextjs-build/nextjs-build:PublicDirEntry"
|
|
13874
13874
|
}
|
|
13875
13875
|
},
|
|
13876
|
-
"version": "0.0.
|
|
13877
|
-
"fingerprint": "
|
|
13876
|
+
"version": "0.0.15",
|
|
13877
|
+
"fingerprint": "8gacDhiWl4+PIwaUorStX4Dp7ZLLP7pWbl318t/7vYA="
|
|
13878
13878
|
}
|
|
@@ -1915,12 +1915,12 @@ ${(0, import_util_hex_encoding.toHex)(hashedRequest)}`;
|
|
|
1915
1915
|
}
|
|
1916
1916
|
});
|
|
1917
1917
|
|
|
1918
|
-
// src/lambdas/sign-fn-url/sign-fn-url.lambda.ts
|
|
1919
|
-
var
|
|
1920
|
-
__export(
|
|
1918
|
+
// src/lambdas/sign-fn-url/sign-fn-url.edge-lambda.ts
|
|
1919
|
+
var sign_fn_url_edge_lambda_exports = {};
|
|
1920
|
+
__export(sign_fn_url_edge_lambda_exports, {
|
|
1921
1921
|
handler: () => handler
|
|
1922
1922
|
});
|
|
1923
|
-
module.exports = __toCommonJS(
|
|
1923
|
+
module.exports = __toCommonJS(sign_fn_url_edge_lambda_exports);
|
|
1924
1924
|
|
|
1925
1925
|
// src/lambdas/sign-fn-url/sign-request.ts
|
|
1926
1926
|
var import_sha256_js = __toESM(require_main2());
|
|
@@ -2004,7 +2004,7 @@ function queryStringToQueryParamBag(querystring) {
|
|
|
2004
2004
|
return newParams;
|
|
2005
2005
|
}
|
|
2006
2006
|
|
|
2007
|
-
// src/lambdas/sign-fn-url/sign-fn-url.lambda.ts
|
|
2007
|
+
// src/lambdas/sign-fn-url/sign-fn-url.edge-lambda.ts
|
|
2008
2008
|
var debug = true;
|
|
2009
2009
|
var handler = async (event) => {
|
|
2010
2010
|
const request = event.Records[0]?.cf.request;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as cloudfront from 'aws-cdk-lib/aws-cloudfront';
|
|
2
2
|
import { Construct } from 'constructs';
|
|
3
3
|
/**
|
|
4
4
|
* Props for SignFnUrlFunction
|
|
5
5
|
*/
|
|
6
|
-
export interface SignFnUrlFunctionProps extends
|
|
6
|
+
export interface SignFnUrlFunctionProps extends cloudfront.experimental.EdgeFunctionProps {
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
9
|
* An AWS Lambda function which executes src/lambdas/sign-fn-url/sign-fn-url.
|
|
10
10
|
*/
|
|
11
|
-
export declare class SignFnUrlFunction extends
|
|
11
|
+
export declare class SignFnUrlFunction extends cloudfront.experimental.EdgeFunction {
|
|
12
12
|
constructor(scope: Construct, id: string, props?: SignFnUrlFunctionProps);
|
|
13
13
|
}
|
|
@@ -3,20 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SignFnUrlFunction = void 0;
|
|
4
4
|
// ~~ Generated by projen. To modify, edit .projenrc.ts and run "pnpm dlx projen".
|
|
5
5
|
const path = require("path");
|
|
6
|
+
const cloudfront = require("aws-cdk-lib/aws-cloudfront");
|
|
6
7
|
const lambda = require("aws-cdk-lib/aws-lambda");
|
|
7
8
|
/**
|
|
8
9
|
* An AWS Lambda function which executes src/lambdas/sign-fn-url/sign-fn-url.
|
|
9
10
|
*/
|
|
10
|
-
class SignFnUrlFunction extends
|
|
11
|
+
class SignFnUrlFunction extends cloudfront.experimental.EdgeFunction {
|
|
11
12
|
constructor(scope, id, props) {
|
|
12
13
|
super(scope, id, {
|
|
13
|
-
description: 'src/lambdas/sign-fn-url/sign-fn-url.lambda.ts',
|
|
14
|
+
description: 'src/lambdas/sign-fn-url/sign-fn-url.edge-lambda.ts',
|
|
14
15
|
...props,
|
|
15
16
|
runtime: new lambda.Runtime('nodejs22.x', lambda.RuntimeFamily.NODEJS),
|
|
16
17
|
handler: 'index.handler',
|
|
17
|
-
code: lambda.Code.fromAsset(path.join(__dirname, '../../../assets/lambdas/sign-fn-url/sign-fn-url.lambda')),
|
|
18
|
+
code: lambda.Code.fromAsset(path.join(__dirname, '../../../assets/lambdas/sign-fn-url/sign-fn-url.edge-lambda')),
|
|
18
19
|
});
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
exports.SignFnUrlFunction = SignFnUrlFunction;
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1mbi11cmwtZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGFtYmRhcy9zaWduLWZuLXVybC9zaWduLWZuLXVybC1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrRkFBa0Y7QUFDbEYsNkJBQTZCO0FBQzdCLHlEQUF5RDtBQUN6RCxpREFBaUQ7QUFTakQ7O0dBRUc7QUFDSCxNQUFhLGlCQUFrQixTQUFRLFVBQVUsQ0FBQyxZQUFZLENBQUMsWUFBWTtJQUN6RSxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThCO1FBQ3RFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsV0FBVyxFQUFFLG9EQUFvRDtZQUNqRSxHQUFHLEtBQUs7WUFDUixPQUFPLEVBQUUsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUN0RSxPQUFPLEVBQUUsZUFBZTtZQUN4QixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsNkRBQTZELENBQUMsQ0FBQztTQUNqSCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFWRCw4Q0FVQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcInBucG0gZGx4IHByb2plblwiLlxuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGNsb3VkZnJvbnQgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogUHJvcHMgZm9yIFNpZ25GblVybEZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbkZuVXJsRnVuY3Rpb25Qcm9wcyBleHRlbmRzIGNsb3VkZnJvbnQuZXhwZXJpbWVudGFsLkVkZ2VGdW5jdGlvblByb3BzIHtcbn1cblxuLyoqXG4gKiBBbiBBV1MgTGFtYmRhIGZ1bmN0aW9uIHdoaWNoIGV4ZWN1dGVzIHNyYy9sYW1iZGFzL3NpZ24tZm4tdXJsL3NpZ24tZm4tdXJsLlxuICovXG5leHBvcnQgY2xhc3MgU2lnbkZuVXJsRnVuY3Rpb24gZXh0ZW5kcyBjbG91ZGZyb250LmV4cGVyaW1lbnRhbC5FZGdlRnVuY3Rpb24ge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFNpZ25GblVybEZ1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnc3JjL2xhbWJkYXMvc2lnbi1mbi11cmwvc2lnbi1mbi11cmwuZWRnZS1sYW1iZGEudHMnLFxuICAgICAgLi4ucHJvcHMsXG4gICAgICBydW50aW1lOiBuZXcgbGFtYmRhLlJ1bnRpbWUoJ25vZGVqczIyLngnLCBsYW1iZGEuUnVudGltZUZhbWlseS5OT0RFSlMpLFxuICAgICAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi8uLi8uLi9hc3NldHMvbGFtYmRhcy9zaWduLWZuLXVybC9zaWduLWZuLXVybC5lZGdlLWxhbWJkYScpKSxcbiAgICB9KTtcbiAgfVxufSJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handler = void 0;
|
|
4
|
+
const sign_request_1 = require("./sign-request");
|
|
5
|
+
const debug = true;
|
|
6
|
+
/**
|
|
7
|
+
* This Lambda@Edge handler fixes s3 requests, fixes the host header, and
|
|
8
|
+
* signs requests as they're destined for Lambda Function URL that requires
|
|
9
|
+
* IAM Auth.
|
|
10
|
+
*
|
|
11
|
+
* This can be deleted/removed when CloudFront OAC Lambda supports POST requests.
|
|
12
|
+
*/
|
|
13
|
+
const handler = async (event) => {
|
|
14
|
+
const request = event.Records[0]?.cf.request;
|
|
15
|
+
if (!request)
|
|
16
|
+
throw new Error("request missing");
|
|
17
|
+
if (debug)
|
|
18
|
+
console.log("input request", JSON.stringify(request, null, 2));
|
|
19
|
+
escapeQuerystring(request);
|
|
20
|
+
await (0, sign_request_1.signRequest)(request);
|
|
21
|
+
if (debug)
|
|
22
|
+
console.log("output request", JSON.stringify(request), null, 2);
|
|
23
|
+
return request;
|
|
24
|
+
};
|
|
25
|
+
exports.handler = handler;
|
|
26
|
+
/**
|
|
27
|
+
* Lambda URL will reject query parameters with brackets so we need to encode
|
|
28
|
+
* https://github.dev/pwrdrvr/lambda-url-signing/blob/main/packages/edge-to-origin/src/translate-request.ts#L19-L31
|
|
29
|
+
*/
|
|
30
|
+
function escapeQuerystring(request) {
|
|
31
|
+
request.querystring = request.querystring
|
|
32
|
+
.replace(/\[/g, "%5B")
|
|
33
|
+
.replace(/]/g, "%5D");
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1mbi11cmwuZWRnZS1sYW1iZGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGFtYmRhcy9zaWduLWZuLXVybC9zaWduLWZuLXVybC5lZGdlLWxhbWJkYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxpREFBNkM7QUFFN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDO0FBRW5COzs7Ozs7R0FNRztBQUNJLE1BQU0sT0FBTyxHQUE2QixLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDL0QsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDO0lBQzdDLElBQUksQ0FBQyxPQUFPO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2pELElBQUksS0FBSztRQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTFFLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLE1BQU0sSUFBQSwwQkFBVyxFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTNCLElBQUksS0FBSztRQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0UsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBVlcsUUFBQSxPQUFPLFdBVWxCO0FBRUY7OztHQUdHO0FBQ0gsU0FBUyxpQkFBaUIsQ0FBQyxPQUEwQjtJQUNuRCxPQUFPLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXO1NBQ3RDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1NBQ3JCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2xvdWRGcm9udFJlcXVlc3QsIENsb3VkRnJvbnRSZXF1ZXN0SGFuZGxlciB9IGZyb20gXCJhd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBzaWduUmVxdWVzdCB9IGZyb20gXCIuL3NpZ24tcmVxdWVzdFwiO1xuXG5jb25zdCBkZWJ1ZyA9IHRydWU7XG5cbi8qKlxuICogVGhpcyBMYW1iZGFARWRnZSBoYW5kbGVyIGZpeGVzIHMzIHJlcXVlc3RzLCBmaXhlcyB0aGUgaG9zdCBoZWFkZXIsIGFuZFxuICogc2lnbnMgcmVxdWVzdHMgYXMgdGhleSdyZSBkZXN0aW5lZCBmb3IgTGFtYmRhIEZ1bmN0aW9uIFVSTCB0aGF0IHJlcXVpcmVzXG4gKiBJQU0gQXV0aC5cbiAqXG4gKiBUaGlzIGNhbiBiZSBkZWxldGVkL3JlbW92ZWQgd2hlbiBDbG91ZEZyb250IE9BQyBMYW1iZGEgc3VwcG9ydHMgUE9TVCByZXF1ZXN0cy5cbiAqL1xuZXhwb3J0IGNvbnN0IGhhbmRsZXI6IENsb3VkRnJvbnRSZXF1ZXN0SGFuZGxlciA9IGFzeW5jIChldmVudCkgPT4ge1xuICBjb25zdCByZXF1ZXN0ID0gZXZlbnQuUmVjb3Jkc1swXT8uY2YucmVxdWVzdDtcbiAgaWYgKCFyZXF1ZXN0KSB0aHJvdyBuZXcgRXJyb3IoXCJyZXF1ZXN0IG1pc3NpbmdcIik7XG4gIGlmIChkZWJ1ZykgY29uc29sZS5sb2coXCJpbnB1dCByZXF1ZXN0XCIsIEpTT04uc3RyaW5naWZ5KHJlcXVlc3QsIG51bGwsIDIpKTtcblxuICBlc2NhcGVRdWVyeXN0cmluZyhyZXF1ZXN0KTtcbiAgYXdhaXQgc2lnblJlcXVlc3QocmVxdWVzdCk7XG5cbiAgaWYgKGRlYnVnKSBjb25zb2xlLmxvZyhcIm91dHB1dCByZXF1ZXN0XCIsIEpTT04uc3RyaW5naWZ5KHJlcXVlc3QpLCBudWxsLCAyKTtcbiAgcmV0dXJuIHJlcXVlc3Q7XG59O1xuXG4vKipcbiAqIExhbWJkYSBVUkwgd2lsbCByZWplY3QgcXVlcnkgcGFyYW1ldGVycyB3aXRoIGJyYWNrZXRzIHNvIHdlIG5lZWQgdG8gZW5jb2RlXG4gKiBodHRwczovL2dpdGh1Yi5kZXYvcHdyZHJ2ci9sYW1iZGEtdXJsLXNpZ25pbmcvYmxvYi9tYWluL3BhY2thZ2VzL2VkZ2UtdG8tb3JpZ2luL3NyYy90cmFuc2xhdGUtcmVxdWVzdC50cyNMMTktTDMxXG4gKi9cbmZ1bmN0aW9uIGVzY2FwZVF1ZXJ5c3RyaW5nKHJlcXVlc3Q6IENsb3VkRnJvbnRSZXF1ZXN0KSB7XG4gIHJlcXVlc3QucXVlcnlzdHJpbmcgPSByZXF1ZXN0LnF1ZXJ5c3RyaW5nXG4gICAgLnJlcGxhY2UoL1xcWy9nLCBcIiU1QlwiKVxuICAgIC5yZXBsYWNlKC9dL2csIFwiJTVEXCIpO1xufVxuIl19
|
|
@@ -89,5 +89,5 @@ class NextjsAssetsDeployment extends constructs_1.Construct {
|
|
|
89
89
|
}
|
|
90
90
|
exports.NextjsAssetsDeployment = NextjsAssetsDeployment;
|
|
91
91
|
_a = JSII_RTTI_SYMBOL_1;
|
|
92
|
-
NextjsAssetsDeployment[_a] = { fqn: "cdk-nextjs.NextjsAssetsDeployment", version: "0.0.
|
|
92
|
+
NextjsAssetsDeployment[_a] = { fqn: "cdk-nextjs.NextjsAssetsDeployment", version: "0.0.15" };
|
|
93
93
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWFzc2V0cy1kZXBsb3ltZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25leHRqcy1hc3NldHMtZGVwbG95bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHNDQUFrQztBQUNsQyw2Q0FBdUQ7QUFHdkQsdURBS2dDO0FBRWhDLDJDQUF1QztBQUN2QyxxQ0FJa0I7QUFzR2xCOztHQUVHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxzQkFBUztJQVVuRCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFrQztRQUVsQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksWUFBWSxHQUE2QixTQUFTLENBQUM7UUFDdkQsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzNCLFlBQVksR0FBRyx5QkFBWSxDQUFDLE1BQU0sQ0FBQztRQUNyQyxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3BDLFlBQVksR0FBRyx5QkFBWSxDQUFDLE1BQU0sQ0FBQztRQUNyQyxDQUFDO1FBQ0QsTUFBTSxFQUFFLEdBQUcsSUFBSSxnQ0FBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQzdDLFlBQVk7WUFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlO1lBQ2hDLFVBQVUs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WSxFQUFFLGdDQUFnQztZQUM5QyxZQUFZLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVc7U0FDbkQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFoSEgsd0RBaUhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgam9pbiB9IGZyb20gXCJwYXRoL3Bvc2l4XCI7XG5pbXBvcnQgeyBDdXN0b21SZXNvdXJjZSwgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IElWcGMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgQWNjZXNzUG9pbnQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVmc1wiO1xuaW1wb3J0IHtcbiAgQXJjaGl0ZWN0dXJlLFxuICBEb2NrZXJJbWFnZUNvZGUsXG4gIERvY2tlckltYWdlRnVuY3Rpb24sXG4gIEZpbGVTeXN0ZW0sXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBCdWNrZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgREFUQV9DQUNIRV9ESVIsXG4gIEZVTExfUk9VVEVfQ0FDSEVfRElSLFxuICBJTUFHRV9DQUNIRV9ESVIsXG59IGZyb20gXCIuL2NvbW1vblwiO1xuaW1wb3J0IHsgT3B0aW9uYWxEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbERvY2tlckltYWdlRnVuY3Rpb25Qcm9wc1wiO1xuaW1wb3J0IHsgTmV4dGpzQnVpbGQgfSBmcm9tIFwiLi9uZXh0anMtYnVpbGQvbmV4dGpzLWJ1aWxkXCI7XG5pbXBvcnQgeyBOZXh0anNCYXNlUHJvcHMgfSBmcm9tIFwiLi9yb290LWNvbnN0cnVjdHMvbmV4dGpzLWJhc2UtcHJvcHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNBc3NldERlcGxveW1lbnRPdmVycmlkZXMge1xuICByZWFkb25seSBkb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHM/OiBPcHRpb25hbERvY2tlckltYWdlRnVuY3Rpb25Qcm9wcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNBc3NldHNEZXBsb3ltZW50UHJvcHMge1xuICByZWFkb25seSBhY2Nlc3NQb2ludDogQWNjZXNzUG9pbnQ7XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCdWlsZC5idWlsZEltYWdlRGlnZXN0fVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRJbWFnZURpZ2VzdDogc3RyaW5nO1xuICAvKipcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVidWc/OiBib29sZWFuO1xuICByZWFkb25seSBkb2NrZXJJbWFnZUNvZGU6IERvY2tlckltYWdlQ29kZTsgLy8gVE9ETzogcmVtb3ZlIGFuZCBidWlsZCBmcm9tIGNvbW1vbiBidWlsZGVyIGJhc2U/XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCdWlsZC5jb250YWluZXJNb3VudFBhdGhGb3JFZnN9XG4gICAqL1xuICByZWFkb25seSBjb250YWluZXJNb3VudFBhdGhGb3JFZnM6IE5leHRqc0J1aWxkW1wiY29udGFpbmVyTW91bnRQYXRoRm9yRWZzXCJdO1xuICByZWFkb25seSBvdmVycmlkZXM/OiBOZXh0anNBc3NldERlcGxveW1lbnRPdmVycmlkZXM7XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCYXNlUHJvcHMucmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2V9XG4gICAqL1xuICByZWFkb25seSByZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFJlcXVpcmVkIGZvciBgTmV4dGpzVHlwZS5HbG9iYWxGdW5jdGlvbnNgIGFuZCBgTmV4dGpzVHlwZS5HbG9iYWxDb250YWluZXJzYFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGljQXNzZXRzQnVja2V0PzogQnVja2V0O1xuICByZWFkb25seSB2cGM6IElWcGM7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnNUb1MzQWN0aW9uIHtcbiAgdHlwZTogXCJmcy10by1zM1wiO1xuICBkZXN0aW5hdGlvbkJ1Y2tldE5hbWU6IHN0cmluZztcbiAgZGVzdGluYXRpb25LZXlQcmVmaXg/OiBzdHJpbmc7XG4gIHNvdXJjZVBhdGg6IHN0cmluZztcbn1cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnNUb0ZzQWN0aW9uIHtcbiAgdHlwZTogXCJmcy10by1mc1wiO1xuICBzb3VyY2VQYXRoOiBzdHJpbmc7XG4gIGRlc3RpbmF0aW9uUGF0aDogc3RyaW5nO1xufVxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcnVuZVMzQWN0aW9uIHtcbiAgdHlwZTogXCJwcnVuZS1zM1wiO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gcHJldmlvdXMgZGVwbG95bWVudCBjb3VudCB0byBwcnVuZVxuICAgKiBAZGVmYXVsdCAzXG4gICAqL1xuICBtaW5QcmV2aW91c0RlcGxveUNvdW50VG9QcnVuZTogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gcHJldmlvdXMgZGVwbG95bWVudCBkYXRlIHRvIHBydW5lXG4gICAqIEBkZWZhdWx0IG5ldyBEYXRlKG5ldyBEYXRlKCkuc2V0TW9udGgobmV3IERhdGUoKS5nZXRNb250aCgpIC0gMSkpXG4gICAqL1xuICBtaW5QcmV2aW91c0RlcGxveURhdGVUb1BydW5lOiBzdHJpbmc7XG4gIGJ1Y2tldE5hbWU6IHN0cmluZztcbiAgYnVja2V0UHJlZml4Pzogc3RyaW5nO1xufVxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcnVuZUZzQWN0aW9uIHtcbiAgdHlwZTogXCJwcnVuZS1mc1wiO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gcHJldmlvdXMgZGVwbG95bWVudCBjb3VudCB0byBwcnVuZVxuICAgKiBAZGVmYXVsdCAzXG4gICAqL1xuICBtaW5QcmV2aW91c0RlcGxveUNvdW50VG9QcnVuZTogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gcHJldmlvdXMgZGVwbG95bWVudCBkYXRlIHRvIHBydW5lXG4gICAqIEBkZWZhdWx0IG5ldyBEYXRlKG5ldyBEYXRlKCkuc2V0TW9udGgobmV3IERhdGUoKS5nZXRNb250aCgpIC0gMSkpXG4gICAqL1xuICBtaW5QcmV2aW91c0RlcGxveURhdGVUb1BydW5lOiBzdHJpbmc7XG4gIGRpcmVjdG9yeTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbVJlc291cmNlUHJvcGVydGllcyB7XG4gIGFjdGlvbnM6IChGc1RvUzNBY3Rpb24gfCBGc1RvRnNBY3Rpb24gfCBQcnVuZVMzQWN0aW9uIHwgUHJ1bmVGc0FjdGlvbilbXTtcbiAgLyoqXG4gICAqIHtAbGluayBOZXh0anNBc3NldERlcGxveW1lbnRQcm9wcy5idWlsZGVySW1hZ2VEaWdlc3R9XG4gICAqL1xuICBidWlsZEltYWdlRGlnZXN0OiBzdHJpbmc7XG4gIGltYWdlQ2FjaGVQYXRoOiBzdHJpbmc7XG4gIHByZXJlbmRlck1hbmlmZXN0UGF0aDogc3RyaW5nO1xufVxuXG4vKipcbiAqIERlcGxveXMgc3RhdGljIGFzc2V0cyB0byBTMyBhbmQgY2FjaGUgYXNzZXRzIHRvIEVGUyBpbiBMYW1iZGEgQ3VzdG9tIFJlc291cmNlLlxuICovXG5leHBvcnQgY2xhc3MgTmV4dGpzQXNzZXRzRGVwbG95bWVudCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGN1c3RvbVJlc291cmNlOiBDdXN0b21SZXNvdXJjZTtcbiAgZG9ja2VySW1hZ2VGdW5jdGlvbjogRG9ja2VySW1hZ2VGdW5jdGlvbjtcbiAgLyoqXG4gICAqIE9ubHkgdXNlZCBmb3IgYE5leHRqc0dsb2JhbEZ1bmN0aW9uc2BcbiAgICovXG4gIHByZXZpZXdNb2RlSWQ6IHN0cmluZztcblxuICBwcml2YXRlIHByb3BzOiBOZXh0anNBc3NldHNEZXBsb3ltZW50UHJvcHM7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBOZXh0anNBc3NldHNEZXBsb3ltZW50UHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMuZG9ja2VySW1hZ2VGdW5jdGlvbiA9IHRoaXMuY3JlYXRlRnVuY3Rpb24oKTtcbiAgICB0aGlzLmN1c3RvbVJlc291cmNlID0gdGhpcy5jcmVhdGVDdXN0b21SZXNvdXJjZSgpO1xuICAgIHRoaXMucHJldmlld01vZGVJZCA9IHRoaXMuY3VzdG9tUmVzb3VyY2UuZ2V0QXR0U3RyaW5nKFwicHJldmlld01vZGVJZFwiKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRnVuY3Rpb24oKSB7XG4gICAgbGV0IGFyY2hpdGVjdHVyZTogQXJjaGl0ZWN0dXJlIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlmIChwcm9jZXNzLmFyY2ggPT09IFwieDY0XCIpIHtcbiAgICAgIGFyY2hpdGVjdHVyZSA9IEFyY2hpdGVjdHVyZS5YODZfNjQ7XG4gICAgfSBlbHNlIGlmIChwcm9jZXNzLmFyY2ggPT09IFwiYXJtNjRcIikge1xuICAgICAgYXJjaGl0ZWN0dXJlID0gQXJjaGl0ZWN0dXJlLkFSTV82NDtcbiAgICB9XG4gICAgY29uc3QgZm4gPSBuZXcgRG9ja2VySW1hZ2VGdW5jdGlvbih0aGlzLCBcIkZuXCIsIHtcbiAgICAgIGFyY2hpdGVjdHVyZSxcbiAgICAgIGNvZGU6IHRoaXMucHJvcHMuZG9ja2VySW1hZ2VDb2RlLFxuICAgICAgbWVtb3J5U2l6ZTogMjA0OCxcbiAgICAgIGZpbGVzeXN0ZW06IEZpbGVTeXN0ZW0uZnJvbUVmc0FjY2Vzc1BvaW50KFxuICAgICAgICB0aGlzLnByb3BzLmFjY2Vzc1BvaW50LFxuICAgICAgICB0aGlzLnByb3BzLmNvbnRhaW5lck1vdW50UGF0aEZvckVmcyxcbiAgICAgICksXG4gICAgICB2cGM6IHRoaXMucHJvcHMudnBjLFxuICAgICAgdGltZW91dDogRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5kb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHMsXG4gICAgfSk7XG4gICAgaWYgKHRoaXMucHJvcHMuZGVidWcgIT09IGZhbHNlKSB7XG4gICAgICBmbi5hZGRFbnZpcm9ubWVudChcIkRFQlVHXCIsIFwiMVwiKTtcbiAgICB9XG4gICAgaWYgKHRoaXMucHJvcHMuc3RhdGljQXNzZXRzQnVja2V0KSB7XG4gICAgICB0aGlzLnByb3BzLnN0YXRpY0Fzc2V0c0J1Y2tldC5ncmFudFJlYWRXcml0ZShmbik7XG4gICAgfVxuICAgIHJldHVybiBmbjtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ3VzdG9tUmVzb3VyY2UoKSB7XG4gICAgY29uc3Qgcm9vdCA9IFwiL2FwcFwiO1xuICAgIGNvbnN0IGFjdGlvbnM6IEN1c3RvbVJlc291cmNlUHJvcGVydGllc1tcImFjdGlvbnNcIl0gPSBbXTtcbiAgICBpZiAodGhpcy5wcm9wcy5zdGF0aWNBc3NldHNCdWNrZXQ/LmJ1Y2tldE5hbWUpIHtcbiAgICAgIGFjdGlvbnMucHVzaChcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwiZnMtdG8tczNcIixcbiAgICAgICAgICBzb3VyY2VQYXRoOiBqb2luKHJvb3QsIFwicHVibGljXCIpLFxuICAgICAgICAgIGRlc3RpbmF0aW9uQnVja2V0TmFtZTogdGhpcy5wcm9wcy5zdGF0aWNBc3NldHNCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgfSxcbiAgICAgICAgLy8gc3RhdGljIGZpbGVzXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcImZzLXRvLXMzXCIsXG4gICAgICAgICAgc291cmNlUGF0aDogam9pbihyb290LCBcIi5uZXh0XCIsIFwic3RhdGljXCIpLFxuICAgICAgICAgIGRlc3RpbmF0aW9uQnVja2V0TmFtZTogdGhpcy5wcm9wcy5zdGF0aWNBc3NldHNCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgICBkZXN0aW5hdGlvbktleVByZWZpeDogXCJfbmV4dC9zdGF0aWNcIixcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuICAgIGFjdGlvbnMucHVzaChcbiAgICAgIC8vIGRhdGEgY2FjaGUgLSBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9jYWNoaW5nI2RhdGEtY2FjaGVcbiAgICAgIHtcbiAgICAgICAgdHlwZTogXCJmcy10by1mc1wiLFxuICAgICAgICBzb3VyY2VQYXRoOiBqb2luKHJvb3QsIFwiLm5leHRcIiwgXCJjYWNoZVwiLCBcImZldGNoLWNhY2hlXCIpLFxuICAgICAgICBkZXN0aW5hdGlvblBhdGg6IGpvaW4oXG4gICAgICAgICAgdGhpcy5wcm9wcy5jb250YWluZXJNb3VudFBhdGhGb3JFZnMsXG4gICAgICAgICAgREFUQV9DQUNIRV9ESVIsXG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAgLy8gZnVsbCByb3V0ZSBjYWNoZSAtIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL2NhY2hpbmcjZnVsbC1yb3V0ZS1jYWNoZVxuICAgICAge1xuICAgICAgICB0eXBlOiBcImZzLXRvLWZzXCIsXG4gICAgICAgIHNvdXJjZVBhdGg6IGpvaW4oXG4gICAgICAgICAgcm9vdCxcbiAgICAgICAgICBcIi5uZXh0XCIsXG4gICAgICAgICAgXCJzdGFuZGFsb25lXCIsXG4gICAgICAgICAgdGhpcy5wcm9wcy5yZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZSB8fCBcIlwiLFxuICAgICAgICAgIFwiLm5leHRcIixcbiAgICAgICAgICBcInNlcnZlclwiLFxuICAgICAgICAgIFwiYXBwXCIsXG4gICAgICAgICksXG4gICAgICAgIGRlc3RpbmF0aW9uUGF0aDogam9pbihcbiAgICAgICAgICB0aGlzLnByb3BzLmNvbnRhaW5lck1vdW50UGF0aEZvckVmcyxcbiAgICAgICAgICBGVUxMX1JPVVRFX0NBQ0hFX0RJUixcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICAvLyBpbWFnZXMgYXJlIG9wdGltaXplZCBhdCBydW50aW1lIHNvIG5vdGhpbmcgdG8gZGVwbG95XG4gICAgKTtcbiAgICBjb25zdCBwcm9wZXJ0aWVzOiBDdXN0b21SZXNvdXJjZVByb3BlcnRpZXMgPSB7XG4gICAgICBhY3Rpb25zLFxuICAgICAgYnVpbGRJbWFnZURpZ2VzdDogdGhpcy5wcm9wcy5idWlsZEltYWdlRGlnZXN0LFxuICAgICAgaW1hZ2VDYWNoZVBhdGg6IGpvaW4oXG4gICAgICAgIHRoaXMucHJvcHMuY29udGFpbmVyTW91bnRQYXRoRm9yRWZzLFxuICAgICAgICBJTUFHRV9DQUNIRV9ESVIsXG4gICAgICApLFxuICAgICAgcHJlcmVuZGVyTWFuaWZlc3RQYXRoOiBqb2luKHJvb3QsIFwiLm5leHRcIiwgXCJwcmVyZW5kZXItbWFuaWZlc3QuanNvblwiKSxcbiAgICB9O1xuICAgIHJldHVybiBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgXCJDdXN0b21SZXNvdXJjZVwiLCB7XG4gICAgICBwcm9wZXJ0aWVzLFxuICAgICAgcmVzb3VyY2VUeXBlOiBcIkN1c3RvbTo6TmV4dGpzQXNzZXRzRGVwbG95bWVudFwiLFxuICAgICAgc2VydmljZVRva2VuOiB0aGlzLmRvY2tlckltYWdlRnVuY3Rpb24uZnVuY3Rpb25Bcm4sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|