@kensio/yulin 1.4.1 → 1.5.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/dist/serve/http/url/sim-aws-request-hostname.d.ts +13 -0
- package/dist/serve/http/url/sim-aws-request-hostname.d.ts.map +1 -0
- package/dist/serve/http/url/sim-aws-request-hostname.js +19 -0
- package/dist/serve/http/url/sim-aws-request-hostname.js.map +1 -0
- package/dist/service/aws/sim-aws-properties.d.ts +6 -1
- package/dist/service/aws/sim-aws-properties.d.ts.map +1 -1
- package/dist/service/aws/sim-aws.js.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +9 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +12 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js.map +1 -1
- package/dist/service/cloudfront/cff/adapter/sim-cff-request-response-adapter.d.ts +19 -0
- package/dist/service/cloudfront/cff/adapter/sim-cff-request-response-adapter.d.ts.map +1 -1
- package/dist/service/cloudfront/cff/adapter/sim-cff-request-response-adapter.js +35 -2
- package/dist/service/cloudfront/cff/adapter/sim-cff-request-response-adapter.js.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +16 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.js +1 -0
- package/dist/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.js.map +1 -1
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts +3 -0
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js +11 -3
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js.map +1 -1
- package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.d.ts +29 -0
- package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.d.ts.map +1 -0
- package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.js +58 -0
- package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.js.map +1 -0
- package/dist/service/cloudfront/controller/root-object/sim-cf-default-root-object-request.d.ts +17 -0
- package/dist/service/cloudfront/controller/root-object/sim-cf-default-root-object-request.d.ts.map +1 -0
- package/dist/service/cloudfront/controller/root-object/sim-cf-default-root-object-request.js +35 -0
- package/dist/service/cloudfront/controller/root-object/sim-cf-default-root-object-request.js.map +1 -0
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts +5 -2
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js +13 -3
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js.map +1 -1
- package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.d.ts +24 -0
- package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.d.ts.map +1 -0
- package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.js +14 -0
- package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.js.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.d.ts +19 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.d.ts.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.js +53 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.js.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.d.ts +11 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.d.ts.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.js +26 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.js.map +1 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +14 -0
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts.map +1 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +20 -0
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js.map +1 -1
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +31 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts.map +1 -1
- package/dist/service/cloudfront/error/sim-cloudfront.error.js +39 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.js.map +1 -1
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.d.ts.map +1 -1
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js +2 -7
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js.map +1 -1
- package/dist/service/dynamodb/document/sim-dynamodb-document-command-paths.d.ts +12 -3
- package/dist/service/dynamodb/document/sim-dynamodb-document-command-paths.d.ts.map +1 -1
- package/dist/service/dynamodb/document/sim-dynamodb-document-command-paths.js +28 -3
- package/dist/service/dynamodb/document/sim-dynamodb-document-command-paths.js.map +1 -1
- package/dist/service/dynamodb/document/sim-dynamodb-document-command.d.ts +2 -8
- package/dist/service/dynamodb/document/sim-dynamodb-document-command.d.ts.map +1 -1
- package/dist/service/dynamodb/document/sim-dynamodb-document-command.js +3 -20
- package/dist/service/dynamodb/document/sim-dynamodb-document-command.js.map +1 -1
- package/dist/service/dynamodb/document/sim-dynamodb-document-routes.d.ts +22 -6
- package/dist/service/dynamodb/document/sim-dynamodb-document-routes.d.ts.map +1 -1
- package/dist/service/dynamodb/document/sim-dynamodb-document-routes.js +43 -22
- package/dist/service/dynamodb/document/sim-dynamodb-document-routes.js.map +1 -1
- package/dist/service/dynamodb/document/sim-dynamodb-document-shared-name-route.d.ts +26 -0
- package/dist/service/dynamodb/document/sim-dynamodb-document-shared-name-route.d.ts.map +1 -0
- package/dist/service/dynamodb/document/sim-dynamodb-document-shared-name-route.js +31 -0
- package/dist/service/dynamodb/document/sim-dynamodb-document-shared-name-route.js.map +1 -0
- package/dist/service/dynamodb/sdk/sim-dynamodb-sdk-command-router.d.ts.map +1 -1
- package/dist/service/dynamodb/sdk/sim-dynamodb-sdk-command-router.js +13 -14
- package/dist/service/dynamodb/sdk/sim-dynamodb-sdk-command-router.js.map +1 -1
- package/dist/service/route53/command/create-hosted-zone/sim-route53-zone-id.d.ts +9 -2
- package/dist/service/route53/command/create-hosted-zone/sim-route53-zone-id.d.ts.map +1 -1
- package/dist/service/route53/command/create-hosted-zone/sim-route53-zone-id.js +25 -6
- package/dist/service/route53/command/create-hosted-zone/sim-route53-zone-id.js.map +1 -1
- package/dist/service/route53/error/sim-route53.error.d.ts +7 -0
- package/dist/service/route53/error/sim-route53.error.d.ts.map +1 -1
- package/dist/service/route53/error/sim-route53.error.js +9 -0
- package/dist/service/route53/error/sim-route53.error.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the AWS-facing hostname an incoming request was made to.
|
|
3
|
+
*
|
|
4
|
+
* A request served on localhost carries the Yulin-local host, such as
|
|
5
|
+
* `distro123.cloudfront.net.sim-aws.localhost:52341`, so the local suffix and
|
|
6
|
+
* the local server port are dropped to leave the hostname the same request
|
|
7
|
+
* would have used against real AWS.
|
|
8
|
+
*
|
|
9
|
+
* The Host header is preferred over the URL hostname, since that is what a
|
|
10
|
+
* client sends and what AWS itself routes on.
|
|
11
|
+
*/
|
|
12
|
+
export declare function simAwsRequestHostname(request: Request): string;
|
|
13
|
+
//# sourceMappingURL=sim-aws-request-hostname.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-aws-request-hostname.d.ts","sourceRoot":"","sources":["../../../../src/serve/http/url/sim-aws-request-hostname.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAM9D"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SimAwsLocalUrl } from "./sim-aws-local-url.js";
|
|
2
|
+
/**
|
|
3
|
+
* Get the AWS-facing hostname an incoming request was made to.
|
|
4
|
+
*
|
|
5
|
+
* A request served on localhost carries the Yulin-local host, such as
|
|
6
|
+
* `distro123.cloudfront.net.sim-aws.localhost:52341`, so the local suffix and
|
|
7
|
+
* the local server port are dropped to leave the hostname the same request
|
|
8
|
+
* would have used against real AWS.
|
|
9
|
+
*
|
|
10
|
+
* The Host header is preferred over the URL hostname, since that is what a
|
|
11
|
+
* client sends and what AWS itself routes on.
|
|
12
|
+
*/
|
|
13
|
+
export function simAwsRequestHostname(request) {
|
|
14
|
+
const requestHost = request.headers.get("host") ?? new URL(request.url).host;
|
|
15
|
+
return new SimAwsLocalUrl({
|
|
16
|
+
input: `http://${requestHost}/`,
|
|
17
|
+
}).withoutLocalhostSuffix().hostname;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=sim-aws-request-hostname.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-aws-request-hostname.js","sourceRoot":"","sources":["../../../../src/serve/http/url/sim-aws-request-hostname.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IAE7E,OAAO,IAAI,cAAc,CAAC;QACxB,KAAK,EAAE,UAAU,WAAW,GAAG;KAChC,CAAC,CAAC,sBAAsB,EAAE,CAAC,QAAQ,CAAC;AACvC,CAAC"}
|
|
@@ -21,7 +21,12 @@ export interface SimAwsRequestCallerOptions {
|
|
|
21
21
|
* How one simulated AWS environment is set up.
|
|
22
22
|
*/
|
|
23
23
|
export interface SimAwsProperties {
|
|
24
|
-
|
|
24
|
+
/**
|
|
25
|
+
* AWS Account ID this simulation uses when a call does not name one.
|
|
26
|
+
* Plain strings are accepted, so callers do not need the internal
|
|
27
|
+
* SimAwsAccountId brand to set it.
|
|
28
|
+
*/
|
|
29
|
+
readonly defaultAccountId?: SimAwsAccountId | string;
|
|
25
30
|
readonly defaultRegionName?: AwsRegionName;
|
|
26
31
|
readonly background?: BackgroundScheduler & BackgroundCompleter;
|
|
27
32
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-aws-properties.d.ts","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-properties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;CAC/D;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-aws-properties.d.ts","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-properties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;CAC/D;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC;IACrD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,CAAC;IAChE;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;CAC3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-aws.js","sourceRoot":"","sources":["../../../src/service/aws/sim-aws.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,GAG3B,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAEL,2BAA2B,GAE5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAQlF;;;;;;;;GAQG;AACH,MAAM,OAAO,MAAO,SAAQ,sBAAsB;IAChC,gBAAgB,CAAkB;IAClC,iBAAiB,CAAgB;IACjD;;;OAGG;IACa,cAAc,CAAuB;IAErD;;OAEG;IACa,WAAW,CAAiB;IAE3B,UAAU,CAA4C;IACtD,MAAM,CAAsB;IAC5B,WAAW,CAAoB;IAC/B,qBAAqB,CAA8B;IAEpE,YAAY,UAAU,GAAqB,EAAE;QAC3C,KAAK,EAAE,CAAC;QAER,MAAM,EACJ,gBAAgB,GAAG,0BAA0B,EAC7C,iBAAiB,GAAG,2BAA2B,EAC/C,KAAK,EACL,UAAU,EAAE,kBAAkB,GAC/B,GAAG,UAAU,CAAC;QAEf,MAAM,WAAW,GAAG,IAAI,iBAAiB,CAAC;YACxC,KAAK;YACL,UAAU,EAAE,kBAAkB;SAC/B,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;QAE1C,IAAI,CAAC,gBAAgB,GAAG,
|
|
1
|
+
{"version":3,"file":"sim-aws.js","sourceRoot":"","sources":["../../../src/service/aws/sim-aws.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,15 @@ export interface SimCloudFormationCreateStackProperties {
|
|
|
10
10
|
readonly template: CfnTemplateBodyRecord;
|
|
11
11
|
readonly parameters?: Record<string, string> | undefined;
|
|
12
12
|
readonly bindings?: readonly SimCfnExecutableResourceBinding[] | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* The synthesized CDK template file this in-memory template stands in for.
|
|
15
|
+
*
|
|
16
|
+
* The file itself is not read as the template: the given `template` object is
|
|
17
|
+
* what gets deployed. Only the file's directory and its sibling CDK assets
|
|
18
|
+
* manifest are loaded, so a template edited in memory can still resolve
|
|
19
|
+
* staged assets from the cloud assembly it came from.
|
|
20
|
+
*/
|
|
21
|
+
readonly templatePath?: string | undefined;
|
|
13
22
|
}
|
|
14
23
|
export type { SimCloudFormationDeployTemplateFileProperties } from "./sim-cfn-template-file-loader.js";
|
|
15
24
|
interface SimCloudFormationTemplateDeployerProperties {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cfn-template-deployer.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudformation/deploy/sim-cfn-template-deployer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,0BAA0B,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-cfn-template-deployer.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudformation/deploy/sim-cfn-template-deployer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,0BAA0B,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAO7E,OAAO,EAEL,KAAK,6CAA6C,IAAI,6CAA6C,EACpG,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AAC5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,wCAAwC,CAAC;AAKhD,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,0BAA0B,GAAG,MAAM,CAAC;IACzD,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,+BAA+B,EAAE,GAAG,SAAS,CAAC;IAE3E;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED,YAAY,EAAE,6CAA6C,EAAE,MAAM,mCAAmC,CAAC;AAEvG,UAAU,2CAA2C;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC;IAC9D,QAAQ,CAAC,UAAU,EAAE,mBAAmB,GAAG,mBAAmB,CAAC;CAChE;AAED;;;;;;;;;GASG;AACH,qBAAa,iCAAiC;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;IACtE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4C;IACvE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAkC;IAErE,YAAY,UAAU,EAAE,2CAA2C,EAKlE;IAED;;;OAGG;IACG,cAAc,CAClB,UAAU,EAAE,sCAAsC,GACjD,OAAO,CAAC,WAAW,CAAC,CAUtB;IAED;;;OAGG;IACG,kBAAkB,CACtB,UAAU,EAAE,6CAA6C,GAAG,MAAM,GACjE,OAAO,CAAC,WAAW,CAAC,CAItB;YAEa,yBAAyB;YAqCzB,sBAAsB;CAyBrC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsonStringify } from "../../../util/type-guard/json.js";
|
|
2
2
|
import { assertDefined } from "../../../util/type-guard/defined.js";
|
|
3
|
+
import { loadSiblingCdkAssetsManifest, } from "../cdk/sim-cdk-out-context.js";
|
|
3
4
|
import { SimCfnTemplateFileLoader, } from "./sim-cfn-template-file-loader.js";
|
|
4
5
|
import { CreateStackCommandHandler } from "../command/create-stack/create-stack.handler.js";
|
|
5
6
|
import { faker } from "@faker-js/faker";
|
|
@@ -35,6 +36,7 @@ export class SimCloudFormationTemplateDeployer {
|
|
|
35
36
|
template: properties.template,
|
|
36
37
|
parameters: properties.parameters,
|
|
37
38
|
bindings: properties.bindings,
|
|
39
|
+
cdkOutContext: await cdkOutContextForTemplatePath(properties.templatePath),
|
|
38
40
|
});
|
|
39
41
|
}
|
|
40
42
|
/**
|
|
@@ -72,6 +74,16 @@ export class SimCloudFormationTemplateDeployer {
|
|
|
72
74
|
return await handler.handle(command);
|
|
73
75
|
}
|
|
74
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Load the CDK cloud assembly context a template deployed from memory points
|
|
79
|
+
* at, if it points at one at all.
|
|
80
|
+
*/
|
|
81
|
+
async function cdkOutContextForTemplatePath(templatePath) {
|
|
82
|
+
if (templatePath === undefined) {
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
return await loadSiblingCdkAssetsManifest(templatePath);
|
|
86
|
+
}
|
|
75
87
|
/**
|
|
76
88
|
* Generate a fake CloudFormation Stack name.
|
|
77
89
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cfn-template-deployer.js","sourceRoot":"","sources":["../../../../src/service/cloudformation/deploy/sim-cfn-template-deployer.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-cfn-template-deployer.js","sourceRoot":"","sources":["../../../../src/service/cloudformation/deploy/sim-cfn-template-deployer.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,25 @@ export declare class SimCffRequestResponseAdapter {
|
|
|
32
32
|
* content-length.
|
|
33
33
|
*/
|
|
34
34
|
fromCffViewerResponse(cffResponse: CloudFrontFunction.Response, originalResponse: Response): Response;
|
|
35
|
+
/**
|
|
36
|
+
* Convert request headers to CFF Headers, with the host CloudFront presents.
|
|
37
|
+
*
|
|
38
|
+
* A CloudFront Function sees the hostname the viewer used to reach
|
|
39
|
+
* CloudFront: the Distribution domain name or one of its alternate domain
|
|
40
|
+
* names. A request served on localhost arrives with the Yulin-local host
|
|
41
|
+
* instead, which is the same hostname the Distribution router already
|
|
42
|
+
* resolves the request by, so it is normalised here as well.
|
|
43
|
+
*/
|
|
44
|
+
private viewerCffHeaders;
|
|
45
|
+
/**
|
|
46
|
+
* Restore the host the request arrived with.
|
|
47
|
+
*
|
|
48
|
+
* The host header is read-only for CloudFront Functions, so a host a
|
|
49
|
+
* function returns is discarded rather than sent on. That also keeps the
|
|
50
|
+
* Yulin-local host on the request continuing to the Origin, which is what
|
|
51
|
+
* the rest of the simulated environment resolves.
|
|
52
|
+
*/
|
|
53
|
+
private restoreViewerHost;
|
|
35
54
|
private cffResponseBody;
|
|
36
55
|
}
|
|
37
56
|
//# sourceMappingURL=sim-cff-request-response-adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cff-request-response-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/cff/adapter/sim-cff-request-response-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-cff-request-response-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/cff/adapter/sim-cff-request-response-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAI1F;;;GAGG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsC;IAEtE;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAUzD;IAED;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAM7D;IAED;;OAEG;IACH,cAAc,CACZ,UAAU,EAAE,kBAAkB,CAAC,OAAO,EACtC,eAAe,EAAE,OAAO,GACvB,OAAO,CAsBT;IAED;;OAEG;IACH,eAAe,CAAC,WAAW,EAAE,kBAAkB,CAAC,QAAQ,GAAG,QAAQ,CAMlE;IAED;;;;;;;;;OASG;IACH,qBAAqB,CACnB,WAAW,EAAE,kBAAkB,CAAC,QAAQ,EACxC,gBAAgB,EAAE,QAAQ,GACzB,QAAQ,CAMV;IAED;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,eAAe;CAaxB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { simAwsRequestHostname } from "../../../../serve/http/url/sim-aws-request-hostname.js";
|
|
1
2
|
import { SimCffRequestMetadataAdapter } from "./sim-cff-request-metadata-adapter.js";
|
|
2
3
|
/**
|
|
3
4
|
* Converts between Fetch API Request/Response objects and CloudFront Function
|
|
@@ -13,7 +14,7 @@ export class SimCffRequestResponseAdapter {
|
|
|
13
14
|
return {
|
|
14
15
|
method: request.method,
|
|
15
16
|
uri: url.pathname,
|
|
16
|
-
headers: this.
|
|
17
|
+
headers: this.viewerCffHeaders(request),
|
|
17
18
|
querystring: this.metadataAdapter.toCffQueryString(url.searchParams),
|
|
18
19
|
cookies: this.metadataAdapter.toCffCookies(request.headers),
|
|
19
20
|
};
|
|
@@ -36,9 +37,11 @@ export class SimCffRequestResponseAdapter {
|
|
|
36
37
|
url.pathname = cffRequest.uri;
|
|
37
38
|
url.search = this.metadataAdapter.fromCffQueryString(cffRequest.querystring);
|
|
38
39
|
const isAllowsBody = !/^(get|head)$/i.test(cffRequest.method);
|
|
40
|
+
const headers = this.metadataAdapter.fromCffHeaders(cffRequest.headers, cffRequest.cookies);
|
|
41
|
+
this.restoreViewerHost(headers, originalRequest);
|
|
39
42
|
return new Request(url, {
|
|
40
43
|
method: cffRequest.method,
|
|
41
|
-
headers
|
|
44
|
+
headers,
|
|
42
45
|
body: isAllowsBody ? originalRequest.clone().body : null,
|
|
43
46
|
duplex: "half",
|
|
44
47
|
redirect: originalRequest.redirect,
|
|
@@ -72,6 +75,36 @@ export class SimCffRequestResponseAdapter {
|
|
|
72
75
|
headers: this.metadataAdapter.fromCffHeaders(cffResponse.headers, {}),
|
|
73
76
|
});
|
|
74
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Convert request headers to CFF Headers, with the host CloudFront presents.
|
|
80
|
+
*
|
|
81
|
+
* A CloudFront Function sees the hostname the viewer used to reach
|
|
82
|
+
* CloudFront: the Distribution domain name or one of its alternate domain
|
|
83
|
+
* names. A request served on localhost arrives with the Yulin-local host
|
|
84
|
+
* instead, which is the same hostname the Distribution router already
|
|
85
|
+
* resolves the request by, so it is normalised here as well.
|
|
86
|
+
*/
|
|
87
|
+
viewerCffHeaders(request) {
|
|
88
|
+
const cffHeaders = this.metadataAdapter.toCffHeaders(request.headers);
|
|
89
|
+
cffHeaders["host"] = { value: simAwsRequestHostname(request) };
|
|
90
|
+
return cffHeaders;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Restore the host the request arrived with.
|
|
94
|
+
*
|
|
95
|
+
* The host header is read-only for CloudFront Functions, so a host a
|
|
96
|
+
* function returns is discarded rather than sent on. That also keeps the
|
|
97
|
+
* Yulin-local host on the request continuing to the Origin, which is what
|
|
98
|
+
* the rest of the simulated environment resolves.
|
|
99
|
+
*/
|
|
100
|
+
restoreViewerHost(headers, originalRequest) {
|
|
101
|
+
const viewerHost = originalRequest.headers.get("host");
|
|
102
|
+
if (viewerHost === null) {
|
|
103
|
+
headers.delete("host");
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
headers.set("host", viewerHost);
|
|
107
|
+
}
|
|
75
108
|
cffResponseBody(cffResponse) {
|
|
76
109
|
if (cffResponse.body === undefined) {
|
|
77
110
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cff-request-response-adapter.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/cff/adapter/sim-cff-request-response-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAErF;;;GAGG;AACH,MAAM,OAAO,4BAA4B;IACtB,eAAe,GAAG,IAAI,4BAA4B,EAAE,CAAC;IAEtE;;OAEG;IACH,YAAY,CAAC,OAAgB;QAC3B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEjC,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,GAAG,CAAC,QAAQ;YACjB,OAAO,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"sim-cff-request-response-adapter.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/cff/adapter/sim-cff-request-response-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts
CHANGED
|
@@ -34,6 +34,10 @@ export interface SimCloudFrontDistributionConfig {
|
|
|
34
34
|
readonly CallerReference?: string | undefined;
|
|
35
35
|
readonly Comment?: string | undefined;
|
|
36
36
|
readonly Enabled?: boolean | undefined;
|
|
37
|
+
readonly DefaultRootObject?: string | undefined;
|
|
38
|
+
readonly CustomErrorResponses?: undefined | {
|
|
39
|
+
readonly Items?: readonly SimCloudFrontCustomErrorResponseConfig[] | undefined;
|
|
40
|
+
};
|
|
37
41
|
readonly Aliases?: undefined | {
|
|
38
42
|
readonly Items?: readonly string[] | undefined;
|
|
39
43
|
};
|
|
@@ -46,6 +50,18 @@ export interface SimCloudFrontDistributionConfig {
|
|
|
46
50
|
};
|
|
47
51
|
readonly ViewerCertificate?: SimCloudFrontViewerCertificate | undefined;
|
|
48
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Minimal structural sim CloudFront CustomErrorResponse.
|
|
55
|
+
*
|
|
56
|
+
* The CloudFront API types `ResponseCode` as a string, while
|
|
57
|
+
* `AWS::CloudFront::Distribution` types it as an integer, so both arrive here.
|
|
58
|
+
*/
|
|
59
|
+
export interface SimCloudFrontCustomErrorResponseConfig {
|
|
60
|
+
readonly ErrorCode?: number | undefined;
|
|
61
|
+
readonly ResponsePagePath?: string | undefined;
|
|
62
|
+
readonly ResponseCode?: string | number | undefined;
|
|
63
|
+
readonly ErrorCachingMinTTL?: number | undefined;
|
|
64
|
+
}
|
|
49
65
|
/**
|
|
50
66
|
* Minimal structural sim CloudFront ViewerCertificate.
|
|
51
67
|
*
|
package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-distribution.command.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-distribution/create-distribution.command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-distribution.command.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-distribution/create-distribution.command.ts"],"names":[],"mappings":"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"}
|
package/dist/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cf-distro-config-normalizer.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"sim-cf-distro-config-normalizer.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,+BAA+B,EAGhC,MAAM,kCAAkC,CAAC;AAU1C;;;;;;;GAOG;AACH,qBAAa,yCAAyC;IAElD,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IADrC,YACmB,kBAAkB,EAAE,+BAA+B,EAClE;IAEJ;;OAEG;IACH,SAAS,IAAI,+BAA+B,CAmC3C;IAED,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,aAAa;CA0BtB"}
|
package/dist/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.js
CHANGED
|
@@ -22,6 +22,7 @@ export class SimCloudFrontDistributionConfigNormalizer {
|
|
|
22
22
|
...this.distributionConfig,
|
|
23
23
|
Aliases: this.normalizeList(distributionConfig["Aliases"]),
|
|
24
24
|
Origins: this.normalizeList(distributionConfig["Origins"]),
|
|
25
|
+
CustomErrorResponses: this.normalizeList(distributionConfig["CustomErrorResponses"]),
|
|
25
26
|
DefaultCacheBehavior: this.distributionConfig.DefaultCacheBehavior === undefined
|
|
26
27
|
? undefined
|
|
27
28
|
: this.normalizeCacheBehavior(this.distributionConfig.DefaultCacheBehavior),
|
package/dist/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cf-distro-config-normalizer.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sim-cf-distro-config-normalizer.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AASjE;;;;;;;GAOG;AACH,MAAM,OAAO,yCAAyC;IAEjC,kBAAkB;IADrC,YACmB,kBAAmD;kCAAnD,kBAAkB;IAClC,CAAC;IAEJ;;OAEG;IACH,SAAS;QACP,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAG/B,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CACvC,kBAAkB,CAAC,gBAAgB,CAAC,CACrC,CAAC;QAEF,OAAO;YACL,GAAG,IAAI,CAAC,kBAAkB;YAC1B,OAAO,EAAE,IAAI,CAAC,aAAa,CAAS,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAClE,OAAO,EAAE,IAAI,CAAC,aAAa,CACzB,kBAAkB,CAAC,SAAS,CAAC,CAC9B;YACD,oBAAoB,EAClB,IAAI,CAAC,aAAa,CAChB,kBAAkB,CAAC,sBAAsB,CAAC,CAC3C;YACH,oBAAoB,EAClB,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,KAAK,SAAS;gBACxD,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,CAAC,sBAAsB,CACzB,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAC7C;YACP,cAAc,EACZ,cAAc,KAAK,SAAS;gBAC1B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC;oBACE,GAAG,cAAc;oBACjB,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CACjD,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAC3C;iBACF;SACR,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAC5B,aAAgB;QAEhB,MAAM,mBAAmB,GAAG,aAAuC,CAAC;QAEpE,OAAO;YACL,GAAG,aAAa;YAChB,oBAAoB,EAClB,IAAI,CAAC,aAAa,CAChB,mBAAmB,CAAC,sBAAsB,CAAC,CAC5C;SACJ,CAAC;IACJ,CAAC;IAEO,aAAa,CACnB,KAAc;QAEd,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,KAAK,EAAE,KAAqB;aAC7B,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO;gBACL,GAAG,KAAK;gBACR,kEAAkE;gBAClE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAClC,CAAC,CAAE,KAAK,CAAC,OAAO,CAAkB;oBAClC,CAAC,CAAC,SAAS;aACd,CAAC;QACJ,CAAC;QAED,0CAA0C;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -4,6 +4,7 @@ import type { SimCloudFrontDistroRouter } from "../../router/sim-cloud-front-dis
|
|
|
4
4
|
import type { SimCloudFrontBehaviorResolver } from "../../resolver/sim-cloud-front-behavior-resolver.js";
|
|
5
5
|
import { SimCffApplicator } from "../cff/sim-cff-applicator.js";
|
|
6
6
|
import { SimCloudFrontOriginFetcher } from "../origin/sim-cloudfront-origin-fetcher.js";
|
|
7
|
+
import { SimCfCustomErrorResponder } from "../error/sim-cf-custom-error-responder.js";
|
|
7
8
|
export interface SimCloudFrontServiceControllerProperties {
|
|
8
9
|
readonly simAws?: SimAws;
|
|
9
10
|
readonly cloudFrontRegistry?: SimCloudFrontRegistry;
|
|
@@ -11,12 +12,14 @@ export interface SimCloudFrontServiceControllerProperties {
|
|
|
11
12
|
readonly behaviourResolver?: SimCloudFrontBehaviorResolver;
|
|
12
13
|
readonly cffApplicator?: SimCffApplicator;
|
|
13
14
|
readonly originFetcher?: SimCloudFrontOriginFetcher;
|
|
15
|
+
readonly customErrorResponder?: SimCfCustomErrorResponder;
|
|
14
16
|
}
|
|
15
17
|
export interface SimCloudFrontControllerDependencies {
|
|
16
18
|
readonly distroRouter: SimCloudFrontDistroRouter;
|
|
17
19
|
readonly behaviourResolver: SimCloudFrontBehaviorResolver;
|
|
18
20
|
readonly cffApplicator: SimCffApplicator;
|
|
19
21
|
readonly originFetcher: SimCloudFrontOriginFetcher;
|
|
22
|
+
readonly customErrorResponder: SimCfCustomErrorResponder;
|
|
20
23
|
}
|
|
21
24
|
/**
|
|
22
25
|
* Builds the collaborators used by the CloudFront service controller.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cf-controller-dependency.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/controller/dependency/sim-cf-controller-dependency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAE/F,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qDAAqD,CAAC;AAEzG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-cf-controller-dependency.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/controller/dependency/sim-cf-controller-dependency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAE/F,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qDAAqD,CAAC;AAEzG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAEtF,MAAM,WAAW,wCAAwC;IACvD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,qBAAqB,CAAC;IACpD,QAAQ,CAAC,YAAY,CAAC,EAAE,yBAAyB,CAAC;IAClD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,6BAA6B,CAAC;IAC3D,QAAQ,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAC;IAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,0BAA0B,CAAC;IACpD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,yBAAyB,CAAC;CAC3D;AAED,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC;IACjD,QAAQ,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;IAC1D,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAC;IACnD,QAAQ,CAAC,oBAAoB,EAAE,yBAAyB,CAAC;CAC1D;AAED;;GAEG;AACH,qBAAa,0CAA0C;IACrD;;OAEG;IACH,IAAI,CACF,UAAU,GAAE,wCAA6C,GACxD,mCAAmC,CA4BrC;CACF"}
|
|
@@ -3,6 +3,7 @@ import { SimCloudFrontDistroRouter as DefaultSimCloudFrontDistroRouter } from ".
|
|
|
3
3
|
import { SimCloudFrontBehaviorResolver as DefaultSimCloudFrontBehaviorResolver } from "../../resolver/sim-cloud-front-behavior-resolver.js";
|
|
4
4
|
import { SimCffApplicator } from "../cff/sim-cff-applicator.js";
|
|
5
5
|
import { SimCloudFrontOriginFetcher } from "../origin/sim-cloudfront-origin-fetcher.js";
|
|
6
|
+
import { SimCfCustomErrorResponder } from "../error/sim-cf-custom-error-responder.js";
|
|
6
7
|
/**
|
|
7
8
|
* Builds the collaborators used by the CloudFront service controller.
|
|
8
9
|
*/
|
|
@@ -13,16 +14,23 @@ export class SimCloudFrontControllerDependenciesFactory {
|
|
|
13
14
|
make(properties = {}) {
|
|
14
15
|
const simAws = properties.simAws ?? new SimAws();
|
|
15
16
|
const cloudFrontRegistry = properties.cloudFrontRegistry ?? simAws.serviceFactory.cloudFrontRegistry;
|
|
17
|
+
// The custom error responder fetches its response page through the same
|
|
18
|
+
// Behavior resolution and Origin fetching as any other request, so it is
|
|
19
|
+
// built from whichever of those the caller supplied.
|
|
20
|
+
const behaviourResolver = properties.behaviourResolver ??
|
|
21
|
+
new DefaultSimCloudFrontBehaviorResolver();
|
|
22
|
+
const originFetcher = properties.originFetcher ?? new SimCloudFrontOriginFetcher();
|
|
16
23
|
return {
|
|
17
24
|
distroRouter: properties.distroRouter ??
|
|
18
25
|
new DefaultSimCloudFrontDistroRouter({
|
|
19
26
|
simAws,
|
|
20
27
|
cloudFrontRegistry,
|
|
21
28
|
}),
|
|
22
|
-
behaviourResolver
|
|
23
|
-
new DefaultSimCloudFrontBehaviorResolver(),
|
|
29
|
+
behaviourResolver,
|
|
24
30
|
cffApplicator: properties.cffApplicator ?? new SimCffApplicator(),
|
|
25
|
-
originFetcher
|
|
31
|
+
originFetcher,
|
|
32
|
+
customErrorResponder: properties.customErrorResponder ??
|
|
33
|
+
new SimCfCustomErrorResponder({ behaviourResolver, originFetcher }),
|
|
26
34
|
};
|
|
27
35
|
}
|
|
28
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cf-controller-dependency.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/controller/dependency/sim-cf-controller-dependency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGjD,OAAO,EAAE,yBAAyB,IAAI,gCAAgC,EAAE,MAAM,+CAA+C,CAAC;AAE9H,OAAO,EAAE,6BAA6B,IAAI,oCAAoC,EAAE,MAAM,qDAAqD,CAAC;AAC5I,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-cf-controller-dependency.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/controller/dependency/sim-cf-controller-dependency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGjD,OAAO,EAAE,yBAAyB,IAAI,gCAAgC,EAAE,MAAM,+CAA+C,CAAC;AAE9H,OAAO,EAAE,6BAA6B,IAAI,oCAAoC,EAAE,MAAM,qDAAqD,CAAC;AAC5I,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAoBtF;;GAEG;AACH,MAAM,OAAO,0CAA0C;IACrD;;OAEG;IACH,IAAI,CACF,UAAU,GAA6C,EAAE;QAEzD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QACjD,MAAM,kBAAkB,GACtB,UAAU,CAAC,kBAAkB,IAAI,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC;QAE5E,wEAAwE;QACxE,yEAAyE;QACzE,qDAAqD;QACrD,MAAM,iBAAiB,GACrB,UAAU,CAAC,iBAAiB;YAC5B,IAAI,oCAAoC,EAAE,CAAC;QAC7C,MAAM,aAAa,GACjB,UAAU,CAAC,aAAa,IAAI,IAAI,0BAA0B,EAAE,CAAC;QAE/D,OAAO;YACL,YAAY,EACV,UAAU,CAAC,YAAY;gBACvB,IAAI,gCAAgC,CAAC;oBACnC,MAAM;oBACN,kBAAkB;iBACnB,CAAC;YACJ,iBAAiB;YACjB,aAAa,EAAE,UAAU,CAAC,aAAa,IAAI,IAAI,gBAAgB,EAAE;YACjE,aAAa;YACb,oBAAoB,EAClB,UAAU,CAAC,oBAAoB;gBAC/B,IAAI,yBAAyB,CAAC,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC;SACtE,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { SimCloudFrontBehaviorResolver } from "../../resolver/sim-cloud-front-behavior-resolver.js";
|
|
2
|
+
import type { SimCloudFrontOriginFetcher } from "../origin/sim-cloudfront-origin-fetcher.js";
|
|
3
|
+
import type { SimCloudFrontDistribution } from "../../distribution/sim-cloudfront-distribution.js";
|
|
4
|
+
interface SimCfCustomErrorResponderProperties {
|
|
5
|
+
readonly behaviourResolver: SimCloudFrontBehaviorResolver;
|
|
6
|
+
readonly originFetcher: SimCloudFrontOriginFetcher;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Replaces an Origin error response with a Distribution's custom error page.
|
|
10
|
+
*
|
|
11
|
+
* The response page is fetched as a request of its own, so the Cache Behavior
|
|
12
|
+
* matching the response page path decides which Origin it comes from. That is
|
|
13
|
+
* what lets a Distribution keep its error pages somewhere other than the
|
|
14
|
+
* content that failed, as CloudFront does.
|
|
15
|
+
*/
|
|
16
|
+
export declare class SimCfCustomErrorResponder {
|
|
17
|
+
private readonly behaviourResolver;
|
|
18
|
+
private readonly originFetcher;
|
|
19
|
+
constructor(properties: SimCfCustomErrorResponderProperties);
|
|
20
|
+
/**
|
|
21
|
+
* Return the custom error response for an Origin response, where the
|
|
22
|
+
* Distribution configures one for its status.
|
|
23
|
+
*/
|
|
24
|
+
apply(request: Request, distribution: SimCloudFrontDistribution, response: Response): Promise<Response>;
|
|
25
|
+
private responsePage;
|
|
26
|
+
private pageRequest;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=sim-cf-custom-error-responder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cf-custom-error-responder.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/controller/error/sim-cf-custom-error-responder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qDAAqD,CAAC;AACzG,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;AAGnG,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;IAC1D,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAC;CACpD;AAED;;;;;;;GAOG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAgC;IAClE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAE3D,YAAY,UAAU,EAAE,mCAAmC,EAG1D;IAED;;;OAGG;IACG,KAAK,CACT,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,yBAAyB,EACvC,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,QAAQ,CAAC,CAUnB;YAEa,YAAY;IAyB1B,OAAO,CAAC,WAAW;CAqBpB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Replaces an Origin error response with a Distribution's custom error page.
|
|
3
|
+
*
|
|
4
|
+
* The response page is fetched as a request of its own, so the Cache Behavior
|
|
5
|
+
* matching the response page path decides which Origin it comes from. That is
|
|
6
|
+
* what lets a Distribution keep its error pages somewhere other than the
|
|
7
|
+
* content that failed, as CloudFront does.
|
|
8
|
+
*/
|
|
9
|
+
export class SimCfCustomErrorResponder {
|
|
10
|
+
behaviourResolver;
|
|
11
|
+
originFetcher;
|
|
12
|
+
constructor(properties) {
|
|
13
|
+
this.behaviourResolver = properties.behaviourResolver;
|
|
14
|
+
this.originFetcher = properties.originFetcher;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Return the custom error response for an Origin response, where the
|
|
18
|
+
* Distribution configures one for its status.
|
|
19
|
+
*/
|
|
20
|
+
async apply(request, distribution, response) {
|
|
21
|
+
const customErrorResponse = distribution.customErrorResponses.find((candidate) => candidate.errorCode === response.status);
|
|
22
|
+
if (customErrorResponse === undefined) {
|
|
23
|
+
return response;
|
|
24
|
+
}
|
|
25
|
+
return await this.responsePage(request, distribution, customErrorResponse);
|
|
26
|
+
}
|
|
27
|
+
async responsePage(request, distribution, customErrorResponse) {
|
|
28
|
+
const pageRequest = this.pageRequest(request, customErrorResponse);
|
|
29
|
+
const behaviour = this.behaviourResolver.resolve(pageRequest, distribution);
|
|
30
|
+
const pageResponse = await this.originFetcher.fetch(pageRequest, distribution, behaviour);
|
|
31
|
+
// A response page that is itself unavailable leaves the viewer with the
|
|
32
|
+
// status from fetching it, as it does in CloudFront.
|
|
33
|
+
if (!pageResponse.ok) {
|
|
34
|
+
return pageResponse;
|
|
35
|
+
}
|
|
36
|
+
return new Response(pageResponse.body, {
|
|
37
|
+
status: customErrorResponse.responseCode,
|
|
38
|
+
headers: pageResponse.headers,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
pageRequest(request, customErrorResponse) {
|
|
42
|
+
const url = new URL(request.url);
|
|
43
|
+
url.pathname = customErrorResponse.responsePagePath;
|
|
44
|
+
url.search = "";
|
|
45
|
+
// The response page is fetched without a body, whatever the viewer sent,
|
|
46
|
+
// so headers describing the viewer's body would describe nothing.
|
|
47
|
+
const headers = new Headers(request.headers);
|
|
48
|
+
headers.delete("content-type");
|
|
49
|
+
headers.delete("content-length");
|
|
50
|
+
return new Request(url, {
|
|
51
|
+
method: request.method === "HEAD" ? "HEAD" : "GET",
|
|
52
|
+
headers,
|
|
53
|
+
redirect: request.redirect,
|
|
54
|
+
signal: request.signal,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=sim-cf-custom-error-responder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cf-custom-error-responder.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/controller/error/sim-cf-custom-error-responder.ts"],"names":[],"mappings":"AAUA;;;;;;;GAOG;AACH,MAAM,OAAO,yBAAyB;IACnB,iBAAiB,CAAgC;IACjD,aAAa,CAA6B;IAE3D,YAAY,UAA+C;QACzD,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CACT,OAAgB,EAChB,YAAuC,EACvC,QAAkB;QAElB,MAAM,mBAAmB,GAAG,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAChE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,KAAK,QAAQ,CAAC,MAAM,CACvD,CAAC;QAEF,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,OAAgB,EAChB,YAAuC,EACvC,mBAAqD;QAErD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CACjD,WAAW,EACX,YAAY,EACZ,SAAS,CACV,CAAC;QAEF,wEAAwE;QACxE,qDAAqD;QACrD,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;YACrB,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE;YACrC,MAAM,EAAE,mBAAmB,CAAC,YAAY;YACxC,OAAO,EAAE,YAAY,CAAC,OAAO;SAC9B,CAAC,CAAC;IACL,CAAC;IAEO,WAAW,CACjB,OAAgB,EAChB,mBAAqD;QAErD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,GAAG,CAAC,QAAQ,GAAG,mBAAmB,CAAC,gBAAgB,CAAC;QACpD,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;QAEhB,yEAAyE;QACzE,kEAAkE;QAClE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEjC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;YAClD,OAAO;YACP,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/dist/service/cloudfront/controller/root-object/sim-cf-default-root-object-request.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { SimCloudFrontDistribution } from "../../distribution/sim-cloudfront-distribution.js";
|
|
2
|
+
/**
|
|
3
|
+
* Apply a Distribution's default root object to a request for its root.
|
|
4
|
+
*
|
|
5
|
+
* CloudFront substitutes the default root object for a request to the root of
|
|
6
|
+
* the Distribution and nothing else: a request for a subdirectory such as
|
|
7
|
+
* `/install/` is passed to the Origin as it arrived, even where that directory
|
|
8
|
+
* holds a copy of the object. The substituted path is the one the rest of
|
|
9
|
+
* request handling sees, so a Cache Behavior pattern and a CloudFront Function
|
|
10
|
+
* both act on the object being served rather than on the root.
|
|
11
|
+
*
|
|
12
|
+
* The default root object applies to every method the Distribution allows, so
|
|
13
|
+
* the request is rebuilt around the new path rather than being narrowed to a
|
|
14
|
+
* GET.
|
|
15
|
+
*/
|
|
16
|
+
export declare function simCfDefaultRootObjectRequest(request: Request, distribution: SimCloudFrontDistribution): Request;
|
|
17
|
+
//# sourceMappingURL=sim-cf-default-root-object-request.d.ts.map
|
package/dist/service/cloudfront/controller/root-object/sim-cf-default-root-object-request.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cf-default-root-object-request.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/controller/root-object/sim-cf-default-root-object-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;AAEnG;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,yBAAyB,GACtC,OAAO,CAuBT"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Apply a Distribution's default root object to a request for its root.
|
|
3
|
+
*
|
|
4
|
+
* CloudFront substitutes the default root object for a request to the root of
|
|
5
|
+
* the Distribution and nothing else: a request for a subdirectory such as
|
|
6
|
+
* `/install/` is passed to the Origin as it arrived, even where that directory
|
|
7
|
+
* holds a copy of the object. The substituted path is the one the rest of
|
|
8
|
+
* request handling sees, so a Cache Behavior pattern and a CloudFront Function
|
|
9
|
+
* both act on the object being served rather than on the root.
|
|
10
|
+
*
|
|
11
|
+
* The default root object applies to every method the Distribution allows, so
|
|
12
|
+
* the request is rebuilt around the new path rather than being narrowed to a
|
|
13
|
+
* GET.
|
|
14
|
+
*/
|
|
15
|
+
export function simCfDefaultRootObjectRequest(request, distribution) {
|
|
16
|
+
const { defaultRootObject } = distribution;
|
|
17
|
+
if (defaultRootObject === undefined) {
|
|
18
|
+
return request;
|
|
19
|
+
}
|
|
20
|
+
const url = new URL(request.url);
|
|
21
|
+
if (url.pathname !== "/") {
|
|
22
|
+
return request;
|
|
23
|
+
}
|
|
24
|
+
url.pathname = `/${defaultRootObject}`;
|
|
25
|
+
const isBodyAllowed = !/^(?:get|head)$/iu.test(request.method);
|
|
26
|
+
return new Request(url, {
|
|
27
|
+
method: request.method,
|
|
28
|
+
headers: request.headers,
|
|
29
|
+
body: isBodyAllowed ? request.clone().body : null,
|
|
30
|
+
duplex: "half",
|
|
31
|
+
redirect: request.redirect,
|
|
32
|
+
signal: request.signal,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=sim-cf-default-root-object-request.js.map
|
package/dist/service/cloudfront/controller/root-object/sim-cf-default-root-object-request.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cf-default-root-object-request.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/controller/root-object/sim-cf-default-root-object-request.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,6BAA6B,CAC3C,OAAgB,EAChB,YAAuC;IAEvC,MAAM,EAAE,iBAAiB,EAAE,GAAG,YAAY,CAAC;IAC3C,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,GAAG,CAAC,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAEvC,MAAM,aAAa,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/D,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;QACjD,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { SimCloudFrontControllerDependencies } from "./dependency/sim-cf-controller-dependency.js";
|
|
2
2
|
/**
|
|
3
3
|
* Runs a single simulated CloudFront request through its lifecycle:
|
|
4
|
-
* route to a Distribution,
|
|
5
|
-
* hooks, fetch from the Origin,
|
|
4
|
+
* route to a Distribution, apply the default root object, resolve the matching
|
|
5
|
+
* Behavior, run viewer-request hooks, fetch from the Origin, replace an error
|
|
6
|
+
* response with the Distribution's custom error page, then run viewer-response
|
|
7
|
+
* hooks.
|
|
6
8
|
*
|
|
7
9
|
* This is the request-processing core, kept separate from the service
|
|
8
10
|
* controller so the controller stays a thin adapter to the shared
|
|
@@ -14,6 +16,7 @@ export declare class SimCloudFrontRequestPipeline {
|
|
|
14
16
|
private readonly behaviourResolver;
|
|
15
17
|
private readonly cffApplicator;
|
|
16
18
|
private readonly originFetcher;
|
|
19
|
+
private readonly customErrorResponder;
|
|
17
20
|
constructor(dependencies: SimCloudFrontControllerDependencies);
|
|
18
21
|
/**
|
|
19
22
|
* Process one incoming request and produce the response the caller sees.
|