cdk-nextjs 0.0.15 → 0.0.17
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 +29 -29
- package/assets/lambdas/sign-fn-url/{sign-fn-url.edge-lambda → sign-fn-url.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 +4 -5
- package/lib/lambdas/sign-fn-url/sign-fn-url.lambda.js +35 -0
- package/lib/nextjs-assets-deployment.js +1 -1
- package/lib/nextjs-build/cache-handler.cjs +400 -635
- 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 +2 -7
- 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 +7 -7
- package/lib/lambdas/sign-fn-url/sign-fn-url.edge-lambda.js +0 -35
- /package/lib/lambdas/sign-fn-url/{sign-fn-url.edge-lambda.d.ts → sign-fn-url.lambda.d.ts} +0 -0
package/.jsii
CHANGED
|
@@ -3886,7 +3886,7 @@
|
|
|
3886
3886
|
"stability": "stable"
|
|
3887
3887
|
},
|
|
3888
3888
|
"homepage": "https://github.com/cdklabs/cdk-nextjs.git",
|
|
3889
|
-
"jsiiVersion": "5.5.
|
|
3889
|
+
"jsiiVersion": "5.5.18 (build 78930f2)",
|
|
3890
3890
|
"keywords": [
|
|
3891
3891
|
"aws",
|
|
3892
3892
|
"aws-cdk",
|
|
@@ -5348,7 +5348,7 @@
|
|
|
5348
5348
|
},
|
|
5349
5349
|
"locationInModule": {
|
|
5350
5350
|
"filename": "src/nextjs-distribution.ts",
|
|
5351
|
-
"line":
|
|
5351
|
+
"line": 131
|
|
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": 94
|
|
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": 95
|
|
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": 47
|
|
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": 49
|
|
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": 53
|
|
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": 54
|
|
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": 56
|
|
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": 55
|
|
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": 48
|
|
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": 50
|
|
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": 51
|
|
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": 52
|
|
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": 59
|
|
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": 57
|
|
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": 58
|
|
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": 62
|
|
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": 67
|
|
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": 77
|
|
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": 82
|
|
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": 91
|
|
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": 68
|
|
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": 72
|
|
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": 73
|
|
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": 81
|
|
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": 86
|
|
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.17",
|
|
13877
|
+
"fingerprint": "19aGuXkA3tmsQ5c4fpboDut5SV1FxV9aXC3sdcjEjNg="
|
|
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.
|
|
1919
|
-
var
|
|
1920
|
-
__export(
|
|
1918
|
+
// src/lambdas/sign-fn-url/sign-fn-url.lambda.ts
|
|
1919
|
+
var sign_fn_url_lambda_exports = {};
|
|
1920
|
+
__export(sign_fn_url_lambda_exports, {
|
|
1921
1921
|
handler: () => handler
|
|
1922
1922
|
});
|
|
1923
|
-
module.exports = __toCommonJS(
|
|
1923
|
+
module.exports = __toCommonJS(sign_fn_url_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.
|
|
2007
|
+
// src/lambdas/sign-fn-url/sign-fn-url.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 lambda from 'aws-cdk-lib/aws-lambda';
|
|
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 lambda.FunctionOptions {
|
|
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 lambda.Function {
|
|
12
12
|
constructor(scope: Construct, id: string, props?: SignFnUrlFunctionProps);
|
|
13
13
|
}
|
|
@@ -3,21 +3,20 @@ 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");
|
|
7
6
|
const lambda = require("aws-cdk-lib/aws-lambda");
|
|
8
7
|
/**
|
|
9
8
|
* An AWS Lambda function which executes src/lambdas/sign-fn-url/sign-fn-url.
|
|
10
9
|
*/
|
|
11
|
-
class SignFnUrlFunction extends
|
|
10
|
+
class SignFnUrlFunction extends lambda.Function {
|
|
12
11
|
constructor(scope, id, props) {
|
|
13
12
|
super(scope, id, {
|
|
14
|
-
description: 'src/lambdas/sign-fn-url/sign-fn-url.
|
|
13
|
+
description: 'src/lambdas/sign-fn-url/sign-fn-url.lambda.ts',
|
|
15
14
|
...props,
|
|
16
15
|
runtime: new lambda.Runtime('nodejs22.x', lambda.RuntimeFamily.NODEJS),
|
|
17
16
|
handler: 'index.handler',
|
|
18
|
-
code: lambda.Code.fromAsset(path.join(__dirname, '../../../assets/lambdas/sign-fn-url/sign-fn-url.
|
|
17
|
+
code: lambda.Code.fromAsset(path.join(__dirname, '../../../assets/lambdas/sign-fn-url/sign-fn-url.lambda')),
|
|
19
18
|
});
|
|
20
19
|
}
|
|
21
20
|
}
|
|
22
21
|
exports.SignFnUrlFunction = SignFnUrlFunction;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1mbi11cmwtZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGFtYmRhcy9zaWduLWZuLXVybC9zaWduLWZuLXVybC1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrRkFBa0Y7QUFDbEYsNkJBQTZCO0FBQzdCLGlEQUFpRDtBQVNqRDs7R0FFRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsTUFBTSxDQUFDLFFBQVE7SUFDcEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE4QjtRQUN0RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSwrQ0FBK0M7WUFDNUQsR0FBRyxLQUFLO1lBQ1IsT0FBTyxFQUFFLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDdEUsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHdEQUF3RCxDQUFDLENBQUM7U0FDNUcsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBVkQsOENBVUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJwbnBtIGRseCBwcm9qZW5cIi5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBQcm9wcyBmb3IgU2lnbkZuVXJsRnVuY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaWduRm5VcmxGdW5jdGlvblByb3BzIGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uT3B0aW9ucyB7XG59XG5cbi8qKlxuICogQW4gQVdTIExhbWJkYSBmdW5jdGlvbiB3aGljaCBleGVjdXRlcyBzcmMvbGFtYmRhcy9zaWduLWZuLXVybC9zaWduLWZuLXVybC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNpZ25GblVybEZ1bmN0aW9uIGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBTaWduRm5VcmxGdW5jdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ3NyYy9sYW1iZGFzL3NpZ24tZm4tdXJsL3NpZ24tZm4tdXJsLmxhbWJkYS50cycsXG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHJ1bnRpbWU6IG5ldyBsYW1iZGEuUnVudGltZSgnbm9kZWpzMjIueCcsIGxhbWJkYS5SdW50aW1lRmFtaWx5Lk5PREVKUyksXG4gICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uLy4uLy4uL2Fzc2V0cy9sYW1iZGFzL3NpZ24tZm4tdXJsL3NpZ24tZm4tdXJsLmxhbWJkYScpKSxcbiAgICB9KTtcbiAgfVxufSJdfQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1mbi11cmwubGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xhbWJkYXMvc2lnbi1mbi11cmwvc2lnbi1mbi11cmwubGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGlEQUE2QztBQUU3QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUM7QUFFbkI7Ozs7OztHQU1HO0FBQ0ksTUFBTSxPQUFPLEdBQTZCLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUMvRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDN0MsSUFBSSxDQUFDLE9BQU87UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDakQsSUFBSSxLQUFLO1FBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFMUUsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0IsTUFBTSxJQUFBLDBCQUFXLEVBQUMsT0FBTyxDQUFDLENBQUM7SUFFM0IsSUFBSSxLQUFLO1FBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzRSxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUM7QUFWVyxRQUFBLE9BQU8sV0FVbEI7QUFFRjs7O0dBR0c7QUFDSCxTQUFTLGlCQUFpQixDQUFDLE9BQTBCO0lBQ25ELE9BQU8sQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVc7U0FDdEMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7U0FDckIsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDbG91ZEZyb250UmVxdWVzdCwgQ2xvdWRGcm9udFJlcXVlc3RIYW5kbGVyIH0gZnJvbSBcImF3cy1sYW1iZGFcIjtcbmltcG9ydCB7IHNpZ25SZXF1ZXN0IH0gZnJvbSBcIi4vc2lnbi1yZXF1ZXN0XCI7XG5cbmNvbnN0IGRlYnVnID0gdHJ1ZTtcblxuLyoqXG4gKiBUaGlzIExhbWJkYUBFZGdlIGhhbmRsZXIgZml4ZXMgczMgcmVxdWVzdHMsIGZpeGVzIHRoZSBob3N0IGhlYWRlciwgYW5kXG4gKiBzaWducyByZXF1ZXN0cyBhcyB0aGV5J3JlIGRlc3RpbmVkIGZvciBMYW1iZGEgRnVuY3Rpb24gVVJMIHRoYXQgcmVxdWlyZXNcbiAqIElBTSBBdXRoLlxuICpcbiAqIFRoaXMgY2FuIGJlIGRlbGV0ZWQvcmVtb3ZlZCB3aGVuIENsb3VkRnJvbnQgT0FDIExhbWJkYSBzdXBwb3J0cyBQT1NUIHJlcXVlc3RzLlxuICovXG5leHBvcnQgY29uc3QgaGFuZGxlcjogQ2xvdWRGcm9udFJlcXVlc3RIYW5kbGVyID0gYXN5bmMgKGV2ZW50KSA9PiB7XG4gIGNvbnN0IHJlcXVlc3QgPSBldmVudC5SZWNvcmRzWzBdPy5jZi5yZXF1ZXN0O1xuICBpZiAoIXJlcXVlc3QpIHRocm93IG5ldyBFcnJvcihcInJlcXVlc3QgbWlzc2luZ1wiKTtcbiAgaWYgKGRlYnVnKSBjb25zb2xlLmxvZyhcImlucHV0IHJlcXVlc3RcIiwgSlNPTi5zdHJpbmdpZnkocmVxdWVzdCwgbnVsbCwgMikpO1xuXG4gIGVzY2FwZVF1ZXJ5c3RyaW5nKHJlcXVlc3QpO1xuICBhd2FpdCBzaWduUmVxdWVzdChyZXF1ZXN0KTtcblxuICBpZiAoZGVidWcpIGNvbnNvbGUubG9nKFwib3V0cHV0IHJlcXVlc3RcIiwgSlNPTi5zdHJpbmdpZnkocmVxdWVzdCksIG51bGwsIDIpO1xuICByZXR1cm4gcmVxdWVzdDtcbn07XG5cbi8qKlxuICogTGFtYmRhIFVSTCB3aWxsIHJlamVjdCBxdWVyeSBwYXJhbWV0ZXJzIHdpdGggYnJhY2tldHMgc28gd2UgbmVlZCB0byBlbmNvZGVcbiAqIGh0dHBzOi8vZ2l0aHViLmRldi9wd3JkcnZyL2xhbWJkYS11cmwtc2lnbmluZy9ibG9iL21haW4vcGFja2FnZXMvZWRnZS10by1vcmlnaW4vc3JjL3RyYW5zbGF0ZS1yZXF1ZXN0LnRzI0wxOS1MMzFcbiAqL1xuZnVuY3Rpb24gZXNjYXBlUXVlcnlzdHJpbmcocmVxdWVzdDogQ2xvdWRGcm9udFJlcXVlc3QpIHtcbiAgcmVxdWVzdC5xdWVyeXN0cmluZyA9IHJlcXVlc3QucXVlcnlzdHJpbmdcbiAgICAucmVwbGFjZSgvXFxbL2csIFwiJTVCXCIpXG4gICAgLnJlcGxhY2UoL10vZywgXCIlNURcIik7XG59XG4iXX0=
|
|
@@ -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.17" };
|
|
93
93
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWFzc2V0cy1kZXBsb3ltZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25leHRqcy1hc3NldHMtZGVwbG95bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHNDQUFrQztBQUNsQyw2Q0FBdUQ7QUFHdkQsdURBS2dDO0FBRWhDLDJDQUF1QztBQUN2QyxxQ0FJa0I7QUFzR2xCOztHQUVHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxzQkFBUztJQVVuRCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFrQztRQUVsQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksWUFBWSxHQUE2QixTQUFTLENBQUM7UUFDdkQsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzNCLFlBQVksR0FBRyx5QkFBWSxDQUFDLE1BQU0sQ0FBQztRQUNyQyxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3BDLFlBQVksR0FBRyx5QkFBWSxDQUFDLE1BQU0sQ0FBQztRQUNyQyxDQUFDO1FBQ0QsTUFBTSxFQUFFLEdBQUcsSUFBSSxnQ0FBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQzdDLFlBQVk7WUFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlO1lBQ2hDLFVBQVUs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WSxFQUFFLGdDQUFnQztZQUM5QyxZQUFZLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVc7U0FDbkQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFoSEgsd0RBaUhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgam9pbiB9IGZyb20gXCJwYXRoL3Bvc2l4XCI7XG5pbXBvcnQgeyBDdXN0b21SZXNvdXJjZSwgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IElWcGMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgQWNjZXNzUG9pbnQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVmc1wiO1xuaW1wb3J0IHtcbiAgQXJjaGl0ZWN0dXJlLFxuICBEb2NrZXJJbWFnZUNvZGUsXG4gIERvY2tlckltYWdlRnVuY3Rpb24sXG4gIEZpbGVTeXN0ZW0sXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBCdWNrZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgREFUQV9DQUNIRV9ESVIsXG4gIEZVTExfUk9VVEVfQ0FDSEVfRElSLFxuICBJTUFHRV9DQUNIRV9ESVIsXG59IGZyb20gXCIuL2NvbW1vblwiO1xuaW1wb3J0IHsgT3B0aW9uYWxEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbERvY2tlckltYWdlRnVuY3Rpb25Qcm9wc1wiO1xuaW1wb3J0IHsgTmV4dGpzQnVpbGQgfSBmcm9tIFwiLi9uZXh0anMtYnVpbGQvbmV4dGpzLWJ1aWxkXCI7XG5pbXBvcnQgeyBOZXh0anNCYXNlUHJvcHMgfSBmcm9tIFwiLi9yb290LWNvbnN0cnVjdHMvbmV4dGpzLWJhc2UtcHJvcHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNBc3NldERlcGxveW1lbnRPdmVycmlkZXMge1xuICByZWFkb25seSBkb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHM/OiBPcHRpb25hbERvY2tlckltYWdlRnVuY3Rpb25Qcm9wcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNBc3NldHNEZXBsb3ltZW50UHJvcHMge1xuICByZWFkb25seSBhY2Nlc3NQb2ludDogQWNjZXNzUG9pbnQ7XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCdWlsZC5idWlsZEltYWdlRGlnZXN0fVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRJbWFnZURpZ2VzdDogc3RyaW5nO1xuICAvKipcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVidWc/OiBib29sZWFuO1xuICByZWFkb25seSBkb2NrZXJJbWFnZUNvZGU6IERvY2tlckltYWdlQ29kZTsgLy8gVE9ETzogcmVtb3ZlIGFuZCBidWlsZCBmcm9tIGNvbW1vbiBidWlsZGVyIGJhc2U/XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCdWlsZC5jb250YWluZXJNb3VudFBhdGhGb3JFZnN9XG4gICAqL1xuICByZWFkb25seSBjb250YWluZXJNb3VudFBhdGhGb3JFZnM6IE5leHRqc0J1aWxkW1wiY29udGFpbmVyTW91bnRQYXRoRm9yRWZzXCJdO1xuICByZWFkb25seSBvdmVycmlkZXM/OiBOZXh0anNBc3NldERlcGxveW1lbnRPdmVycmlkZXM7XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCYXNlUHJvcHMucmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2V9XG4gICAqL1xuICByZWFkb25seSByZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFJlcXVpcmVkIGZvciBgTmV4dGpzVHlwZS5HbG9iYWxGdW5jdGlvbnNgIGFuZCBgTmV4dGpzVHlwZS5HbG9iYWxDb250YWluZXJzYFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGljQXNzZXRzQnVja2V0PzogQnVja2V0O1xuICByZWFkb25seSB2cGM6IElWcGM7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnNUb1MzQWN0aW9uIHtcbiAgdHlwZTogXCJmcy10by1zM1wiO1xuICBkZXN0aW5hdGlvbkJ1Y2tldE5hbWU6IHN0cmluZztcbiAgZGVzdGluYXRpb25LZXlQcmVmaXg/OiBzdHJpbmc7XG4gIHNvdXJjZVBhdGg6IHN0cmluZztcbn1cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnNUb0ZzQWN0aW9uIHtcbiAgdHlwZTogXCJmcy10by1mc1wiO1xuICBzb3VyY2VQYXRoOiBzdHJpbmc7XG4gIGRlc3RpbmF0aW9uUGF0aDogc3RyaW5nO1xufVxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcnVuZVMzQWN0aW9uIHtcbiAgdHlwZTogXCJwcnVuZS1zM1wiO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gcHJldmlvdXMgZGVwbG95bWVudCBjb3VudCB0byBwcnVuZVxuICAgKiBAZGVmYXVsdCAzXG4gICAqL1xuICBtaW5QcmV2aW91c0RlcGxveUNvdW50VG9QcnVuZTogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gcHJldmlvdXMgZGVwbG95bWVudCBkYXRlIHRvIHBydW5lXG4gICAqIEBkZWZhdWx0IG5ldyBEYXRlKG5ldyBEYXRlKCkuc2V0TW9udGgobmV3IERhdGUoKS5nZXRNb250aCgpIC0gMSkpXG4gICAqL1xuICBtaW5QcmV2aW91c0RlcGxveURhdGVUb1BydW5lOiBzdHJpbmc7XG4gIGJ1Y2tldE5hbWU6IHN0cmluZztcbiAgYnVja2V0UHJlZml4Pzogc3RyaW5nO1xufVxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcnVuZUZzQWN0aW9uIHtcbiAgdHlwZTogXCJwcnVuZS1mc1wiO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gcHJldmlvdXMgZGVwbG95bWVudCBjb3VudCB0byBwcnVuZVxuICAgKiBAZGVmYXVsdCAzXG4gICAqL1xuICBtaW5QcmV2aW91c0RlcGxveUNvdW50VG9QcnVuZTogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gcHJldmlvdXMgZGVwbG95bWVudCBkYXRlIHRvIHBydW5lXG4gICAqIEBkZWZhdWx0IG5ldyBEYXRlKG5ldyBEYXRlKCkuc2V0TW9udGgobmV3IERhdGUoKS5nZXRNb250aCgpIC0gMSkpXG4gICAqL1xuICBtaW5QcmV2aW91c0RlcGxveURhdGVUb1BydW5lOiBzdHJpbmc7XG4gIGRpcmVjdG9yeTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbVJlc291cmNlUHJvcGVydGllcyB7XG4gIGFjdGlvbnM6IChGc1RvUzNBY3Rpb24gfCBGc1RvRnNBY3Rpb24gfCBQcnVuZVMzQWN0aW9uIHwgUHJ1bmVGc0FjdGlvbilbXTtcbiAgLyoqXG4gICAqIHtAbGluayBOZXh0anNBc3NldERlcGxveW1lbnRQcm9wcy5idWlsZGVySW1hZ2VEaWdlc3R9XG4gICAqL1xuICBidWlsZEltYWdlRGlnZXN0OiBzdHJpbmc7XG4gIGltYWdlQ2FjaGVQYXRoOiBzdHJpbmc7XG4gIHByZXJlbmRlck1hbmlmZXN0UGF0aDogc3RyaW5nO1xufVxuXG4vKipcbiAqIERlcGxveXMgc3RhdGljIGFzc2V0cyB0byBTMyBhbmQgY2FjaGUgYXNzZXRzIHRvIEVGUyBpbiBMYW1iZGEgQ3VzdG9tIFJlc291cmNlLlxuICovXG5leHBvcnQgY2xhc3MgTmV4dGpzQXNzZXRzRGVwbG95bWVudCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGN1c3RvbVJlc291cmNlOiBDdXN0b21SZXNvdXJjZTtcbiAgZG9ja2VySW1hZ2VGdW5jdGlvbjogRG9ja2VySW1hZ2VGdW5jdGlvbjtcbiAgLyoqXG4gICAqIE9ubHkgdXNlZCBmb3IgYE5leHRqc0dsb2JhbEZ1bmN0aW9uc2BcbiAgICovXG4gIHByZXZpZXdNb2RlSWQ6IHN0cmluZztcblxuICBwcml2YXRlIHByb3BzOiBOZXh0anNBc3NldHNEZXBsb3ltZW50UHJvcHM7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBOZXh0anNBc3NldHNEZXBsb3ltZW50UHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMuZG9ja2VySW1hZ2VGdW5jdGlvbiA9IHRoaXMuY3JlYXRlRnVuY3Rpb24oKTtcbiAgICB0aGlzLmN1c3RvbVJlc291cmNlID0gdGhpcy5jcmVhdGVDdXN0b21SZXNvdXJjZSgpO1xuICAgIHRoaXMucHJldmlld01vZGVJZCA9IHRoaXMuY3VzdG9tUmVzb3VyY2UuZ2V0QXR0U3RyaW5nKFwicHJldmlld01vZGVJZFwiKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRnVuY3Rpb24oKSB7XG4gICAgbGV0IGFyY2hpdGVjdHVyZTogQXJjaGl0ZWN0dXJlIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlmIChwcm9jZXNzLmFyY2ggPT09IFwieDY0XCIpIHtcbiAgICAgIGFyY2hpdGVjdHVyZSA9IEFyY2hpdGVjdHVyZS5YODZfNjQ7XG4gICAgfSBlbHNlIGlmIChwcm9jZXNzLmFyY2ggPT09IFwiYXJtNjRcIikge1xuICAgICAgYXJjaGl0ZWN0dXJlID0gQXJjaGl0ZWN0dXJlLkFSTV82NDtcbiAgICB9XG4gICAgY29uc3QgZm4gPSBuZXcgRG9ja2VySW1hZ2VGdW5jdGlvbih0aGlzLCBcIkZuXCIsIHtcbiAgICAgIGFyY2hpdGVjdHVyZSxcbiAgICAgIGNvZGU6IHRoaXMucHJvcHMuZG9ja2VySW1hZ2VDb2RlLFxuICAgICAgbWVtb3J5U2l6ZTogMjA0OCxcbiAgICAgIGZpbGVzeXN0ZW06IEZpbGVTeXN0ZW0uZnJvbUVmc0FjY2Vzc1BvaW50KFxuICAgICAgICB0aGlzLnByb3BzLmFjY2Vzc1BvaW50LFxuICAgICAgICB0aGlzLnByb3BzLmNvbnRhaW5lck1vdW50UGF0aEZvckVmcyxcbiAgICAgICksXG4gICAgICB2cGM6IHRoaXMucHJvcHMudnBjLFxuICAgICAgdGltZW91dDogRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5kb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHMsXG4gICAgfSk7XG4gICAgaWYgKHRoaXMucHJvcHMuZGVidWcgIT09IGZhbHNlKSB7XG4gICAgICBmbi5hZGRFbnZpcm9ubWVudChcIkRFQlVHXCIsIFwiMVwiKTtcbiAgICB9XG4gICAgaWYgKHRoaXMucHJvcHMuc3RhdGljQXNzZXRzQnVja2V0KSB7XG4gICAgICB0aGlzLnByb3BzLnN0YXRpY0Fzc2V0c0J1Y2tldC5ncmFudFJlYWRXcml0ZShmbik7XG4gICAgfVxuICAgIHJldHVybiBmbjtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ3VzdG9tUmVzb3VyY2UoKSB7XG4gICAgY29uc3Qgcm9vdCA9IFwiL2FwcFwiO1xuICAgIGNvbnN0IGFjdGlvbnM6IEN1c3RvbVJlc291cmNlUHJvcGVydGllc1tcImFjdGlvbnNcIl0gPSBbXTtcbiAgICBpZiAodGhpcy5wcm9wcy5zdGF0aWNBc3NldHNCdWNrZXQ/LmJ1Y2tldE5hbWUpIHtcbiAgICAgIGFjdGlvbnMucHVzaChcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwiZnMtdG8tczNcIixcbiAgICAgICAgICBzb3VyY2VQYXRoOiBqb2luKHJvb3QsIFwicHVibGljXCIpLFxuICAgICAgICAgIGRlc3RpbmF0aW9uQnVja2V0TmFtZTogdGhpcy5wcm9wcy5zdGF0aWNBc3NldHNCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgfSxcbiAgICAgICAgLy8gc3RhdGljIGZpbGVzXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcImZzLXRvLXMzXCIsXG4gICAgICAgICAgc291cmNlUGF0aDogam9pbihyb290LCBcIi5uZXh0XCIsIFwic3RhdGljXCIpLFxuICAgICAgICAgIGRlc3RpbmF0aW9uQnVja2V0TmFtZTogdGhpcy5wcm9wcy5zdGF0aWNBc3NldHNCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgICBkZXN0aW5hdGlvbktleVByZWZpeDogXCJfbmV4dC9zdGF0aWNcIixcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuICAgIGFjdGlvbnMucHVzaChcbiAgICAgIC8vIGRhdGEgY2FjaGUgLSBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9jYWNoaW5nI2RhdGEtY2FjaGVcbiAgICAgIHtcbiAgICAgICAgdHlwZTogXCJmcy10by1mc1wiLFxuICAgICAgICBzb3VyY2VQYXRoOiBqb2luKHJvb3QsIFwiLm5leHRcIiwgXCJjYWNoZVwiLCBcImZldGNoLWNhY2hlXCIpLFxuICAgICAgICBkZXN0aW5hdGlvblBhdGg6IGpvaW4oXG4gICAgICAgICAgdGhpcy5wcm9wcy5jb250YWluZXJNb3VudFBhdGhGb3JFZnMsXG4gICAgICAgICAgREFUQV9DQUNIRV9ESVIsXG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAgLy8gZnVsbCByb3V0ZSBjYWNoZSAtIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL2NhY2hpbmcjZnVsbC1yb3V0ZS1jYWNoZVxuICAgICAge1xuICAgICAgICB0eXBlOiBcImZzLXRvLWZzXCIsXG4gICAgICAgIHNvdXJjZVBhdGg6IGpvaW4oXG4gICAgICAgICAgcm9vdCxcbiAgICAgICAgICBcIi5uZXh0XCIsXG4gICAgICAgICAgXCJzdGFuZGFsb25lXCIsXG4gICAgICAgICAgdGhpcy5wcm9wcy5yZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZSB8fCBcIlwiLFxuICAgICAgICAgIFwiLm5leHRcIixcbiAgICAgICAgICBcInNlcnZlclwiLFxuICAgICAgICAgIFwiYXBwXCIsXG4gICAgICAgICksXG4gICAgICAgIGRlc3RpbmF0aW9uUGF0aDogam9pbihcbiAgICAgICAgICB0aGlzLnByb3BzLmNvbnRhaW5lck1vdW50UGF0aEZvckVmcyxcbiAgICAgICAgICBGVUxMX1JPVVRFX0NBQ0hFX0RJUixcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICAvLyBpbWFnZXMgYXJlIG9wdGltaXplZCBhdCBydW50aW1lIHNvIG5vdGhpbmcgdG8gZGVwbG95XG4gICAgKTtcbiAgICBjb25zdCBwcm9wZXJ0aWVzOiBDdXN0b21SZXNvdXJjZVByb3BlcnRpZXMgPSB7XG4gICAgICBhY3Rpb25zLFxuICAgICAgYnVpbGRJbWFnZURpZ2VzdDogdGhpcy5wcm9wcy5idWlsZEltYWdlRGlnZXN0LFxuICAgICAgaW1hZ2VDYWNoZVBhdGg6IGpvaW4oXG4gICAgICAgIHRoaXMucHJvcHMuY29udGFpbmVyTW91bnRQYXRoRm9yRWZzLFxuICAgICAgICBJTUFHRV9DQUNIRV9ESVIsXG4gICAgICApLFxuICAgICAgcHJlcmVuZGVyTWFuaWZlc3RQYXRoOiBqb2luKHJvb3QsIFwiLm5leHRcIiwgXCJwcmVyZW5kZXItbWFuaWZlc3QuanNvblwiKSxcbiAgICB9O1xuICAgIHJldHVybiBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgXCJDdXN0b21SZXNvdXJjZVwiLCB7XG4gICAgICBwcm9wZXJ0aWVzLFxuICAgICAgcmVzb3VyY2VUeXBlOiBcIkN1c3RvbTo6TmV4dGpzQXNzZXRzRGVwbG95bWVudFwiLFxuICAgICAgc2VydmljZVRva2VuOiB0aGlzLmRvY2tlckltYWdlRnVuY3Rpb24uZnVuY3Rpb25Bcm4sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|