@kensio/yulin 1.10.2 → 1.10.4
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/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.d.ts +8 -17
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.d.ts.map +1 -1
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.js +24 -102
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.js.map +1 -1
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-cors-config.d.ts +13 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-cors-config.d.ts.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-cors-config.js +76 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-cors-config.js.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-custom-headers.d.ts +17 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-custom-headers.d.ts.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-custom-headers.js +45 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-custom-headers.js.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-field-reader.d.ts +37 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-field-reader.d.ts.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-field-reader.js +75 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-field-reader.js.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-security-headers.d.ts +11 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-security-headers.d.ts.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-security-headers.js +30 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-security-headers.js.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-security-values.d.ts +19 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-security-values.d.ts.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-security-values.js +72 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-security-values.js.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-server-timing.d.ts +13 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-server-timing.d.ts.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-server-timing.js +24 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-server-timing.js.map +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +2 -0
- 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.map +1 -1
- package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.d.ts +2 -0
- package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.js.map +1 -1
- package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.d.ts +1 -1
- package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.js +2 -2
- package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.js.map +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts +1 -0
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.js +8 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.js.map +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-error-response.d.ts +22 -0
- package/dist/service/cloudfront/controller/sim-cloudfront-error-response.d.ts.map +1 -0
- package/dist/service/cloudfront/controller/sim-cloudfront-error-response.js +31 -0
- package/dist/service/cloudfront/controller/sim-cloudfront-error-response.js.map +1 -0
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-properties.d.ts +9 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-properties.d.ts.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-properties.js +34 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-properties.js.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.d.ts +29 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.d.ts.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.js +51 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.js.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.d.ts +2 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.d.ts.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.js +3 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.js.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.d.ts +3 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.d.ts.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js +7 -32
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.d.ts +14 -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 +16 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.js.map +1 -1
- package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.d.ts +7 -3
- package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.d.ts.map +1 -1
- package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.js +6 -3
- package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.js.map +1 -1
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +11 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts.map +1 -1
- package/dist/service/cloudfront/error/sim-cloudfront.error.js +13 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.js.map +1 -1
- package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.d.ts.map +1 -1
- package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.js +7 -1
- package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.js.map +1 -1
- package/dist/service/cloudfront/response-headers-policy/sim-cf-cors-origin-pattern.d.ts +27 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-cors-origin-pattern.d.ts.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-cors-origin-pattern.js +70 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-cors-origin-pattern.js.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.d.ts +44 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.d.ts.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.js +111 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.js.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.d.ts +10 -2
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.d.ts.map +1 -1
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.js +14 -2
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.js.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront-commands.d.ts +3 -0
- package/dist/service/cloudfront/sim-cloudfront-commands.d.ts.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront-commands.js +3 -0
- package/dist/service/cloudfront/sim-cloudfront-commands.js.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.js +1 -0
- package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
- package/dist/service/rekognition/label/sim-rekognition-label-declaration.d.ts +1 -1
- package/dist/service/rekognition/moderation/sim-rekognition-moderation-taxonomy.d.ts +2 -2
- package/dist/service/rekognition/moderation/sim-rekognition-moderation-taxonomy.js +3 -3
- package/dist/service/rekognition/moderation/sim-rekognition-moderation-taxonomy.js.map +1 -1
- package/dist/service/rekognition/sim-rekognition.d.ts +4 -4
- package/dist/service/rekognition/sim-rekognition.js +4 -4
- package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts +16 -0
- package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket-access.js +22 -1
- package/dist/service/s3/bucket/sim-s3-bucket-access.js.map +1 -1
- package/dist/service/s3/command/get-object/get-object-loader.d.ts +2 -1
- package/dist/service/s3/command/get-object/get-object-loader.d.ts.map +1 -1
- package/dist/service/s3/command/get-object/get-object-loader.js +5 -1
- package/dist/service/s3/command/get-object/get-object-loader.js.map +1 -1
- package/dist/service/s3/command/get-object/get-object.command.d.ts +5 -0
- package/dist/service/s3/command/get-object/get-object.command.d.ts.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts +3 -3
- package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects-page-builder.js +13 -17
- package/dist/service/s3/command/list-objects/list-objects-page-builder.js.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects.command.d.ts +3 -8
- package/dist/service/s3/command/list-objects/list-objects.command.d.ts.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.d.ts +3 -0
- 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 +6 -2
- package/dist/service/s3/command/list-objects/list-objects.handler.js.map +1 -1
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-continuation-token.d.ts +20 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-continuation-token.d.ts.map +1 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-continuation-token.js +29 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-continuation-token.js.map +1 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.d.ts +31 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.d.ts.map +1 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.js +48 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.js.map +1 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.command.d.ts +41 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.command.d.ts.map +1 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.command.js +2 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.command.js.map +1 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.handler.d.ts +41 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.handler.d.ts.map +1 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.handler.js +64 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.handler.js.map +1 -0
- package/dist/service/s3/command/object/sim-s3-object-commands.d.ts +8 -0
- package/dist/service/s3/command/object/sim-s3-object-commands.d.ts.map +1 -1
- package/dist/service/s3/command/object/sim-s3-object-commands.js +13 -0
- package/dist/service/s3/command/object/sim-s3-object-commands.js.map +1 -1
- package/dist/service/s3/command/put-object/put-object-builder.d.ts +10 -0
- package/dist/service/s3/command/put-object/put-object-builder.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object-builder.js +8 -0
- package/dist/service/s3/command/put-object/put-object-builder.js.map +1 -1
- package/dist/service/s3/command/put-object/put-object.command.d.ts +4 -0
- package/dist/service/s3/command/put-object/put-object.command.d.ts.map +1 -1
- 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 +4 -1
- package/dist/service/s3/command/put-object/put-object.handler.js.map +1 -1
- package/dist/service/s3/command/sim-s3-bucket-command-state.d.ts +4 -1
- package/dist/service/s3/command/sim-s3-bucket-command-state.d.ts.map +1 -1
- package/dist/service/s3/command/sim-s3-command.types.d.ts +2 -1
- package/dist/service/s3/command/sim-s3-command.types.d.ts.map +1 -1
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts.map +1 -1
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +1 -2
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.js.map +1 -1
- package/dist/service/s3/object/s3-object-etag.d.ts +20 -0
- package/dist/service/s3/object/s3-object-etag.d.ts.map +1 -0
- package/dist/service/s3/object/s3-object-etag.js +25 -0
- package/dist/service/s3/object/s3-object-etag.js.map +1 -0
- package/dist/service/s3/object/s3-object-listing-limits.d.ts +26 -0
- package/dist/service/s3/object/s3-object-listing-limits.d.ts.map +1 -0
- package/dist/service/s3/object/s3-object-listing-limits.js +46 -0
- package/dist/service/s3/object/s3-object-listing-limits.js.map +1 -0
- package/dist/service/s3/object/s3-object-listing.d.ts +51 -0
- package/dist/service/s3/object/s3-object-listing.d.ts.map +1 -0
- package/dist/service/s3/object/s3-object-listing.js +64 -0
- package/dist/service/s3/object/s3-object-listing.js.map +1 -0
- package/dist/service/s3/object/s3-object-response-headers.d.ts +23 -6
- package/dist/service/s3/object/s3-object-response-headers.d.ts.map +1 -1
- package/dist/service/s3/object/s3-object-response-headers.js +18 -8
- package/dist/service/s3/object/s3-object-response-headers.js.map +1 -1
- package/dist/service/s3/object/s3-object-summary.d.ts +33 -0
- package/dist/service/s3/object/s3-object-summary.d.ts.map +1 -0
- package/dist/service/s3/object/s3-object-summary.js +40 -0
- package/dist/service/s3/object/s3-object-summary.js.map +1 -0
- package/dist/service/s3/object/s3-object.d.ts +25 -0
- package/dist/service/s3/object/s3-object.d.ts.map +1 -1
- package/dist/service/s3/object/s3-object.js +31 -1
- package/dist/service/s3/object/s3-object.js.map +1 -1
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.d.ts.map +1 -1
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +4 -0
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js.map +1 -1
- package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts.map +1 -1
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js +6 -1
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.d.ts.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +6 -1
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +13 -4
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object.js +15 -6
- package/dist/service/s3/serve/website/sim-s3-website-object.js.map +1 -1
- package/dist/service/s3/sim-s3-commands.d.ts +6 -0
- package/dist/service/s3/sim-s3-commands.d.ts.map +1 -1
- package/dist/service/s3/sim-s3-commands.js +2 -0
- package/dist/service/s3/sim-s3-commands.js.map +1 -1
- package/dist/service/s3/sim-s3.d.ts +24 -34
- package/dist/service/s3/sim-s3.d.ts.map +1 -1
- package/dist/service/s3/sim-s3.js +32 -40
- package/dist/service/s3/sim-s3.js.map +1 -1
- package/dist/service/s3/storage/filesystem/filesystem-path-exists.d.ts +8 -0
- package/dist/service/s3/storage/filesystem/filesystem-path-exists.d.ts.map +1 -1
- package/dist/service/s3/storage/filesystem/filesystem-path-exists.js +11 -1
- package/dist/service/s3/storage/filesystem/filesystem-path-exists.js.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-file.d.ts +19 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-file.d.ts.map +1 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-file.js +55 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-file.js.map +1 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-keys.d.ts +14 -4
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-keys.d.ts.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-keys.js +27 -5
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-keys.js.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts +1 -2
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js +10 -36
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js.map +1 -1
- package/dist/service/sns/signature/sim-sns-certificate.d.ts +9 -3
- package/dist/service/sns/signature/sim-sns-certificate.d.ts.map +1 -1
- package/dist/service/sns/signature/sim-sns-certificate.js +13 -8
- package/dist/service/sns/signature/sim-sns-certificate.js.map +1 -1
- package/dist/service/sns/signature/sim-sns-der.d.ts +16 -0
- package/dist/service/sns/signature/sim-sns-der.d.ts.map +1 -1
- package/dist/service/sns/signature/sim-sns-der.js +23 -0
- package/dist/service/sns/signature/sim-sns-der.js.map +1 -1
- package/package.json +1 -1
- package/dist/service/s3/notification/event/sim-s3-object-etag.d.ts +0 -8
- package/dist/service/s3/notification/event/sim-s3-object-etag.d.ts.map +0 -1
- package/dist/service/s3/notification/event/sim-s3-object-etag.js +0 -11
- package/dist/service/s3/notification/event/sim-s3-object-etag.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-object.d.ts","sourceRoot":"","sources":["../../../../src/service/s3/object/s3-object.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"s3-object.d.ts","sourceRoot":"","sources":["../../../../src/service/s3/object/s3-object.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,mBAAmB;aACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAA1D,YAA4B,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAAI;CACpE;AAED,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,QAAQ,EAAE,mBAAmB,CAAC;IAE9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAO;IAEjC,YAAY,UAAU,GAAE,qBAA0B,EAYjD;IAED;;;;;;;;;;;OAWG;IACH,IAAI,YAAY,IAAI,IAAI,CAEvB;IAED;;;;;;;;OAQG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { simS3ObjectETag } from "./s3-object-etag.js";
|
|
1
2
|
/**
|
|
2
3
|
* Simulated S3 object metadata.
|
|
3
4
|
*/
|
|
@@ -14,11 +15,40 @@ export class SimS3Object {
|
|
|
14
15
|
key;
|
|
15
16
|
body;
|
|
16
17
|
metadata;
|
|
18
|
+
writtenAt;
|
|
17
19
|
constructor(properties = {}) {
|
|
18
|
-
const { key = "object.json", body = Buffer.alloc(0), metadata = new SimS3ObjectMetadata(), } = properties;
|
|
20
|
+
const { key = "object.json", body = Buffer.alloc(0), metadata = new SimS3ObjectMetadata(), lastModified = new Date(), } = properties;
|
|
19
21
|
this.key = key;
|
|
20
22
|
this.body = body;
|
|
21
23
|
this.metadata = metadata;
|
|
24
|
+
this.writtenAt = new Date(lastModified);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* When S3 last wrote these bytes.
|
|
28
|
+
*
|
|
29
|
+
* The write path passes the simulation's own clock, so a frozen clock dates
|
|
30
|
+
* an Object at the instant it was frozen at, and filesystem-backed storage
|
|
31
|
+
* passes the file's modification time. The default is for an Object made
|
|
32
|
+
* outside either, which has no clock to ask and is being made now.
|
|
33
|
+
*
|
|
34
|
+
* A copy, because a Date is mutable and every read of an Object hands this
|
|
35
|
+
* one out: a caller that adjusted the Date it was given would otherwise
|
|
36
|
+
* change what the Bucket reports from then on.
|
|
37
|
+
*/
|
|
38
|
+
get lastModified() {
|
|
39
|
+
return new Date(this.writtenAt);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The ETag S3 identifies this Object's content by.
|
|
43
|
+
*
|
|
44
|
+
* Held as the bare digest rather than the quoted form a response carries,
|
|
45
|
+
* because the two surfaces disagree about the quotes and only one of them can
|
|
46
|
+
* be the stored value. It is computed on each read rather than kept, since a
|
|
47
|
+
* Buffer can be written to in place and an ETag remembered from before that
|
|
48
|
+
* would describe bytes the Bucket no longer holds.
|
|
49
|
+
*/
|
|
50
|
+
get etag() {
|
|
51
|
+
return simS3ObjectETag(this.body);
|
|
22
52
|
}
|
|
23
53
|
}
|
|
24
54
|
//# sourceMappingURL=s3-object.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-object.js","sourceRoot":"","sources":["../../../../src/service/s3/object/s3-object.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,mBAAmB;IACF,MAAM;IAAlC,YAA4B,MAAM,GAA2B,EAAE;sBAAnC,MAAM;IAAgC,CAAC;CACpE;
|
|
1
|
+
{"version":3,"file":"s3-object.js","sourceRoot":"","sources":["../../../../src/service/s3/object/s3-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;GAEG;AACH,MAAM,OAAO,mBAAmB;IACF,MAAM;IAAlC,YAA4B,MAAM,GAA2B,EAAE;sBAAnC,MAAM;IAAgC,CAAC;CACpE;AASD;;GAEG;AACH,MAAM,OAAO,WAAW;IACN,GAAG,CAAS;IACZ,IAAI,CAAS;IACb,QAAQ,CAAsB;IAE7B,SAAS,CAAO;IAEjC,YAAY,UAAU,GAA0B,EAAE;QAChD,MAAM,EACJ,GAAG,GAAG,aAAa,EACnB,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EACtB,QAAQ,GAAG,IAAI,mBAAmB,EAAE,EACpC,YAAY,GAAG,IAAI,IAAI,EAAE,GAC1B,GAAG,UAAU,CAAC;QAEf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;OAWG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;OAQG;IACH,IAAI,IAAI;QACN,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-sdk-command-router.d.ts","sourceRoot":"","sources":["../../../../src/service/s3/sdk/sim-s3-sdk-command-router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-s3-sdk-command-router.d.ts","sourceRoot":"","sources":["../../../../src/service/s3/sdk/sim-s3-sdk-command-router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAuB/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C;;GAEG;AACH,qBAAa,qBAAsB,YAAW,mBAAmB;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IAEjE,YAAY,KAAK,EAAE,KAAK,EAoJvB;IAED;;OAEG;IACH,qBAAqB,IAAI,SAAS,MAAM,EAAE,CAEzC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAEzD;CACF"}
|
|
@@ -42,6 +42,10 @@ export class SimS3SdkCommandRouter {
|
|
|
42
42
|
"ListObjectsCommand",
|
|
43
43
|
async (command, context) => await simS3.listObjects(command, simSdkCallerOptions(context)),
|
|
44
44
|
],
|
|
45
|
+
[
|
|
46
|
+
"ListObjectsV2Command",
|
|
47
|
+
async (command, context) => await simS3.listObjectsV2(command, simSdkCallerOptions(context)),
|
|
48
|
+
],
|
|
45
49
|
[
|
|
46
50
|
"PutBucketPolicyCommand",
|
|
47
51
|
async (command, context) => await simS3.putBucketPolicy(command, simSdkCallerOptions(context)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-sdk-command-router.js","sourceRoot":"","sources":["../../../../src/service/s3/sdk/sim-s3-sdk-command-router.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-s3-sdk-command-router.js","sourceRoot":"","sources":["../../../../src/service/s3/sdk/sim-s3-sdk-command-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-rest-object-reader.d.ts","sourceRoot":"","sources":["../../../../src/service/s3/serve/sim-s3-rest-object-reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAGhG;;;;;;GAMG;AACH,qBAAa,qBAAqB;IAChC;;OAEG;IACG,IAAI,CACR,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,oBAAoB,EAC3B,cAAc,EAAE,oBAAoB,GACnC,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"sim-s3-rest-object-reader.d.ts","sourceRoot":"","sources":["../../../../src/service/s3/serve/sim-s3-rest-object-reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAGhG;;;;;;GAMG;AACH,qBAAa,qBAAqB;IAChC;;OAEG;IACG,IAAI,CACR,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,oBAAoB,EAC3B,cAAc,EAAE,oBAAoB,GACnC,OAAO,CAAC,QAAQ,CAAC,CAmBnB;CACF"}
|
|
@@ -13,7 +13,12 @@ export class SimS3RestObjectReader {
|
|
|
13
13
|
async read(simS3, route, serviceRequest) {
|
|
14
14
|
const output = await simS3.getObject({ input: { Bucket: route.bucket.bucketName, Key: route.objectKey } }, { caller: serviceRequest.caller.toCaller() });
|
|
15
15
|
const body = await bodyBytes(output.Body);
|
|
16
|
-
const headers = simS3ObjectResponseHeaders(
|
|
16
|
+
const headers = simS3ObjectResponseHeaders({
|
|
17
|
+
metadata: output.Metadata,
|
|
18
|
+
bodyLength: body.length,
|
|
19
|
+
etag: output.ETag,
|
|
20
|
+
lastModified: output.LastModified,
|
|
21
|
+
});
|
|
17
22
|
if (serviceRequest.request.method === "HEAD") {
|
|
18
23
|
return new Response(undefined, { status: 200, headers });
|
|
19
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-rest-object-reader.js","sourceRoot":"","sources":["../../../../src/service/s3/serve/sim-s3-rest-object-reader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAErF;;;;;;GAMG;AACH,MAAM,OAAO,qBAAqB;IAChC;;OAEG;IACH,KAAK,CAAC,IAAI,CACR,KAAY,EACZ,KAA2B,EAC3B,cAAoC;QAEpC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAClC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,EACpE,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAC7C,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,0BAA0B,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-s3-rest-object-reader.js","sourceRoot":"","sources":["../../../../src/service/s3/serve/sim-s3-rest-object-reader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAErF;;;;;;GAMG;AACH,MAAM,OAAO,qBAAqB;IAChC;;OAEG;IACH,KAAK,CAAC,IAAI,CACR,KAAY,EACZ,KAA2B,EAC3B,cAAoC;QAEpC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAClC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,EACpE,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAC7C,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,0BAA0B,CAAC;YACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC,CAAC;QAEH,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7C,OAAO,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IACtD,CAAC;CACF;AAED;;GAEG;AACH,KAAK,UAAU,SAAS,CACtB,IAAsE;IAEtE,2DAA2D;IAC3D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAmB,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-website-object-loader.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/serve/website/sim-s3-website-object-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IAEtC,YAAY,UAAU,EAAE,kCAAkC,EAIzD;IAED;;;OAGG;IACH,MAAM,CAAC,QAAQ,CACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,iBAAiB,EACxB,cAAc,EAAE,oBAAoB,GACnC,wBAAwB,CAW1B;IAED;;;;;OAKG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"sim-s3-website-object-loader.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/serve/website/sim-s3-website-object-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IAEtC,YAAY,UAAU,EAAE,kCAAkC,EAIzD;IAED;;;OAGG;IACH,MAAM,CAAC,QAAQ,CACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,iBAAiB,EACxB,cAAc,EAAE,oBAAoB,GACnC,wBAAwB,CAW1B;IAED;;;;;OAKG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAoBrE;IAED;;;;;;;;OAQG;IACG,eAAe,CACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAUzC;CACF"}
|
|
@@ -42,7 +42,12 @@ export class SimS3WebsiteObjectLoader {
|
|
|
42
42
|
async load(objectKey) {
|
|
43
43
|
try {
|
|
44
44
|
const output = await this.simS3.getObject({ input: { Bucket: this.bucketName, Key: objectKey } }, { caller: this.caller });
|
|
45
|
-
return new SimS3WebsiteObject(
|
|
45
|
+
return new SimS3WebsiteObject({
|
|
46
|
+
body: await simS3BodyToBuffer(output.Body),
|
|
47
|
+
metadata: output.Metadata,
|
|
48
|
+
etag: output.ETag,
|
|
49
|
+
lastModified: output.LastModified,
|
|
50
|
+
});
|
|
46
51
|
}
|
|
47
52
|
catch (error) {
|
|
48
53
|
if (error instanceof SimS3NoSuchKey) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-website-object-loader.js","sourceRoot":"","sources":["../../../../../src/service/s3/serve/website/sim-s3-website-object-loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAQhE;;;;;;;;GAQG;AACH,MAAM,OAAO,wBAAwB;IAClB,KAAK,CAAQ;IACb,UAAU,CAAkB;IAC5B,MAAM,CAAe;IAEtC,YAAY,UAA8C;QACxD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,QAAQ,CACb,MAAc,EACd,KAAwB,EACxB,cAAoC;QAEpC,OAAO,IAAI,wBAAwB,CAAC;YAClC,KAAK,EAAE,MAAM;iBACV,kBAAkB,CACjB,KAAK,CAAC,WAAW,CAAC,SAAS,EAC3B,KAAK,CAAC,WAAW,CAAC,UAAU,CAC7B;iBACA,EAAE,EAAE;YACP,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;YACnC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE;SACzC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,SAAiB;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CACvC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EACtD,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CACxB,CAAC;YAEF,OAAO,IAAI,kBAAkB,
|
|
1
|
+
{"version":3,"file":"sim-s3-website-object-loader.js","sourceRoot":"","sources":["../../../../../src/service/s3/serve/website/sim-s3-website-object-loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAQhE;;;;;;;;GAQG;AACH,MAAM,OAAO,wBAAwB;IAClB,KAAK,CAAQ;IACb,UAAU,CAAkB;IAC5B,MAAM,CAAe;IAEtC,YAAY,UAA8C;QACxD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,QAAQ,CACb,MAAc,EACd,KAAwB,EACxB,cAAoC;QAEpC,OAAO,IAAI,wBAAwB,CAAC;YAClC,KAAK,EAAE,MAAM;iBACV,kBAAkB,CACjB,KAAK,CAAC,WAAW,CAAC,SAAS,EAC3B,KAAK,CAAC,WAAW,CAAC,UAAU,CAC7B;iBACA,EAAE,EAAE;YACP,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;YACnC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE;SACzC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,SAAiB;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CACvC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EACtD,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CACxB,CAAC;YAEF,OAAO,IAAI,kBAAkB,CAAC;gBAC5B,IAAI,EAAE,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAA6B,CAAC;gBACnE,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;gBACpC,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,eAAe,CACnB,SAAiB;QAEjB,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;gBACxC,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,17 +1,26 @@
|
|
|
1
|
+
interface SimS3WebsiteObjectProperties {
|
|
2
|
+
readonly body: Buffer;
|
|
3
|
+
readonly metadata?: Readonly<Record<string, string>> | undefined;
|
|
4
|
+
readonly etag?: string | undefined;
|
|
5
|
+
readonly lastModified?: Date | undefined;
|
|
6
|
+
}
|
|
1
7
|
/**
|
|
2
8
|
* An Object the static website endpoint is about to serve.
|
|
3
9
|
*
|
|
4
10
|
* The website endpoint reads Objects through the ordinary GetObject command
|
|
5
|
-
* rather than out of Bucket storage, so what it gets back is a stream and
|
|
6
|
-
*
|
|
11
|
+
* rather than out of Bucket storage, so what it gets back is a stream and what
|
|
12
|
+
* S3 remembers about the Object. This is that, with the stream drained.
|
|
7
13
|
*/
|
|
8
14
|
export declare class SimS3WebsiteObject {
|
|
9
15
|
readonly body: Buffer;
|
|
10
|
-
readonly metadata
|
|
11
|
-
|
|
16
|
+
private readonly metadata;
|
|
17
|
+
private readonly etag;
|
|
18
|
+
private readonly lastModified;
|
|
19
|
+
constructor(properties: SimS3WebsiteObjectProperties);
|
|
12
20
|
/**
|
|
13
21
|
* The headers describing this Object in a website response.
|
|
14
22
|
*/
|
|
15
23
|
headers(): Record<string, string>;
|
|
16
24
|
}
|
|
25
|
+
export {};
|
|
17
26
|
//# sourceMappingURL=sim-s3-website-object.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-website-object.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/serve/website/sim-s3-website-object.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"sim-s3-website-object.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/serve/website/sim-s3-website-object.ts"],"names":[],"mappings":"AAEA,UAAU,4BAA4B;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC7B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+C;IACxE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAEhD,YAAY,UAAU,EAAE,4BAA4B,EAKnD;IAED;;OAEG;IACH,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOhC;CACF"}
|
|
@@ -3,21 +3,30 @@ import { simS3ObjectResponseHeaders } from "../../object/s3-object-response-head
|
|
|
3
3
|
* An Object the static website endpoint is about to serve.
|
|
4
4
|
*
|
|
5
5
|
* The website endpoint reads Objects through the ordinary GetObject command
|
|
6
|
-
* rather than out of Bucket storage, so what it gets back is a stream and
|
|
7
|
-
*
|
|
6
|
+
* rather than out of Bucket storage, so what it gets back is a stream and what
|
|
7
|
+
* S3 remembers about the Object. This is that, with the stream drained.
|
|
8
8
|
*/
|
|
9
9
|
export class SimS3WebsiteObject {
|
|
10
10
|
body;
|
|
11
11
|
metadata;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
etag;
|
|
13
|
+
lastModified;
|
|
14
|
+
constructor(properties) {
|
|
15
|
+
this.body = properties.body;
|
|
16
|
+
this.metadata = properties.metadata;
|
|
17
|
+
this.etag = properties.etag;
|
|
18
|
+
this.lastModified = properties.lastModified;
|
|
15
19
|
}
|
|
16
20
|
/**
|
|
17
21
|
* The headers describing this Object in a website response.
|
|
18
22
|
*/
|
|
19
23
|
headers() {
|
|
20
|
-
return simS3ObjectResponseHeaders(
|
|
24
|
+
return simS3ObjectResponseHeaders({
|
|
25
|
+
metadata: this.metadata,
|
|
26
|
+
bodyLength: this.body.length,
|
|
27
|
+
etag: this.etag,
|
|
28
|
+
lastModified: this.lastModified,
|
|
29
|
+
});
|
|
21
30
|
}
|
|
22
31
|
}
|
|
23
32
|
//# sourceMappingURL=sim-s3-website-object.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-website-object.js","sourceRoot":"","sources":["../../../../../src/service/s3/serve/website/sim-s3-website-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-s3-website-object.js","sourceRoot":"","sources":["../../../../../src/service/s3/serve/website/sim-s3-website-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AASxF;;;;;;GAMG;AACH,MAAM,OAAO,kBAAkB;IACb,IAAI,CAAS;IAEZ,QAAQ,CAA+C;IACvD,IAAI,CAAqB;IACzB,YAAY,CAAmB;IAEhD,YAAY,UAAwC;QAClD,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,0BAA0B,CAAC;YAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -24,6 +24,12 @@ export interface SimS3Properties {
|
|
|
24
24
|
* destination.
|
|
25
25
|
*/
|
|
26
26
|
readonly notificationDestinations?: SimS3NotificationDestinations;
|
|
27
|
+
/**
|
|
28
|
+
* The most keys one page of an Object listing holds, which real S3 fixes at
|
|
29
|
+
* a thousand. Lower it to exercise a caller's pagination without having to
|
|
30
|
+
* store a thousand and one Objects first.
|
|
31
|
+
*/
|
|
32
|
+
readonly maxKeysPerPage?: number;
|
|
27
33
|
}
|
|
28
34
|
interface SimS3CommandsProperties extends SimS3Properties {
|
|
29
35
|
readonly accountRegionScope: SimAwsAccountRegionScope;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-commands.d.ts","sourceRoot":"","sources":["../../../src/service/s3/sim-s3-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AACrG,OAAO,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,sEAAsE,CAAC;AAEtH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAC;AAEnH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-s3-commands.d.ts","sourceRoot":"","sources":["../../../src/service/s3/sim-s3-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AACrG,OAAO,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,sEAAsE,CAAC;AAEtH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAC;AAEnH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAE/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IACvD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IAChD,QAAQ,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,6BAA6B,CAAC;IAClE;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,UAAU,uBAAwB,SAAQ,eAAe;IACvD,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;CACrD;AAED;;;;;;;GAOG;AACH,qBAAa,aAAa;IACxB,SAAgB,OAAO,EAAE,mBAAmB,CAAC;IAC7C,SAAgB,cAAc,EAAE,yBAAyB,CAAC;IAC1D,SAAgB,kBAAkB,EAAE,8BAA8B,CAAC;IACnE,SAAgB,aAAa,EAAE,yBAAyB,CAAC;IACzD,SAAgB,OAAO,EAAE,mBAAmB,CAAC;IAC7C,SAAgB,cAAc,EAAE,mBAAmB,CAAC;IAEpD,YAAY,UAAU,EAAE,uBAAuB,EA8B9C;CACF"}
|
|
@@ -7,6 +7,7 @@ import { SimS3ObjectCommands } from "./command/object/sim-s3-object-commands.js"
|
|
|
7
7
|
import { SimS3PublicAccessBlockCommands } from "./command/public-access-block/sim-s3-public-access-block-commands.js";
|
|
8
8
|
import { SimS3NoNotificationDestinations } from "./notification/destination/sim-s3-service-notification-destinations.js";
|
|
9
9
|
import { SimS3ObjectNotifier } from "./notification/sim-s3-object-notifier.js";
|
|
10
|
+
import { SimS3ObjectListingLimits } from "./object/s3-object-listing-limits.js";
|
|
10
11
|
/**
|
|
11
12
|
* The command areas of one simulated S3 scope, and the state they share.
|
|
12
13
|
*
|
|
@@ -34,6 +35,7 @@ export class SimS3Commands {
|
|
|
34
35
|
background,
|
|
35
36
|
notificationDestinations,
|
|
36
37
|
notifications: this.objectNotifier,
|
|
38
|
+
listing: new SimS3ObjectListingLimits(properties.maxKeysPerPage),
|
|
37
39
|
};
|
|
38
40
|
this.buckets = new SimS3BucketCommands({
|
|
39
41
|
...state,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-commands.js","sourceRoot":"","sources":["../../../src/service/s3/sim-s3-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,kBAAkB,GAEnB,MAAM,kDAAkD,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AACrG,OAAO,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,sEAAsE,CAAC;AAGtH,OAAO,EAAE,+BAA+B,EAAE,MAAM,wEAAwE,CAAC;AACzH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-s3-commands.js","sourceRoot":"","sources":["../../../src/service/s3/sim-s3-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,kBAAkB,GAEnB,MAAM,kDAAkD,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AACrG,OAAO,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,sEAAsE,CAAC;AAGtH,OAAO,EAAE,+BAA+B,EAAE,MAAM,wEAAwE,CAAC;AACzH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AA+BhF;;;;;;;GAOG;AACH,MAAM,OAAO,aAAa;IACR,OAAO,CAAsB;IAC7B,cAAc,CAA4B;IAC1C,kBAAkB,CAAiC;IACnD,aAAa,CAA4B;IACzC,OAAO,CAAsB;IAC7B,cAAc,CAAsB;IAEpD,YAAY,UAAmC;QAC7C,MAAM,EACJ,GAAG,GAAG,IAAI,kBAAkB,EAAE,EAC9B,UAAU,GAAG,IAAI,eAAe,EAAE,EAClC,wBAAwB,GAAG,IAAI,+BAA+B,EAAE,GACjE,GAAG,UAAU,CAAC;QAEf,IAAI,CAAC,cAAc,GAAG,IAAI,mBAAmB,CAAC;YAC5C,YAAY,EAAE,wBAAwB;YACtC,UAAU;SACX,CAAC,CAAC;QAEH,MAAM,KAAK,GAA4B;YACrC,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,GAAG;YACH,UAAU;YACV,wBAAwB;YACxB,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,OAAO,EAAE,IAAI,wBAAwB,CAAC,UAAU,CAAC,cAAc,CAAC;SACjE,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAmB,CAAC;YACrC,GAAG,KAAK;YACR,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;YACjD,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;SAC9C,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,kBAAkB,GAAG,IAAI,8BAA8B,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,aAAa,GAAG,IAAI,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;CACF"}
|
|
@@ -14,8 +14,6 @@ import type { SimS3MountFilesystemOptions } from "./mount/sim-s3-mount.type.js";
|
|
|
14
14
|
*/
|
|
15
15
|
export declare class SimS3 {
|
|
16
16
|
private readonly buckets;
|
|
17
|
-
private readonly accountRegionScope;
|
|
18
|
-
private readonly s3GlobalRegistry;
|
|
19
17
|
private readonly commands;
|
|
20
18
|
private readonly bucketAccess;
|
|
21
19
|
private readonly cfnFactory;
|
|
@@ -55,6 +53,16 @@ export declare class SimS3 {
|
|
|
55
53
|
deleteObjects(command: simS3Commands.SimDeleteObjectsCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimDeleteObjectsCommandOutput>;
|
|
56
54
|
/** Handle a List Objects Command from the SDK. */
|
|
57
55
|
listObjects(command: simS3Commands.SimListObjectsCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimListObjectsCommandOutput>;
|
|
56
|
+
/** Handle a List Objects V2 Command from the SDK. */
|
|
57
|
+
listObjectsV2(command: simS3Commands.SimListObjectsV2Command, options?: SimS3RequestOptions): Promise<simS3Commands.SimListObjectsV2CommandOutput>;
|
|
58
|
+
/**
|
|
59
|
+
* Change how many keys one page of an Object listing holds, which real S3
|
|
60
|
+
* fixes at a thousand.
|
|
61
|
+
*
|
|
62
|
+
* Lowering it is how a test gets a caller to walk a continuation without
|
|
63
|
+
* storing a thousand and one Objects to provoke one.
|
|
64
|
+
*/
|
|
65
|
+
configureMaxKeysPerPage(maxKeys: number): void;
|
|
58
66
|
/** Get a simulated S3 Bucket instance by name. */
|
|
59
67
|
getSimBucketByName(bucketName: SimS3BucketName | string): SimS3Bucket | undefined;
|
|
60
68
|
/**
|
|
@@ -64,11 +72,8 @@ export declare class SimS3 {
|
|
|
64
72
|
*/
|
|
65
73
|
getNotificationDeliveryFailures(): readonly SimS3NotificationDeliveryFailure[];
|
|
66
74
|
/**
|
|
67
|
-
* Get the simulated S3 REST API endpoint URL for this Region
|
|
68
|
-
*
|
|
69
|
-
* This is the endpoint an AWS SDK S3 client is configured with, so that the
|
|
70
|
-
* client, and the presigner built on it, address simulated S3 the same way
|
|
71
|
-
* they address the real thing.
|
|
75
|
+
* Get the simulated S3 REST API endpoint URL for this Region, which is what
|
|
76
|
+
* an AWS SDK S3 client, and the presigner built on it, is configured with.
|
|
72
77
|
*/
|
|
73
78
|
getServiceUrl(): URL;
|
|
74
79
|
/** Get the simulated S3 REST API endpoint URL for one Bucket. */
|
|
@@ -80,42 +85,27 @@ export declare class SimS3 {
|
|
|
80
85
|
*/
|
|
81
86
|
findBucketScope(bucketName: SimS3BucketName | string): SimAwsAccountRegionScope | undefined;
|
|
82
87
|
/**
|
|
83
|
-
* Have a simulated S3 Bucket use a local filesystem directory for storage
|
|
84
|
-
*
|
|
85
|
-
* Passing somewhere to reload, as `{ reload: srv }`, also watches the
|
|
86
|
-
* directory: a build that writes into it reloads the connected browsers once
|
|
87
|
-
* the writes stop, without the Bucket having to be filled again.
|
|
88
|
+
* Have a simulated S3 Bucket use a local filesystem directory for storage,
|
|
89
|
+
* watching it when `{ reload: srv }` says where to reload.
|
|
88
90
|
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
* Objects the mount replaced: a CDK `BucketDeployment` into the same Bucket
|
|
92
|
-
* says what it publishes, which is how a mounted directory of brotli files
|
|
93
|
-
* keeps its `content-encoding`. `systemMetadata` declares the rest for a key
|
|
94
|
-
* prefix, and goes over the top of anything inherited.
|
|
91
|
+
* See `SimS3BucketAccess.mountFilesystem`, which describes what a mounted
|
|
92
|
+
* directory does about the metadata a file cannot carry.
|
|
95
93
|
*/
|
|
96
94
|
mountBucketFilesystem(bucketName: SimS3BucketName | string, directoryPath: string, options?: SimS3MountFilesystemOptions): void;
|
|
97
|
-
/**
|
|
98
|
-
* The mounted directories being watched for changes.
|
|
99
|
-
*
|
|
100
|
-
* A directory mounted with somewhere to reload is watched from then on, and
|
|
101
|
-
* a build in it reloads the browser rather than restarting anything.
|
|
102
|
-
*/
|
|
95
|
+
/** The mounted directories being watched for changes. */
|
|
103
96
|
watchedMountedDirectories(): readonly string[];
|
|
104
|
-
/**
|
|
105
|
-
* Stop watching mounted directories.
|
|
106
|
-
*
|
|
107
|
-
* A watch holds an open filesystem handle, so a process with one open does
|
|
108
|
-
* not exit on its own. A dev process wants exactly that and never calls this;
|
|
109
|
-
* anything with an end, such as a test, calls it when it is done.
|
|
110
|
-
*/
|
|
97
|
+
/** Stop watching mounted directories, as `close` does. */
|
|
111
98
|
stopWatchingMountedDirectories(): void;
|
|
112
99
|
/**
|
|
113
100
|
* Let go of everything this simulated S3 is holding open.
|
|
114
101
|
*
|
|
115
102
|
* The mounted directory watches, which is what `SimAws.close()` reaches to
|
|
116
|
-
* release when a simulated environment is closed as a whole.
|
|
117
|
-
*
|
|
118
|
-
*
|
|
103
|
+
* release when a simulated environment is closed as a whole. A watch holds an
|
|
104
|
+
* open filesystem handle, so a process with one open does not exit on its
|
|
105
|
+
* own: a dev process wants exactly that, and anything with an end, such as a
|
|
106
|
+
* test, closes when it is done. The Buckets and the Objects in them are left
|
|
107
|
+
* where they are, mounts included: this is the open filesystem handles going,
|
|
108
|
+
* not the storage behind them.
|
|
119
109
|
*/
|
|
120
110
|
close(): void;
|
|
121
111
|
/** Get this service's CloudFormation Resource factory. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3.d.ts","sourceRoot":"","sources":["../../../src/service/s3/sim-s3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,KAAK,aAAa,MAAM,mCAAmC,CAAC;AAExE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-s3.d.ts","sourceRoot":"","sources":["../../../src/service/s3/sim-s3.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { SimS3GlobalRegistry } from "./sim-s3-global-registry.js";
|
|
2
2
|
import { SimS3BucketAccess } from "./bucket/sim-s3-bucket-access.js";
|
|
3
|
-
import { simS3ServiceUrl } from "./bucket/sim-s3-endpoint-url.js";
|
|
4
3
|
import { SimS3CloudFormationResourceFactory } from "./cfn/sim-cfn-s3-resource-factory.js";
|
|
5
4
|
import { simAwsAccountRegionScopeFactory } from "../aws/sim-aws-account-region-scope.factory.js";
|
|
6
5
|
import { SimS3Commands } from "./sim-s3-commands.js";
|
|
@@ -12,16 +11,12 @@ import { SimS3SdkCommandRouter } from "./sdk/sim-s3-sdk-command-router.js";
|
|
|
12
11
|
*/
|
|
13
12
|
export class SimS3 {
|
|
14
13
|
buckets = new Map();
|
|
15
|
-
accountRegionScope;
|
|
16
|
-
s3GlobalRegistry;
|
|
17
14
|
commands;
|
|
18
15
|
bucketAccess;
|
|
19
16
|
cfnFactory = new SimS3CloudFormationResourceFactory(this);
|
|
20
17
|
sdkRouter = new SimS3SdkCommandRouter(this);
|
|
21
18
|
constructor(properties = {}) {
|
|
22
19
|
const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), s3GlobalRegistry = new SimS3GlobalRegistry(), } = properties;
|
|
23
|
-
this.accountRegionScope = accountRegionScope;
|
|
24
|
-
this.s3GlobalRegistry = s3GlobalRegistry;
|
|
25
20
|
this.commands = new SimS3Commands({
|
|
26
21
|
...properties,
|
|
27
22
|
accountRegionScope,
|
|
@@ -31,6 +26,7 @@ export class SimS3 {
|
|
|
31
26
|
this.bucketAccess = new SimS3BucketAccess({
|
|
32
27
|
buckets: this.buckets,
|
|
33
28
|
accountRegionScope,
|
|
29
|
+
s3GlobalRegistry,
|
|
34
30
|
});
|
|
35
31
|
}
|
|
36
32
|
/** Handle a Create Bucket Command from the SDK. */
|
|
@@ -101,9 +97,23 @@ export class SimS3 {
|
|
|
101
97
|
async listObjects(command, options) {
|
|
102
98
|
return await this.commands.objects.list(command, options);
|
|
103
99
|
}
|
|
100
|
+
/** Handle a List Objects V2 Command from the SDK. */
|
|
101
|
+
async listObjectsV2(command, options) {
|
|
102
|
+
return await this.commands.objects.listV2(command, options);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Change how many keys one page of an Object listing holds, which real S3
|
|
106
|
+
* fixes at a thousand.
|
|
107
|
+
*
|
|
108
|
+
* Lowering it is how a test gets a caller to walk a continuation without
|
|
109
|
+
* storing a thousand and one Objects to provoke one.
|
|
110
|
+
*/
|
|
111
|
+
configureMaxKeysPerPage(maxKeys) {
|
|
112
|
+
this.commands.objects.configureMaxKeysPerPage(maxKeys);
|
|
113
|
+
}
|
|
104
114
|
/** Get a simulated S3 Bucket instance by name. */
|
|
105
115
|
getSimBucketByName(bucketName) {
|
|
106
|
-
return this.
|
|
116
|
+
return this.bucketAccess.find(bucketName);
|
|
107
117
|
}
|
|
108
118
|
/**
|
|
109
119
|
* Get the Bucket event notifications this S3 could not deliver, which is the
|
|
@@ -114,14 +124,11 @@ export class SimS3 {
|
|
|
114
124
|
return this.commands.objectNotifier.deliveryFailures;
|
|
115
125
|
}
|
|
116
126
|
/**
|
|
117
|
-
* Get the simulated S3 REST API endpoint URL for this Region
|
|
118
|
-
*
|
|
119
|
-
* This is the endpoint an AWS SDK S3 client is configured with, so that the
|
|
120
|
-
* client, and the presigner built on it, address simulated S3 the same way
|
|
121
|
-
* they address the real thing.
|
|
127
|
+
* Get the simulated S3 REST API endpoint URL for this Region, which is what
|
|
128
|
+
* an AWS SDK S3 client, and the presigner built on it, is configured with.
|
|
122
129
|
*/
|
|
123
130
|
getServiceUrl() {
|
|
124
|
-
return
|
|
131
|
+
return this.bucketAccess.serviceUrl();
|
|
125
132
|
}
|
|
126
133
|
/** Get the simulated S3 REST API endpoint URL for one Bucket. */
|
|
127
134
|
getBucketUrl(bucketName) {
|
|
@@ -135,41 +142,23 @@ export class SimS3 {
|
|
|
135
142
|
* Find the Account Region scope for a globally registered simulated S3 Bucket.
|
|
136
143
|
*/
|
|
137
144
|
findBucketScope(bucketName) {
|
|
138
|
-
return this.
|
|
145
|
+
return this.bucketAccess.scopeOf(bucketName);
|
|
139
146
|
}
|
|
140
147
|
/**
|
|
141
|
-
* Have a simulated S3 Bucket use a local filesystem directory for storage
|
|
148
|
+
* Have a simulated S3 Bucket use a local filesystem directory for storage,
|
|
149
|
+
* watching it when `{ reload: srv }` says where to reload.
|
|
142
150
|
*
|
|
143
|
-
*
|
|
144
|
-
* directory
|
|
145
|
-
* the writes stop, without the Bucket having to be filled again.
|
|
146
|
-
*
|
|
147
|
-
* A file on disk carries no metadata, so an Object read out of one is
|
|
148
|
-
* described by its extension and by what the Bucket was told about the
|
|
149
|
-
* Objects the mount replaced: a CDK `BucketDeployment` into the same Bucket
|
|
150
|
-
* says what it publishes, which is how a mounted directory of brotli files
|
|
151
|
-
* keeps its `content-encoding`. `systemMetadata` declares the rest for a key
|
|
152
|
-
* prefix, and goes over the top of anything inherited.
|
|
151
|
+
* See `SimS3BucketAccess.mountFilesystem`, which describes what a mounted
|
|
152
|
+
* directory does about the metadata a file cannot carry.
|
|
153
153
|
*/
|
|
154
154
|
mountBucketFilesystem(bucketName, directoryPath, options = {}) {
|
|
155
155
|
this.bucketAccess.mountFilesystem(bucketName, directoryPath, options);
|
|
156
156
|
}
|
|
157
|
-
/**
|
|
158
|
-
* The mounted directories being watched for changes.
|
|
159
|
-
*
|
|
160
|
-
* A directory mounted with somewhere to reload is watched from then on, and
|
|
161
|
-
* a build in it reloads the browser rather than restarting anything.
|
|
162
|
-
*/
|
|
157
|
+
/** The mounted directories being watched for changes. */
|
|
163
158
|
watchedMountedDirectories() {
|
|
164
159
|
return this.bucketAccess.watchedMounts();
|
|
165
160
|
}
|
|
166
|
-
/**
|
|
167
|
-
* Stop watching mounted directories.
|
|
168
|
-
*
|
|
169
|
-
* A watch holds an open filesystem handle, so a process with one open does
|
|
170
|
-
* not exit on its own. A dev process wants exactly that and never calls this;
|
|
171
|
-
* anything with an end, such as a test, calls it when it is done.
|
|
172
|
-
*/
|
|
161
|
+
/** Stop watching mounted directories, as `close` does. */
|
|
173
162
|
stopWatchingMountedDirectories() {
|
|
174
163
|
this.bucketAccess.stopWatchingMounts();
|
|
175
164
|
}
|
|
@@ -177,9 +166,12 @@ export class SimS3 {
|
|
|
177
166
|
* Let go of everything this simulated S3 is holding open.
|
|
178
167
|
*
|
|
179
168
|
* The mounted directory watches, which is what `SimAws.close()` reaches to
|
|
180
|
-
* release when a simulated environment is closed as a whole.
|
|
181
|
-
*
|
|
182
|
-
*
|
|
169
|
+
* release when a simulated environment is closed as a whole. A watch holds an
|
|
170
|
+
* open filesystem handle, so a process with one open does not exit on its
|
|
171
|
+
* own: a dev process wants exactly that, and anything with an end, such as a
|
|
172
|
+
* test, closes when it is done. The Buckets and the Objects in them are left
|
|
173
|
+
* where they are, mounts included: this is the open filesystem handles going,
|
|
174
|
+
* not the storage behind them.
|
|
183
175
|
*/
|
|
184
176
|
close() {
|
|
185
177
|
this.stopWatchingMountedDirectories();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3.js","sourceRoot":"","sources":["../../../src/service/s3/sim-s3.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sim-s3.js","sourceRoot":"","sources":["../../../src/service/s3/sim-s3.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether a filesystem error is the one meaning nothing is at that path.
|
|
3
|
+
*
|
|
4
|
+
* Reading a file that is not there is not a failure to anything mapping a
|
|
5
|
+
* directory onto a Bucket: it is an Object the Bucket does not hold. Every
|
|
6
|
+
* other error still is one, so only this code is answered rather than raised.
|
|
7
|
+
*/
|
|
8
|
+
export declare function isMissingFilesystemPathError(error: unknown): boolean;
|
|
1
9
|
/**
|
|
2
10
|
* Check whether a filesystem path exists.
|
|
3
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem-path-exists.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/storage/filesystem/filesystem-path-exists.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAazE"}
|
|
1
|
+
{"version":3,"file":"filesystem-path-exists.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/storage/filesystem/filesystem-path-exists.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAazE"}
|