@kensio/yulin 0.12.0 → 0.14.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/README.md +22 -24
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/serve/controller/sim-aws-service-controller-container.d.ts +6 -2
- package/dist/serve/controller/sim-aws-service-controller-container.d.ts.map +1 -1
- package/dist/serve/controller/sim-aws-service-controller-container.js +4 -2
- package/dist/serve/controller/sim-aws-service-controller-container.js.map +1 -1
- package/dist/serve/http/sim-aws-http.d.ts +5 -2
- package/dist/serve/http/sim-aws-http.d.ts.map +1 -1
- package/dist/serve/http/sim-aws-http.js +3 -4
- package/dist/serve/http/sim-aws-http.js.map +1 -1
- package/dist/serve/http/sim-aws-local-server.d.ts +10 -3
- package/dist/serve/http/sim-aws-local-server.d.ts.map +1 -1
- package/dist/serve/http/sim-aws-local-server.js +7 -7
- package/dist/serve/http/sim-aws-local-server.js.map +1 -1
- package/dist/serve/http/sim-aws-local-url.d.ts +6 -1
- package/dist/serve/http/sim-aws-local-url.d.ts.map +1 -1
- package/dist/serve/http/sim-aws-local-url.js +4 -4
- package/dist/serve/http/sim-aws-local-url.js.map +1 -1
- package/dist/service/aws/arn.d.ts +1 -1
- package/dist/service/aws/arn.d.ts.map +1 -1
- package/dist/service/aws/arn.js +1 -1
- package/dist/service/aws/arn.js.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts +23 -9
- package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.js +23 -8
- package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
- package/dist/service/aws/sim-aws-account.d.ts +23 -9
- package/dist/service/aws/sim-aws-account.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account.js +21 -9
- package/dist/service/aws/sim-aws-account.js.map +1 -1
- package/dist/service/aws/sim-aws-region.d.ts +23 -9
- package/dist/service/aws/sim-aws-region.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-region.js +21 -9
- package/dist/service/aws/sim-aws-region.js.map +1 -1
- package/dist/service/aws/sim-aws.d.ts +49 -30
- package/dist/service/aws/sim-aws.d.ts.map +1 -1
- package/dist/service/aws/sim-aws.js +92 -42
- package/dist/service/aws/sim-aws.js.map +1 -1
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts +5 -0
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts.map +1 -1
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.js.map +1 -1
- package/dist/service/cloudfront/cff/adapter/sim-cff-event-adapter.d.ts +36 -0
- package/dist/service/cloudfront/cff/adapter/sim-cff-event-adapter.d.ts.map +1 -0
- package/dist/service/cloudfront/cff/adapter/sim-cff-event-adapter.js +177 -0
- package/dist/service/cloudfront/cff/adapter/sim-cff-event-adapter.js.map +1 -0
- package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.d.ts +38 -0
- package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.d.ts.map +1 -0
- package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.js +69 -0
- package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.js.map +1 -0
- package/dist/service/cloudfront/cff/sim-cloudfront-function.d.ts +48 -0
- package/dist/service/cloudfront/cff/sim-cloudfront-function.d.ts.map +1 -0
- package/dist/service/cloudfront/cff/sim-cloudfront-function.js +66 -0
- package/dist/service/cloudfront/cff/sim-cloudfront-function.js.map +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.cmd.d.ts +100 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.cmd.d.ts.map +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.cmd.js +2 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.cmd.js.map +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +16 -12
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js +23 -78
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -1
- package/dist/service/cloudfront/command/create-function/create-function.cmd.d.ts +43 -0
- package/dist/service/cloudfront/command/create-function/create-function.cmd.d.ts.map +1 -0
- package/dist/service/cloudfront/command/create-function/create-function.cmd.js +5 -0
- package/dist/service/cloudfront/command/create-function/create-function.cmd.js.map +1 -0
- package/dist/service/cloudfront/command/create-function/create-function.handler.d.ts +28 -0
- package/dist/service/cloudfront/command/create-function/create-function.handler.d.ts.map +1 -0
- package/dist/service/cloudfront/command/create-function/create-function.handler.js +49 -0
- package/dist/service/cloudfront/command/create-function/create-function.handler.js.map +1 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.cmd.d.ts +29 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.cmd.d.ts.map +1 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.cmd.js +2 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.cmd.js.map +1 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.d.ts +21 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.d.ts.map +1 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js +40 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js.map +1 -0
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts +20 -4
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.js +52 -7
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.js.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.d.ts +21 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.d.ts.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js +90 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.d.ts +17 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.d.ts.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.js +28 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.js.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts +15 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js +26 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js.map +1 -0
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +23 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts.map +1 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +23 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js.map +1 -1
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +21 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts.map +1 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.js +20 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.js.map +1 -0
- package/dist/service/cloudfront/factory/cloudfront-functions.factory.d.ts +15 -2
- package/dist/service/cloudfront/factory/cloudfront-functions.factory.d.ts.map +1 -1
- package/dist/service/cloudfront/factory/cloudfront-functions.factory.js +22 -12
- package/dist/service/cloudfront/factory/cloudfront-functions.factory.js.map +1 -1
- package/dist/service/cloudfront/index.d.ts +1 -0
- package/dist/service/cloudfront/index.d.ts.map +1 -1
- package/dist/service/cloudfront/index.js +1 -0
- package/dist/service/cloudfront/index.js.map +1 -1
- package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.d.ts +7 -4
- package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.d.ts.map +1 -1
- package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.js +5 -5
- package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.js.map +1 -1
- package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.js +2 -2
- package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.js.map +1 -1
- package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.d.ts +6 -2
- package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.d.ts.map +1 -1
- package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.js +3 -3
- package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.js.map +1 -1
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.d.ts +24 -2
- 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 +61 -10
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js.map +1 -1
- package/dist/service/cloudfront/sim-cloud-front-registry.d.ts +8 -0
- package/dist/service/cloudfront/sim-cloud-front-registry.d.ts.map +1 -1
- package/dist/service/cloudfront/sim-cloud-front-registry.js +12 -0
- package/dist/service/cloudfront/sim-cloud-front-registry.js.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.d.ts +34 -4
- package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.js +55 -3
- package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
- package/dist/service/cloudfront/typings/cloudfront-functions.namespace.d.ts +22 -3
- package/dist/service/cloudfront/typings/cloudfront-functions.namespace.d.ts.map +1 -1
- package/dist/service/dynamodb/command/create-table/create-table.cmd.d.ts +61 -0
- package/dist/service/dynamodb/command/create-table/create-table.cmd.d.ts.map +1 -0
- package/dist/service/dynamodb/command/create-table/create-table.cmd.js +2 -0
- package/dist/service/dynamodb/command/create-table/create-table.cmd.js.map +1 -0
- package/dist/service/dynamodb/command/create-table/create-table.handler.d.ts +10 -4
- package/dist/service/dynamodb/command/create-table/create-table.handler.d.ts.map +1 -1
- package/dist/service/dynamodb/command/create-table/create-table.handler.js +12 -11
- package/dist/service/dynamodb/command/create-table/create-table.handler.js.map +1 -1
- package/dist/service/dynamodb/command/describe-table/describe-table.cmd.d.ts +21 -0
- package/dist/service/dynamodb/command/describe-table/describe-table.cmd.d.ts.map +1 -0
- package/dist/service/dynamodb/command/describe-table/describe-table.cmd.js +2 -0
- package/dist/service/dynamodb/command/describe-table/describe-table.cmd.js.map +1 -0
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.d.ts +8 -4
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.d.ts.map +1 -1
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.js +5 -7
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.js.map +1 -1
- package/dist/service/dynamodb/command/list-tables/list-tables.cmd.d.ts +22 -0
- package/dist/service/dynamodb/command/list-tables/list-tables.cmd.d.ts.map +1 -0
- package/dist/service/dynamodb/command/list-tables/list-tables.cmd.js +2 -0
- package/dist/service/dynamodb/command/list-tables/list-tables.cmd.js.map +1 -0
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.d.ts +8 -4
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.d.ts.map +1 -1
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.js +3 -2
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.js.map +1 -1
- package/dist/service/dynamodb/command/put-item/put-item.cmd.d.ts +135 -0
- package/dist/service/dynamodb/command/put-item/put-item.cmd.d.ts.map +1 -0
- package/dist/service/dynamodb/command/put-item/put-item.cmd.js +2 -0
- package/dist/service/dynamodb/command/put-item/put-item.cmd.js.map +1 -0
- package/dist/service/dynamodb/command/put-item/put-item.handler.d.ts +8 -4
- package/dist/service/dynamodb/command/put-item/put-item.handler.d.ts.map +1 -1
- package/dist/service/dynamodb/command/put-item/put-item.handler.js +4 -7
- package/dist/service/dynamodb/command/put-item/put-item.handler.js.map +1 -1
- package/dist/service/dynamodb/error/dynamodb.error.d.ts +28 -0
- package/dist/service/dynamodb/error/dynamodb.error.d.ts.map +1 -0
- package/dist/service/dynamodb/error/dynamodb.error.js +29 -0
- package/dist/service/dynamodb/error/dynamodb.error.js.map +1 -0
- package/dist/service/dynamodb/index.d.ts +0 -1
- package/dist/service/dynamodb/index.d.ts.map +1 -1
- package/dist/service/dynamodb/index.js +0 -1
- package/dist/service/dynamodb/index.js.map +1 -1
- package/dist/service/dynamodb/item/dynamodb-item-attribute.d.ts +3 -3
- package/dist/service/dynamodb/item/dynamodb-item-attribute.d.ts.map +1 -1
- package/dist/service/dynamodb/item/dynamodb-item-attribute.js +10 -10
- package/dist/service/dynamodb/item/dynamodb-item-attribute.js.map +1 -1
- package/dist/service/dynamodb/item/dynamodb-item.d.ts +3 -3
- package/dist/service/dynamodb/item/dynamodb-item.d.ts.map +1 -1
- package/dist/service/dynamodb/item/dynamodb-item.js.map +1 -1
- package/dist/service/dynamodb/sim-dynamodb.d.ts +15 -7
- package/dist/service/dynamodb/sim-dynamodb.d.ts.map +1 -1
- package/dist/service/dynamodb/sim-dynamodb.js +11 -6
- package/dist/service/dynamodb/sim-dynamodb.js.map +1 -1
- package/dist/service/dynamodb/table/dynamodb-key-schema.d.ts +9 -15
- package/dist/service/dynamodb/table/dynamodb-key-schema.d.ts.map +1 -1
- package/dist/service/dynamodb/table/dynamodb-key-schema.js +29 -35
- package/dist/service/dynamodb/table/dynamodb-key-schema.js.map +1 -1
- package/dist/service/dynamodb/table/dynamodb-table.d.ts +14 -8
- package/dist/service/dynamodb/table/dynamodb-table.d.ts.map +1 -1
- package/dist/service/dynamodb/table/dynamodb-table.js +9 -7
- package/dist/service/dynamodb/table/dynamodb-table.js.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts +9 -6
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket.js +4 -5
- package/dist/service/s3/bucket/sim-s3-bucket.js.map +1 -1
- package/dist/service/s3/bucket/website/s3-bucket-website.d.ts +2 -2
- package/dist/service/s3/bucket/website/s3-bucket-website.d.ts.map +1 -1
- package/dist/service/s3/bucket/website/s3-bucket-website.js.map +1 -1
- package/dist/service/s3/command/create-bucket/create-bucket.cmd.d.ts +21 -0
- package/dist/service/s3/command/create-bucket/create-bucket.cmd.d.ts.map +1 -0
- package/dist/service/s3/command/create-bucket/create-bucket.cmd.js +2 -0
- package/dist/service/s3/command/create-bucket/create-bucket.cmd.js.map +1 -0
- package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts +10 -4
- package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts.map +1 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js +12 -18
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js.map +1 -1
- package/dist/service/s3/command/get-object/get-object.cmd.d.ts +23 -0
- package/dist/service/s3/command/get-object/get-object.cmd.d.ts.map +1 -0
- package/dist/service/s3/command/get-object/get-object.cmd.js +2 -0
- package/dist/service/s3/command/get-object/get-object.cmd.js.map +1 -0
- package/dist/service/s3/command/get-object/get-object.handler.d.ts +8 -4
- package/dist/service/s3/command/get-object/get-object.handler.d.ts.map +1 -1
- package/dist/service/s3/command/get-object/get-object.handler.js +5 -11
- package/dist/service/s3/command/get-object/get-object.handler.js.map +1 -1
- package/dist/service/s3/command/list-buckets/list-buckets.cmd.d.ts +30 -0
- package/dist/service/s3/command/list-buckets/list-buckets.cmd.d.ts.map +1 -0
- package/dist/service/s3/command/list-buckets/list-buckets.cmd.js +2 -0
- package/dist/service/s3/command/list-buckets/list-buckets.cmd.js.map +1 -0
- package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts +8 -4
- package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts.map +1 -1
- package/dist/service/s3/command/list-buckets/list-buckets.handler.js +2 -2
- package/dist/service/s3/command/list-buckets/list-buckets.handler.js.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects.cmd.d.ts +36 -0
- package/dist/service/s3/command/list-objects/list-objects.cmd.d.ts.map +1 -0
- package/dist/service/s3/command/list-objects/list-objects.cmd.js +2 -0
- package/dist/service/s3/command/list-objects/list-objects.cmd.js.map +1 -0
- package/dist/service/s3/command/list-objects/list-objects.handler.d.ts +8 -4
- package/dist/service/s3/command/list-objects/list-objects.handler.d.ts.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.js +4 -7
- package/dist/service/s3/command/list-objects/list-objects.handler.js.map +1 -1
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.cmd.d.ts +72 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.cmd.d.ts.map +1 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.cmd.js +2 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.cmd.js.map +1 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts +8 -4
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts.map +1 -1
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js +4 -7
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js.map +1 -1
- package/dist/service/s3/command/put-object/put-object.cmd.d.ts +30 -0
- package/dist/service/s3/command/put-object/put-object.cmd.d.ts.map +1 -0
- package/dist/service/s3/command/put-object/put-object.cmd.js +2 -0
- package/dist/service/s3/command/put-object/put-object.cmd.js.map +1 -0
- package/dist/service/s3/command/put-object/put-object.handler.d.ts +8 -4
- package/dist/service/s3/command/put-object/put-object.handler.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object.handler.js +9 -8
- package/dist/service/s3/command/put-object/put-object.handler.js.map +1 -1
- package/dist/service/s3/error/s3.error.d.ts +42 -0
- package/dist/service/s3/error/s3.error.d.ts.map +1 -0
- package/dist/service/s3/error/s3.error.js +47 -0
- package/dist/service/s3/error/s3.error.js.map +1 -0
- package/dist/service/s3/index.d.ts +0 -1
- package/dist/service/s3/index.d.ts.map +1 -1
- package/dist/service/s3/index.js +0 -1
- package/dist/service/s3/index.js.map +1 -1
- package/dist/service/s3/object/s3-object.d.ts +7 -1
- package/dist/service/s3/object/s3-object.d.ts.map +1 -1
- package/dist/service/s3/object/s3-object.js +2 -1
- package/dist/service/s3/object/s3-object.js.map +1 -1
- package/dist/service/s3/serve/sim-s3-controller.d.ts +6 -3
- package/dist/service/s3/serve/sim-s3-controller.d.ts.map +1 -1
- package/dist/service/s3/serve/sim-s3-controller.js +4 -2
- package/dist/service/s3/serve/sim-s3-controller.js.map +1 -1
- package/dist/service/s3/serve/sim-s3-req-router.d.ts +6 -3
- package/dist/service/s3/serve/sim-s3-req-router.d.ts.map +1 -1
- package/dist/service/s3/serve/sim-s3-req-router.js +5 -3
- package/dist/service/s3/serve/sim-s3-req-router.js.map +1 -1
- package/dist/service/s3/sim-s3.d.ts +19 -9
- package/dist/service/s3/sim-s3.d.ts.map +1 -1
- package/dist/service/s3/sim-s3.js +16 -9
- package/dist/service/s3/sim-s3.js.map +1 -1
- package/dist/service/s3/storage/s3-filesystem-storage.d.ts +6 -1
- package/dist/service/s3/storage/s3-filesystem-storage.d.ts.map +1 -1
- package/dist/service/s3/storage/s3-filesystem-storage.js +10 -6
- package/dist/service/s3/storage/s3-filesystem-storage.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +11 -26
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
/**
|
|
3
|
+
* Converts between native Fetch API Request/Response objects and the
|
|
4
|
+
* CloudFront Function event/request/response shapes.
|
|
5
|
+
*/
|
|
6
|
+
export class SimCffEventAdapter {
|
|
7
|
+
/**
|
|
8
|
+
* Adapt a Request into a ViewerRequestEvent.
|
|
9
|
+
*/
|
|
10
|
+
toViewerRequestEvent(req) {
|
|
11
|
+
return {
|
|
12
|
+
context: {
|
|
13
|
+
eventType: "viewer-request",
|
|
14
|
+
requestId: randomUUID(),
|
|
15
|
+
},
|
|
16
|
+
viewer: {
|
|
17
|
+
ip: "127.0.0.1",
|
|
18
|
+
},
|
|
19
|
+
request: this.toCffRequest(req),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Adapt a Request and Response into a ViewerResponseEvent.
|
|
24
|
+
*/
|
|
25
|
+
toViewerResponseEvent(req, res) {
|
|
26
|
+
return {
|
|
27
|
+
context: {
|
|
28
|
+
eventType: "viewer-response",
|
|
29
|
+
requestId: randomUUID(),
|
|
30
|
+
},
|
|
31
|
+
viewer: {
|
|
32
|
+
ip: "127.0.0.1",
|
|
33
|
+
},
|
|
34
|
+
request: this.toCffRequest(req),
|
|
35
|
+
response: this.toCffResponse(res),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Adapt a viewer-request CFF result into a Request or Response.
|
|
40
|
+
*/
|
|
41
|
+
fromViewerRequestResult(result, originalReq) {
|
|
42
|
+
if (this.isCffResponse(result)) {
|
|
43
|
+
return this.fromCffResponse(result);
|
|
44
|
+
}
|
|
45
|
+
return this.fromCffRequest(result, originalReq);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Adapt a viewer-response CFF result into a Response.
|
|
49
|
+
*/
|
|
50
|
+
fromViewerResponseResult(result) {
|
|
51
|
+
return this.fromCffResponse(result);
|
|
52
|
+
}
|
|
53
|
+
toCffRequest(req) {
|
|
54
|
+
const url = new URL(req.url);
|
|
55
|
+
return {
|
|
56
|
+
method: req.method,
|
|
57
|
+
uri: url.pathname,
|
|
58
|
+
headers: this.toCffHeaders(req.headers),
|
|
59
|
+
querystring: this.toCffQueryString(url.searchParams),
|
|
60
|
+
cookies: this.toCffCookies(req.headers),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
toCffResponse(res) {
|
|
64
|
+
return {
|
|
65
|
+
statusCode: res.status,
|
|
66
|
+
statusDescription: res.statusText,
|
|
67
|
+
headers: this.toCffHeaders(res.headers),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
fromCffRequest(cffReq, originalReq) {
|
|
71
|
+
const url = new URL(originalReq.url);
|
|
72
|
+
url.pathname = cffReq.uri;
|
|
73
|
+
url.search = this.fromCffQueryString(cffReq.querystring);
|
|
74
|
+
const allowsBody = !/^(get|head)$/i.test(cffReq.method);
|
|
75
|
+
return new Request(url, {
|
|
76
|
+
method: cffReq.method,
|
|
77
|
+
headers: this.fromCffHeaders(cffReq.headers, cffReq.cookies),
|
|
78
|
+
body: allowsBody ? originalReq.clone().body : null,
|
|
79
|
+
redirect: originalReq.redirect,
|
|
80
|
+
signal: originalReq.signal,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
fromCffResponse(cffRes) {
|
|
84
|
+
return new Response(this.cffResponseBody(cffRes), {
|
|
85
|
+
status: cffRes.statusCode,
|
|
86
|
+
statusText: cffRes.statusDescription ?? "",
|
|
87
|
+
headers: this.fromCffHeaders(cffRes.headers, {}),
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
cffResponseBody(cffRes) {
|
|
91
|
+
if (cffRes.body === undefined) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
if (cffRes.bodyEncoding === "base64") {
|
|
95
|
+
return Buffer.from(cffRes.body, "base64");
|
|
96
|
+
}
|
|
97
|
+
return cffRes.body;
|
|
98
|
+
}
|
|
99
|
+
toCffHeaders(headers) {
|
|
100
|
+
const cffHeaders = {};
|
|
101
|
+
for (const [name, value] of headers.entries()) {
|
|
102
|
+
cffHeaders[name.toLowerCase()] = { value };
|
|
103
|
+
}
|
|
104
|
+
return cffHeaders;
|
|
105
|
+
}
|
|
106
|
+
fromCffHeaders(headers, cookies) {
|
|
107
|
+
const nativeHeaders = new Headers();
|
|
108
|
+
for (const [name, { value }] of Object.entries(headers)) {
|
|
109
|
+
nativeHeaders.set(name, value);
|
|
110
|
+
}
|
|
111
|
+
const cookieHeader = this.fromCffCookies(cookies);
|
|
112
|
+
if (cookieHeader !== undefined) {
|
|
113
|
+
nativeHeaders.set("cookie", cookieHeader);
|
|
114
|
+
}
|
|
115
|
+
return nativeHeaders;
|
|
116
|
+
}
|
|
117
|
+
toCffQueryString(searchParams) {
|
|
118
|
+
const queryString = {};
|
|
119
|
+
for (const key of new Set(searchParams.keys())) {
|
|
120
|
+
const values = searchParams.getAll(key).map((value) => ({ value }));
|
|
121
|
+
if (values[0] !== undefined) {
|
|
122
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
123
|
+
queryString[key] = values[0];
|
|
124
|
+
if (values.length > 1) {
|
|
125
|
+
// Multi-value: first value as `value`, all values in `multiValue`
|
|
126
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
127
|
+
queryString[key] = {
|
|
128
|
+
value: values[0].value,
|
|
129
|
+
multiValue: values,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return queryString;
|
|
135
|
+
}
|
|
136
|
+
fromCffQueryString(querystring) {
|
|
137
|
+
const searchParams = new URLSearchParams();
|
|
138
|
+
for (const [key, valueOrMultiValue] of Object.entries(querystring)) {
|
|
139
|
+
if ("multiValue" in valueOrMultiValue) {
|
|
140
|
+
for (const { value } of valueOrMultiValue.multiValue) {
|
|
141
|
+
searchParams.append(key, value);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
searchParams.append(key, valueOrMultiValue.value);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return searchParams.toString();
|
|
149
|
+
}
|
|
150
|
+
toCffCookies(headers) {
|
|
151
|
+
const cookieHeader = headers.get("cookie");
|
|
152
|
+
if (cookieHeader === null) {
|
|
153
|
+
return {};
|
|
154
|
+
}
|
|
155
|
+
const cookies = {};
|
|
156
|
+
for (const cookiePair of cookieHeader.split(";")) {
|
|
157
|
+
const [rawName, ...rawValueParts] = cookiePair.trim().split("=");
|
|
158
|
+
const name = rawName?.trim();
|
|
159
|
+
if (name === undefined || name === "") {
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
163
|
+
cookies[name] = {
|
|
164
|
+
value: rawValueParts.join("=").trim(),
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
return cookies;
|
|
168
|
+
}
|
|
169
|
+
fromCffCookies(cookies) {
|
|
170
|
+
const cookiePairs = Object.entries(cookies).map(([name, { value }]) => `${name}=${value}`);
|
|
171
|
+
return cookiePairs.length === 0 ? undefined : cookiePairs.join("; ");
|
|
172
|
+
}
|
|
173
|
+
isCffResponse(result) {
|
|
174
|
+
return "statusCode" in result;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=sim-cff-event-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cff-event-adapter.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/cff/adapter/sim-cff-event-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { CloudFrontFunction } from "../../typings/cloudfront-functions.namespace.js";
|
|
2
|
+
import type { SimCreateFunctionCommand } from "../../command/create-function/create-function.cmd.js";
|
|
3
|
+
type FunctionCodeInput = SimCreateFunctionCommand["input"]["FunctionCode"];
|
|
4
|
+
/**
|
|
5
|
+
* Convert a handler function reference into a Uint8Array for input in the
|
|
6
|
+
* CloudFront CreateFunction Command input FunctionCode.
|
|
7
|
+
*/
|
|
8
|
+
export declare function makeCffFunctionCodeInput(handlerFunction: CloudFrontFunction.Handler): FunctionCodeInput;
|
|
9
|
+
/**
|
|
10
|
+
* A little trick to allow passing a handler function into CreateFunctionCommand
|
|
11
|
+
* input as if it were a Uint8Array without TypeScript complaining.
|
|
12
|
+
*/
|
|
13
|
+
export declare class CffUint8ArrayStowaway extends Uint8Array {
|
|
14
|
+
private _handlerFunction;
|
|
15
|
+
/**
|
|
16
|
+
* Stowaway the real handler function in this Uint8Array disguise.
|
|
17
|
+
*/
|
|
18
|
+
stowawayHandlerFunction(handlerFunction: CloudFrontFunction.Handler): this;
|
|
19
|
+
/**
|
|
20
|
+
* Get the handler function stowed away in this Uint8Array disguise.
|
|
21
|
+
*/
|
|
22
|
+
get handlerFunction(): CloudFrontFunction.Handler;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Extracts a handler function as a function reference, either from source
|
|
26
|
+
* code in a Uint8Array or from a function-code-input.
|
|
27
|
+
*/
|
|
28
|
+
export declare class CffUint8ArrayFunctionCodeExtractor<H extends CloudFrontFunction.Handler = CloudFrontFunction.ViewerRequestHandler> {
|
|
29
|
+
private readonly functionCodeInput;
|
|
30
|
+
constructor(functionCodeInput: FunctionCodeInput);
|
|
31
|
+
/**
|
|
32
|
+
* Extract the handler function.
|
|
33
|
+
*/
|
|
34
|
+
extractHandlerFunction(): H;
|
|
35
|
+
private extractUint8ArraySourceCode;
|
|
36
|
+
}
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=cff-function-code-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cff-function-code-input.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/cff/function-code-input/cff-function-code-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAE1F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAGrG,KAAK,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC;AAE3E;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,kBAAkB,CAAC,OAAO,GAC1C,iBAAiB,CAInB;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IACnD,OAAO,CAAC,gBAAgB,CAAiD;IAEzE;;OAEG;IACH,uBAAuB,CAAC,eAAe,EAAE,kBAAkB,CAAC,OAAO,GAAG,IAAI;IAK1E;;OAEG;IACH,IAAI,eAAe,IAAI,kBAAkB,CAAC,OAAO,CAEhD;CACF;AAED;;;GAGG;AACH,qBAAa,kCAAkC,CAC7C,CAAC,SAAS,kBAAkB,CAAC,OAAO,GAClC,kBAAkB,CAAC,oBAAoB;IAE7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,iBAAiB;IAEjE;;OAEG;IACH,sBAAsB,IAAI,CAAC;IAQ3B,OAAO,CAAC,2BAA2B;CAsBpC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { defaultCffHandler } from "../sim-cloudfront-function.js";
|
|
2
|
+
import vm from "node:vm";
|
|
3
|
+
/**
|
|
4
|
+
* Convert a handler function reference into a Uint8Array for input in the
|
|
5
|
+
* CloudFront CreateFunction Command input FunctionCode.
|
|
6
|
+
*/
|
|
7
|
+
export function makeCffFunctionCodeInput(handlerFunction) {
|
|
8
|
+
const stowaway = new CffUint8ArrayStowaway();
|
|
9
|
+
stowaway.stowawayHandlerFunction(handlerFunction);
|
|
10
|
+
return stowaway;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* A little trick to allow passing a handler function into CreateFunctionCommand
|
|
14
|
+
* input as if it were a Uint8Array without TypeScript complaining.
|
|
15
|
+
*/
|
|
16
|
+
export class CffUint8ArrayStowaway extends Uint8Array {
|
|
17
|
+
_handlerFunction = defaultCffHandler;
|
|
18
|
+
/**
|
|
19
|
+
* Stowaway the real handler function in this Uint8Array disguise.
|
|
20
|
+
*/
|
|
21
|
+
stowawayHandlerFunction(handlerFunction) {
|
|
22
|
+
this._handlerFunction = handlerFunction;
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get the handler function stowed away in this Uint8Array disguise.
|
|
27
|
+
*/
|
|
28
|
+
get handlerFunction() {
|
|
29
|
+
return this._handlerFunction;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Extracts a handler function as a function reference, either from source
|
|
34
|
+
* code in a Uint8Array or from a function-code-input.
|
|
35
|
+
*/
|
|
36
|
+
export class CffUint8ArrayFunctionCodeExtractor {
|
|
37
|
+
functionCodeInput;
|
|
38
|
+
constructor(functionCodeInput) {
|
|
39
|
+
this.functionCodeInput = functionCodeInput;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Extract the handler function.
|
|
43
|
+
*/
|
|
44
|
+
extractHandlerFunction() {
|
|
45
|
+
if (this.functionCodeInput instanceof CffUint8ArrayStowaway) {
|
|
46
|
+
return this.functionCodeInput.handlerFunction;
|
|
47
|
+
}
|
|
48
|
+
return this.extractUint8ArraySourceCode();
|
|
49
|
+
}
|
|
50
|
+
extractUint8ArraySourceCode() {
|
|
51
|
+
const source = Buffer.from(this.functionCodeInput ?? "").toString();
|
|
52
|
+
const context = vm.createContext({
|
|
53
|
+
console,
|
|
54
|
+
});
|
|
55
|
+
const script = new vm.Script(`
|
|
56
|
+
${source}
|
|
57
|
+
handler;
|
|
58
|
+
`);
|
|
59
|
+
const handler = script.runInContext(context, {
|
|
60
|
+
timeout: 10, // Real CloudFront Functions have a short timeout.
|
|
61
|
+
breakOnSigint: true,
|
|
62
|
+
});
|
|
63
|
+
if (typeof handler !== "function") {
|
|
64
|
+
throw new TypeError("CloudFront Function code did not define a handler function");
|
|
65
|
+
}
|
|
66
|
+
return handler;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=cff-function-code-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cff-function-code-input.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/cff/function-code-input/cff-function-code-input.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIzB;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,eAA2C;IAE3C,MAAM,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAC7C,QAAQ,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;IAClD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IAC3C,gBAAgB,GAA+B,iBAAiB,CAAC;IAEzE;;OAEG;IACH,uBAAuB,CAAC,eAA2C;QACjE,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,kCAAkC;IAIhB;IAA7B,YAA6B,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAErE;;OAEG;IACH,sBAAsB;QACpB,IAAI,IAAI,CAAC,iBAAiB,YAAY,qBAAqB,EAAE,CAAC;YAC5D,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAoB,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,CAAC,2BAA2B,EAAE,CAAC;IAC5C,CAAC;IAEO,2BAA2B;QACjC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpE,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC;YAC/B,OAAO;SACR,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC;MAC3B,MAAM;;KAEP,CAAC,CAAC;QACH,MAAM,OAAO,GAAY,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE;YACpD,OAAO,EAAE,EAAE,EAAE,kDAAkD;YAC/D,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,SAAS,CACjB,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QAED,OAAO,OAAY,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { CloudFrontFunction } from "../typings/cloudfront-functions.namespace.js";
|
|
2
|
+
import { SimCffEventAdapter } from "./adapter/sim-cff-event-adapter.js";
|
|
3
|
+
import type { Brand } from "../../../util/brand.type.js";
|
|
4
|
+
import type { SimArn } from "../../aws/arn.js";
|
|
5
|
+
import { type SimAwsAccountId } from "../../aws/sim-aws-account.js";
|
|
6
|
+
export type SimCloudFrontFunctionName = Brand<string, "SimCloudFrontFunctionName">;
|
|
7
|
+
export type CloudFrontFunctionStatus = "UNPUBLISHED" | "UNASSOCIATED" | "ASSOCIATED";
|
|
8
|
+
interface SimCloudFrontFunctionProps {
|
|
9
|
+
name: SimCloudFrontFunctionName | string;
|
|
10
|
+
status?: CloudFrontFunctionStatus;
|
|
11
|
+
readonly accountId?: SimAwsAccountId;
|
|
12
|
+
handlerFunction?: CloudFrontFunction.Handler;
|
|
13
|
+
eventAdapter?: SimCffEventAdapter;
|
|
14
|
+
}
|
|
15
|
+
export declare const defaultCffHandler: CloudFrontFunction.Handler;
|
|
16
|
+
/**
|
|
17
|
+
* Simulated CloudFront Function resource.
|
|
18
|
+
*/
|
|
19
|
+
export declare class SimCloudFrontFunction {
|
|
20
|
+
readonly name: SimCloudFrontFunctionName;
|
|
21
|
+
private _status;
|
|
22
|
+
readonly accountId: SimAwsAccountId;
|
|
23
|
+
private readonly handlerFunction;
|
|
24
|
+
private readonly eventAdapter;
|
|
25
|
+
constructor(props: SimCloudFrontFunctionProps);
|
|
26
|
+
/**
|
|
27
|
+
* Get the current status of this sim CloudFront Function.
|
|
28
|
+
*/
|
|
29
|
+
get status(): CloudFrontFunctionStatus;
|
|
30
|
+
/**
|
|
31
|
+
* Get the ARN for this sim CloudFront Function.
|
|
32
|
+
*/
|
|
33
|
+
get arn(): SimArn;
|
|
34
|
+
/**
|
|
35
|
+
* Move this sim CloudFront Function to the PUBLISHED status.
|
|
36
|
+
*/
|
|
37
|
+
publish(): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Run the viewer-request CFF handler on a native Request.
|
|
40
|
+
*/
|
|
41
|
+
handleViewerRequest(req: Request): Request | Response;
|
|
42
|
+
/**
|
|
43
|
+
* Run the viewer-response CFF handler on a native Request and Response.
|
|
44
|
+
*/
|
|
45
|
+
handleViewerResponse(req: Request, res: Response): Response;
|
|
46
|
+
}
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=sim-cloudfront-function.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cloudfront-function.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/cff/sim-cloudfront-function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAC3C,MAAM,EACN,2BAA2B,CAC5B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC,aAAa,GACb,cAAc,GACd,YAAY,CAAC;AAEjB,UAAU,0BAA0B;IAClC,IAAI,EAAE,yBAAyB,GAAG,MAAM,CAAC;IACzC,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IACrC,eAAe,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC;IAC7C,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAED,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,CAAC,OAOlD,CAAC;AAEF;;GAEG;AACH,qBAAa,qBAAqB;IAChC,SAAgB,IAAI,EAAE,yBAAyB,CAAC;IAChD,OAAO,CAAC,OAAO,CAA2B;IAC1C,SAAgB,SAAS,EAAE,eAAe,CAAC;IAE3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;gBAEtC,KAAK,EAAE,0BAA0B;IAe7C;;OAEG;IACH,IAAI,MAAM,IAAI,wBAAwB,CAErC;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB;;OAEG;IACH,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ;IAUrD;;OAEG;IACH,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,QAAQ;CAS5D"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { SimCffEventAdapter } from "./adapter/sim-cff-event-adapter.js";
|
|
2
|
+
import { makeSimAwsAccountId, } from "../../aws/sim-aws-account.js";
|
|
3
|
+
export const defaultCffHandler = (event) => {
|
|
4
|
+
if (event.context.eventType === "viewer-response") {
|
|
5
|
+
return event.response;
|
|
6
|
+
}
|
|
7
|
+
return event.request;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Simulated CloudFront Function resource.
|
|
11
|
+
*/
|
|
12
|
+
export class SimCloudFrontFunction {
|
|
13
|
+
name;
|
|
14
|
+
_status;
|
|
15
|
+
accountId;
|
|
16
|
+
handlerFunction;
|
|
17
|
+
eventAdapter;
|
|
18
|
+
constructor(props) {
|
|
19
|
+
const { name, status = "UNPUBLISHED", accountId = makeSimAwsAccountId(), handlerFunction = defaultCffHandler, eventAdapter = new SimCffEventAdapter(), } = props;
|
|
20
|
+
this.name = name;
|
|
21
|
+
this._status = status;
|
|
22
|
+
this.accountId = accountId;
|
|
23
|
+
this.handlerFunction = handlerFunction;
|
|
24
|
+
this.eventAdapter = eventAdapter;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get the current status of this sim CloudFront Function.
|
|
28
|
+
*/
|
|
29
|
+
get status() {
|
|
30
|
+
return this._status;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get the ARN for this sim CloudFront Function.
|
|
34
|
+
*/
|
|
35
|
+
get arn() {
|
|
36
|
+
return `arn:aws:cloudfront::${this.accountId}:function/${this.name}`;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Move this sim CloudFront Function to the PUBLISHED status.
|
|
40
|
+
*/
|
|
41
|
+
publish() {
|
|
42
|
+
this._status = "UNASSOCIATED";
|
|
43
|
+
return Promise.resolve();
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Run the viewer-request CFF handler on a native Request.
|
|
47
|
+
*/
|
|
48
|
+
handleViewerRequest(req) {
|
|
49
|
+
const cffEvent = this.eventAdapter.toViewerRequestEvent(req);
|
|
50
|
+
const handlerFunction = this
|
|
51
|
+
.handlerFunction;
|
|
52
|
+
const cffResult = handlerFunction(cffEvent);
|
|
53
|
+
return this.eventAdapter.fromViewerRequestResult(cffResult, req);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Run the viewer-response CFF handler on a native Request and Response.
|
|
57
|
+
*/
|
|
58
|
+
handleViewerResponse(req, res) {
|
|
59
|
+
const cffEvent = this.eventAdapter.toViewerResponseEvent(req, res);
|
|
60
|
+
const handlerFunction = this
|
|
61
|
+
.handlerFunction;
|
|
62
|
+
const cffResult = handlerFunction(cffEvent);
|
|
63
|
+
return this.eventAdapter.fromViewerResponseResult(cffResult);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=sim-cloudfront-function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cloudfront-function.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/cff/sim-cloudfront-function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAGxE,OAAO,EACL,mBAAmB,GAEpB,MAAM,8BAA8B,CAAC;AAoBtC,MAAM,CAAC,MAAM,iBAAiB,GAA+B,CAC3D,KAA+B,EAC/B,EAAE;IACF,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC;QAClD,OAAQ,KAAgD,CAAC,QAAQ,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,qBAAqB;IAChB,IAAI,CAA4B;IACxC,OAAO,CAA2B;IAC1B,SAAS,CAAkB;IAE1B,eAAe,CAA6B;IAC5C,YAAY,CAAqB;IAElD,YAAY,KAAiC;QAC3C,MAAM,EACJ,IAAI,EACJ,MAAM,GAAG,aAAa,EACtB,SAAS,GAAG,mBAAmB,EAAE,EACjC,eAAe,GAAG,iBAAiB,EACnC,YAAY,GAAG,IAAI,kBAAkB,EAAE,GACxC,GAAG,KAAK,CAAC;QACV,IAAI,CAAC,IAAI,GAAG,IAAiC,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,GAAG;QACL,OAAO,uBAAuB,IAAI,CAAC,SAAS,aAAa,IAAI,CAAC,IAAI,EAAE,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;QAC9B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,GAAY;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAE7D,MAAM,eAAe,GAAG,IAAI;aACzB,eAA0D,CAAC;QAC9D,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,GAAY,EAAE,GAAa;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAEnE,MAAM,eAAe,GAAG,IAAI;aACzB,eAA2D,CAAC;QAC/D,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;CACF"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal structural sim CloudFront CreateDistribution command.
|
|
3
|
+
*/
|
|
4
|
+
export interface SimCreateDistributionCommand {
|
|
5
|
+
readonly input: SimCreateDistributionCommandInput;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Minimal structural sim CloudFront CreateDistribution input.
|
|
9
|
+
*/
|
|
10
|
+
export interface SimCreateDistributionCommandInput {
|
|
11
|
+
readonly DistributionConfig?: SimCloudFrontDistributionConfig | undefined;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Minimal structural sim CloudFront CreateDistribution output.
|
|
15
|
+
*/
|
|
16
|
+
export interface SimCreateDistributionCommandOutput {
|
|
17
|
+
readonly Distribution?: {
|
|
18
|
+
readonly Id?: string | undefined;
|
|
19
|
+
readonly ARN?: string | undefined;
|
|
20
|
+
readonly Status?: string | undefined;
|
|
21
|
+
readonly LastModifiedTime?: Date | undefined;
|
|
22
|
+
readonly InProgressInvalidationBatches?: number | undefined;
|
|
23
|
+
readonly DomainName?: string | undefined;
|
|
24
|
+
readonly DistributionConfig?: SimCloudFrontDistributionConfig | undefined;
|
|
25
|
+
} | undefined;
|
|
26
|
+
readonly Location?: string | undefined;
|
|
27
|
+
readonly $metadata: Record<string, unknown>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Minimal structural sim CloudFront DistributionConfig.
|
|
31
|
+
*/
|
|
32
|
+
export interface SimCloudFrontDistributionConfig {
|
|
33
|
+
readonly Aliases?: {
|
|
34
|
+
readonly Items?: readonly string[] | undefined;
|
|
35
|
+
} | undefined;
|
|
36
|
+
readonly Origins?: {
|
|
37
|
+
readonly Items?: readonly SimCloudFrontOriginConfig[] | undefined;
|
|
38
|
+
} | undefined;
|
|
39
|
+
readonly DefaultCacheBehavior?: SimCloudFrontDefaultCacheBehaviorConfig | undefined;
|
|
40
|
+
readonly CacheBehaviors?: {
|
|
41
|
+
readonly Items?: readonly SimCloudFrontCacheBehaviorConfig[] | undefined;
|
|
42
|
+
} | undefined;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Minimal structural sim CloudFront Origin config.
|
|
46
|
+
*/
|
|
47
|
+
export interface SimCloudFrontOriginConfig {
|
|
48
|
+
readonly Id?: string | undefined;
|
|
49
|
+
readonly DomainName?: string | undefined;
|
|
50
|
+
readonly OriginPath?: string | undefined;
|
|
51
|
+
readonly S3OriginConfig?: object | undefined;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Minimal structural sim CloudFront default cache behavior config.
|
|
55
|
+
*/
|
|
56
|
+
export interface SimCloudFrontDefaultCacheBehaviorConfig {
|
|
57
|
+
readonly TargetOriginId?: string | undefined;
|
|
58
|
+
readonly AllowedMethods?: SimCloudFrontAllowedMethods | undefined;
|
|
59
|
+
readonly ViewerProtocolPolicy?: SimCloudFrontViewerProtocolPolicy | undefined;
|
|
60
|
+
readonly FunctionAssociations?: SimCloudFrontFunctionAssociations | undefined;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Minimal structural sim CloudFront cache behavior config.
|
|
64
|
+
*/
|
|
65
|
+
export interface SimCloudFrontCacheBehaviorConfig extends SimCloudFrontDefaultCacheBehaviorConfig {
|
|
66
|
+
readonly PathPattern?: string | undefined;
|
|
67
|
+
readonly FunctionAssociations?: SimCloudFrontFunctionAssociations | undefined;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Minimal structural sim CloudFront function associations list.
|
|
71
|
+
*/
|
|
72
|
+
export interface SimCloudFrontFunctionAssociations {
|
|
73
|
+
readonly Quantity?: number | undefined;
|
|
74
|
+
readonly Items?: readonly SimCloudFrontFunctionAssociation[] | undefined;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Minimal structural sim CloudFront function association.
|
|
78
|
+
*/
|
|
79
|
+
export interface SimCloudFrontFunctionAssociation {
|
|
80
|
+
readonly EventType?: "viewer-request" | "viewer-response" | "origin-request" | "origin-response" | undefined;
|
|
81
|
+
readonly FunctionARN?: string | undefined;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Minimal structural sim CloudFront allowed methods list.
|
|
85
|
+
*/
|
|
86
|
+
export interface SimCloudFrontAllowedMethods {
|
|
87
|
+
readonly Items?: readonly string[] | undefined;
|
|
88
|
+
readonly CachedMethods?: SimCloudFrontMethodList | undefined;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Minimal structural sim CloudFront method list.
|
|
92
|
+
*/
|
|
93
|
+
export interface SimCloudFrontMethodList {
|
|
94
|
+
readonly Items?: readonly string[] | undefined;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Minimal structural sim CloudFront viewer protocol policy.
|
|
98
|
+
*/
|
|
99
|
+
export type SimCloudFrontViewerProtocolPolicy = "allow-all" | "redirect-to-https" | "https-only";
|
|
100
|
+
//# sourceMappingURL=create-distribution.cmd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-distribution.cmd.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-distribution/create-distribution.cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-distribution.cmd.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-distribution/create-distribution.cmd.ts"],"names":[],"mappings":""}
|
package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts
CHANGED
|
@@ -1,29 +1,33 @@
|
|
|
1
1
|
import type { CommandHandler } from "../../../../command/command-handler.js";
|
|
2
|
-
import type {
|
|
2
|
+
import type { SimCreateDistributionCommand, SimCreateDistributionCommandOutput } from "./create-distribution.cmd.js";
|
|
3
3
|
import type { SimCloudFrontRegistry } from "../../sim-cloud-front-registry.js";
|
|
4
4
|
import { SimCloudFrontDistribution, type SimCloudFrontDistributionId } from "../../distribution/sim-cloudfront-distribution.js";
|
|
5
5
|
import type { SimAwsAccountId } from "../../../aws/sim-aws-account.js";
|
|
6
|
-
import {
|
|
6
|
+
import type { SimCloudFrontS3OriginResolver } from "../../origin/sim-cloudfront-s3-origin.js";
|
|
7
|
+
import type { BackgroundScheduler } from "../../../../util/background/background.js";
|
|
8
|
+
interface CreateDistributionCommandHandlerProps {
|
|
9
|
+
readonly accountId: SimAwsAccountId;
|
|
10
|
+
readonly distributions: Map<SimCloudFrontDistributionId, SimCloudFrontDistribution>;
|
|
11
|
+
readonly cloudFrontRegistry: SimCloudFrontRegistry;
|
|
12
|
+
readonly s3OriginResolver: SimCloudFrontS3OriginResolver;
|
|
13
|
+
readonly background: BackgroundScheduler;
|
|
14
|
+
}
|
|
7
15
|
/**
|
|
8
16
|
* CloudFront CreateDistributionCommand handler.
|
|
9
17
|
*
|
|
10
18
|
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/command/CreateDistributionCommand/
|
|
11
19
|
*/
|
|
12
|
-
export declare class CreateDistributionCommandHandler implements CommandHandler<
|
|
20
|
+
export declare class CreateDistributionCommandHandler implements CommandHandler<SimCreateDistributionCommand, SimCreateDistributionCommandOutput> {
|
|
13
21
|
private readonly accountId;
|
|
14
22
|
private readonly distributions;
|
|
15
23
|
private readonly cloudFrontRegistry;
|
|
16
|
-
private readonly
|
|
17
|
-
|
|
24
|
+
private readonly distributionConfigurator;
|
|
25
|
+
private readonly background;
|
|
26
|
+
constructor(props: CreateDistributionCommandHandlerProps);
|
|
18
27
|
/**
|
|
19
28
|
* Handle creation of a new CloudFront Distribution.
|
|
20
29
|
*/
|
|
21
|
-
handle(cmd:
|
|
22
|
-
private configureDistribution;
|
|
23
|
-
private configureOrigin;
|
|
24
|
-
private behaviorFromDefaultCacheBehavior;
|
|
25
|
-
private behaviorFromCacheBehavior;
|
|
26
|
-
private requiredTargetOriginId;
|
|
27
|
-
private methods;
|
|
30
|
+
handle(cmd: SimCreateDistributionCommand): Promise<SimCreateDistributionCommandOutput>;
|
|
28
31
|
}
|
|
32
|
+
export {};
|
|
29
33
|
//# sourceMappingURL=create-distribution.handler.d.ts.map
|
package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-distribution.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-distribution/create-distribution.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"create-distribution.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-distribution/create-distribution.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,4BAA4B,EAC5B,kCAAkC,EACnC,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE/E,OAAO,EACL,yBAAyB,EACzB,KAAK,2BAA2B,EACjC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAKrF,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,GAAG,CACzB,2BAA2B,EAC3B,yBAAyB,CAC1B,CAAC;IACF,QAAQ,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;IACnD,QAAQ,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;IACzD,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC1C;AAED;;;;GAIG;AACH,qBAAa,gCAAiC,YAAW,cAAc,CACrE,4BAA4B,EAC5B,kCAAkC,CACnC;IACC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAG5B;IACF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAC3D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAwC;IACjF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;gBAErC,KAAK,EAAE,qCAAqC;IAWxD;;OAEG;IACG,MAAM,CACV,GAAG,EAAE,4BAA4B,GAChC,OAAO,CAAC,kCAAkC,CAAC;CA0C/C"}
|