@aws-amplify/storage 6.6.10 → 6.6.11-storage-browser-integrity.2a9053f.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/errors/IntegrityError.js +22 -0
- package/dist/cjs/errors/IntegrityError.js.map +1 -0
- package/dist/cjs/errors/constants.js +8 -0
- package/dist/cjs/errors/constants.js.map +1 -0
- package/dist/cjs/errors/types/validation.js +16 -0
- package/dist/cjs/errors/types/validation.js.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internals/apis/copy.js +33 -0
- package/dist/cjs/internals/apis/copy.js.map +1 -0
- package/dist/cjs/internals/apis/downloadData.js +25 -0
- package/dist/cjs/internals/apis/downloadData.js.map +1 -0
- package/dist/cjs/internals/apis/getDataAccess.js +60 -0
- package/dist/cjs/internals/apis/getDataAccess.js.map +1 -0
- package/dist/cjs/internals/apis/getProperties.js +24 -0
- package/dist/cjs/internals/apis/getProperties.js.map +1 -0
- package/dist/cjs/internals/apis/getUrl.js +29 -0
- package/dist/cjs/internals/apis/getUrl.js.map +1 -0
- package/dist/cjs/internals/apis/list.js +32 -0
- package/dist/cjs/internals/apis/list.js.map +1 -0
- package/dist/cjs/internals/apis/listCallerAccessGrants.js +72 -0
- package/dist/cjs/internals/apis/listCallerAccessGrants.js.map +1 -0
- package/dist/cjs/internals/apis/remove.js +24 -0
- package/dist/cjs/internals/apis/remove.js.map +1 -0
- package/dist/cjs/internals/apis/uploadData.js +34 -0
- package/dist/cjs/internals/apis/uploadData.js.map +1 -0
- package/dist/cjs/internals/index.js +32 -0
- package/dist/cjs/internals/index.js.map +1 -0
- package/dist/cjs/internals/locationCredentialsStore/constants.js +9 -0
- package/dist/cjs/internals/locationCredentialsStore/constants.js.map +1 -0
- package/dist/cjs/internals/locationCredentialsStore/create.js +36 -0
- package/dist/cjs/internals/locationCredentialsStore/create.js.map +1 -0
- package/dist/cjs/internals/locationCredentialsStore/index.js +9 -0
- package/dist/cjs/internals/locationCredentialsStore/index.js.map +1 -0
- package/dist/cjs/internals/locationCredentialsStore/registry.js +57 -0
- package/dist/cjs/internals/locationCredentialsStore/registry.js.map +1 -0
- package/dist/cjs/internals/locationCredentialsStore/store.js +100 -0
- package/dist/cjs/internals/locationCredentialsStore/store.js.map +1 -0
- package/dist/cjs/internals/managedAuthConfigAdapter/createListLocationsHandler.js +15 -0
- package/dist/cjs/internals/managedAuthConfigAdapter/createListLocationsHandler.js.map +1 -0
- package/dist/cjs/internals/managedAuthConfigAdapter/createLocationCredentialsHandler.js +29 -0
- package/dist/cjs/internals/managedAuthConfigAdapter/createLocationCredentialsHandler.js.map +1 -0
- package/dist/cjs/internals/managedAuthConfigAdapter/createManagedAuthConfigAdapter.js +32 -0
- package/dist/cjs/internals/managedAuthConfigAdapter/createManagedAuthConfigAdapter.js.map +1 -0
- package/dist/cjs/internals/managedAuthConfigAdapter/index.js +9 -0
- package/dist/cjs/internals/managedAuthConfigAdapter/index.js.map +1 -0
- package/dist/cjs/internals/types/common.js +6 -0
- package/dist/cjs/internals/types/common.js.map +1 -0
- package/dist/cjs/internals/types/credentials.js +6 -0
- package/dist/cjs/internals/types/credentials.js.map +1 -0
- package/dist/cjs/internals/types/inputs.js +6 -0
- package/dist/cjs/internals/types/inputs.js.map +1 -0
- package/dist/cjs/internals/types/options.js +3 -0
- package/dist/cjs/internals/types/options.js.map +1 -0
- package/dist/cjs/internals/types/outputs.js +6 -0
- package/dist/cjs/internals/types/outputs.js.map +1 -0
- package/dist/cjs/internals/utils/constants.js +9 -0
- package/dist/cjs/internals/utils/constants.js.map +1 -0
- package/dist/cjs/providers/s3/apis/downloadData.js +2 -47
- package/dist/cjs/providers/s3/apis/downloadData.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/copy.js +56 -8
- package/dist/cjs/providers/s3/apis/internal/copy.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/downloadData.js +59 -0
- package/dist/cjs/providers/s3/apis/internal/downloadData.js.map +1 -0
- package/dist/cjs/providers/s3/apis/internal/getProperties.js +5 -4
- package/dist/cjs/providers/s3/apis/internal/getProperties.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/getUrl.js +5 -3
- package/dist/cjs/providers/s3/apis/internal/getUrl.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/list.js +20 -4
- package/dist/cjs/providers/s3/apis/internal/list.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/remove.js +5 -4
- package/dist/cjs/providers/s3/apis/internal/remove.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/uploadData/byteLength.js.map +1 -0
- package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/index.js +7 -7
- package/dist/cjs/providers/s3/apis/internal/uploadData/index.js.map +1 -0
- package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/multipart/calculatePartSize.js +1 -1
- package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/calculatePartSize.js.map +1 -0
- package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/multipart/getDataChunker.js +2 -2
- package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/getDataChunker.js.map +1 -0
- package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/index.js.map +1 -0
- package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/multipart/initialUpload.js +26 -5
- package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/initialUpload.js.map +1 -0
- package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/progressTracker.js.map +1 -0
- package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadCache.js +5 -4
- package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/uploadCache.js.map +1 -0
- package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadHandlers.js +33 -14
- package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/uploadHandlers.js.map +1 -0
- package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadPartExecutor.js +21 -11
- package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/uploadPartExecutor.js.map +1 -0
- package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/putObjectJob.js +26 -11
- package/dist/cjs/providers/s3/apis/internal/uploadData/putObjectJob.js.map +1 -0
- package/dist/cjs/providers/s3/apis/internal/uploadData/validateObjectNotExists.js +25 -0
- package/dist/cjs/providers/s3/apis/internal/uploadData/validateObjectNotExists.js.map +1 -0
- package/dist/cjs/providers/s3/apis/uploadData.js +12 -0
- package/dist/cjs/providers/s3/apis/uploadData.js.map +1 -0
- package/dist/cjs/providers/s3/index.js +3 -1
- package/dist/cjs/providers/s3/index.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/s3control/base.js +70 -0
- package/dist/cjs/providers/s3/utils/client/s3control/base.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/s3control/getDataAccess.js +58 -0
- package/dist/cjs/providers/s3/utils/client/s3control/getDataAccess.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/s3control/index.js +11 -0
- package/dist/cjs/providers/s3/utils/client/s3control/index.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/s3control/listCallerAccessGrants.js +63 -0
- package/dist/cjs/providers/s3/utils/client/s3control/listCallerAccessGrants.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/s3control/types.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{abortMultipartUpload.js → s3data/abortMultipartUpload.js} +14 -3
- package/dist/cjs/providers/s3/utils/client/s3data/abortMultipartUpload.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{base.js → s3data/base.js} +25 -3
- package/dist/cjs/providers/s3/utils/client/s3data/base.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{completeMultipartUpload.js → s3data/completeMultipartUpload.js} +29 -13
- package/dist/cjs/providers/s3/utils/client/s3data/completeMultipartUpload.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{copyObject.js → s3data/copyObject.js} +27 -3
- package/dist/cjs/providers/s3/utils/client/s3data/copyObject.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{createMultipartUpload.js → s3data/createMultipartUpload.js} +15 -3
- package/dist/cjs/providers/s3/utils/client/s3data/createMultipartUpload.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{deleteObject.js → s3data/deleteObject.js} +12 -3
- package/dist/cjs/providers/s3/utils/client/s3data/deleteObject.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{getObject.js → s3data/getObject.js} +12 -3
- package/dist/cjs/providers/s3/utils/client/s3data/getObject.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{headObject.js → s3data/headObject.js} +12 -3
- package/dist/cjs/providers/s3/utils/client/s3data/headObject.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/s3data/index.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{listObjectsV2.js → s3data/listObjectsV2.js} +15 -3
- package/dist/cjs/providers/s3/utils/client/s3data/listObjectsV2.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{listParts.js → s3data/listParts.js} +3 -8
- package/dist/cjs/providers/s3/utils/client/s3data/listParts.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{putObject.js → s3data/putObject.js} +13 -3
- package/dist/cjs/providers/s3/utils/client/s3data/putObject.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/s3data/types.js +6 -0
- package/dist/cjs/providers/s3/utils/client/s3data/types.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{uploadPart.js → s3data/uploadPart.js} +14 -4
- package/dist/cjs/providers/s3/utils/client/s3data/uploadPart.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/utils/createRetryDecider.js +57 -0
- package/dist/cjs/providers/s3/utils/client/utils/createRetryDecider.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/utils/deserializeHelpers.js +46 -1
- package/dist/cjs/providers/s3/utils/client/utils/deserializeHelpers.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/utils/index.js +7 -2
- package/dist/cjs/providers/s3/utils/client/utils/index.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/utils/integrityHelpers.js +60 -0
- package/dist/cjs/providers/s3/utils/client/utils/integrityHelpers.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/utils/parsePayload.js +20 -6
- package/dist/cjs/providers/s3/utils/client/utils/parsePayload.js.map +1 -1
- package/dist/cjs/providers/s3/utils/constants.js +3 -0
- package/dist/cjs/providers/s3/utils/constants.js.map +1 -1
- package/dist/cjs/providers/s3/utils/crc32.js +37 -0
- package/dist/cjs/providers/s3/utils/crc32.js.map +1 -0
- package/dist/cjs/providers/s3/utils/crc32.native.js +11 -0
- package/dist/cjs/providers/s3/utils/crc32.native.js.map +1 -0
- package/dist/cjs/providers/s3/utils/index.js +3 -1
- package/dist/cjs/providers/s3/utils/index.js.map +1 -1
- package/dist/cjs/providers/s3/utils/resolveIdentityId.js +14 -0
- package/dist/cjs/providers/s3/utils/resolveIdentityId.js.map +1 -0
- package/dist/cjs/providers/s3/utils/resolveS3ConfigAndInput.js +59 -13
- package/dist/cjs/providers/s3/utils/resolveS3ConfigAndInput.js.map +1 -1
- package/dist/cjs/providers/s3/utils/validateBucketOwnerID.js +17 -0
- package/dist/cjs/providers/s3/utils/validateBucketOwnerID.js.map +1 -0
- package/dist/cjs/providers/s3/utils/validateMultipartUploadXML.js +27 -0
- package/dist/cjs/providers/s3/utils/validateMultipartUploadXML.js.map +1 -0
- package/dist/cjs/providers/s3/utils/validateObjectUrl.js +24 -0
- package/dist/cjs/providers/s3/utils/validateObjectUrl.js.map +1 -0
- package/dist/cjs/providers/s3/utils/validateStorageOperationInput.js +4 -1
- package/dist/cjs/providers/s3/utils/validateStorageOperationInput.js.map +1 -1
- package/dist/cjs/providers/s3/utils/validateStorageOperationInputWithPrefix.js +4 -1
- package/dist/cjs/providers/s3/utils/validateStorageOperationInputWithPrefix.js.map +1 -1
- package/dist/esm/errors/IntegrityError.d.ts +5 -0
- package/dist/esm/errors/IntegrityError.mjs +20 -0
- package/dist/esm/errors/IntegrityError.mjs.map +1 -0
- package/dist/esm/errors/constants.d.ts +1 -0
- package/dist/esm/errors/constants.mjs +6 -0
- package/dist/esm/errors/constants.mjs.map +1 -0
- package/dist/esm/errors/types/validation.d.ts +5 -1
- package/dist/esm/errors/types/validation.mjs +16 -0
- package/dist/esm/errors/types/validation.mjs.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.mjs +2 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/internals/apis/copy.d.ts +5 -0
- package/dist/esm/internals/apis/copy.mjs +31 -0
- package/dist/esm/internals/apis/copy.mjs.map +1 -0
- package/dist/esm/internals/apis/downloadData.d.ts +6 -0
- package/dist/esm/internals/apis/downloadData.mjs +23 -0
- package/dist/esm/internals/apis/downloadData.mjs.map +1 -0
- package/dist/esm/internals/apis/getDataAccess.d.ts +6 -0
- package/dist/esm/internals/apis/getDataAccess.mjs +60 -0
- package/dist/esm/internals/apis/getDataAccess.mjs.map +1 -0
- package/dist/esm/internals/apis/getProperties.d.ts +6 -0
- package/dist/esm/internals/apis/getProperties.mjs +22 -0
- package/dist/esm/internals/apis/getProperties.mjs.map +1 -0
- package/dist/esm/internals/apis/getUrl.d.ts +5 -0
- package/dist/esm/internals/apis/getUrl.mjs +27 -0
- package/dist/esm/internals/apis/getUrl.mjs.map +1 -0
- package/dist/esm/internals/apis/list.d.ts +10 -0
- package/dist/esm/internals/apis/list.mjs +30 -0
- package/dist/esm/internals/apis/list.mjs.map +1 -0
- package/dist/esm/internals/apis/listCallerAccessGrants.d.ts +6 -0
- package/dist/esm/internals/apis/listCallerAccessGrants.mjs +72 -0
- package/dist/esm/internals/apis/listCallerAccessGrants.mjs.map +1 -0
- package/dist/esm/internals/apis/remove.d.ts +6 -0
- package/dist/esm/internals/apis/remove.mjs +22 -0
- package/dist/esm/internals/apis/remove.mjs.map +1 -0
- package/dist/esm/internals/apis/uploadData.d.ts +5 -0
- package/dist/esm/internals/apis/uploadData.mjs +32 -0
- package/dist/esm/internals/apis/uploadData.mjs.map +1 -0
- package/dist/esm/internals/index.d.ts +18 -0
- package/dist/esm/internals/index.mjs +12 -0
- package/dist/esm/internals/index.mjs.map +1 -0
- package/dist/esm/internals/locationCredentialsStore/constants.d.ts +2 -0
- package/dist/esm/internals/locationCredentialsStore/constants.mjs +7 -0
- package/dist/esm/internals/locationCredentialsStore/constants.mjs.map +1 -0
- package/dist/esm/internals/locationCredentialsStore/create.d.ts +2 -0
- package/dist/esm/internals/locationCredentialsStore/create.mjs +34 -0
- package/dist/esm/internals/locationCredentialsStore/create.mjs.map +1 -0
- package/dist/esm/internals/locationCredentialsStore/index.d.ts +1 -0
- package/dist/esm/internals/locationCredentialsStore/index.mjs +2 -0
- package/dist/esm/internals/locationCredentialsStore/registry.d.ts +23 -0
- package/dist/esm/internals/locationCredentialsStore/registry.mjs +53 -0
- package/dist/esm/internals/locationCredentialsStore/registry.mjs.map +1 -0
- package/dist/esm/internals/locationCredentialsStore/store.d.ts +36 -0
- package/dist/esm/internals/locationCredentialsStore/store.mjs +96 -0
- package/dist/esm/internals/locationCredentialsStore/store.mjs.map +1 -0
- package/dist/esm/internals/managedAuthConfigAdapter/createListLocationsHandler.d.ts +8 -0
- package/dist/esm/internals/managedAuthConfigAdapter/createListLocationsHandler.mjs +13 -0
- package/dist/esm/internals/managedAuthConfigAdapter/createListLocationsHandler.mjs.map +1 -0
- package/dist/esm/internals/managedAuthConfigAdapter/createLocationCredentialsHandler.d.ts +8 -0
- package/dist/esm/internals/managedAuthConfigAdapter/createLocationCredentialsHandler.mjs +27 -0
- package/dist/esm/internals/managedAuthConfigAdapter/createLocationCredentialsHandler.mjs.map +1 -0
- package/dist/esm/internals/managedAuthConfigAdapter/createManagedAuthConfigAdapter.d.ts +19 -0
- package/dist/esm/internals/managedAuthConfigAdapter/createManagedAuthConfigAdapter.mjs +30 -0
- package/dist/esm/internals/managedAuthConfigAdapter/createManagedAuthConfigAdapter.mjs.map +1 -0
- package/dist/esm/internals/managedAuthConfigAdapter/index.d.ts +1 -0
- package/dist/esm/internals/managedAuthConfigAdapter/index.mjs +2 -0
- package/dist/esm/internals/managedAuthConfigAdapter/index.mjs.map +1 -0
- package/dist/esm/internals/types/common.d.ts +16 -0
- package/dist/esm/internals/types/common.mjs +2 -0
- package/dist/esm/internals/types/common.mjs.map +1 -0
- package/dist/esm/internals/types/credentials.d.ts +86 -0
- package/dist/esm/internals/types/credentials.mjs +2 -0
- package/dist/esm/internals/types/credentials.mjs.map +1 -0
- package/dist/esm/internals/types/inputs.d.ts +92 -0
- package/dist/esm/internals/types/inputs.mjs +2 -0
- package/dist/esm/internals/types/inputs.mjs.map +1 -0
- package/dist/esm/internals/types/options.mjs +2 -0
- package/dist/esm/internals/types/options.mjs.map +1 -0
- package/dist/esm/internals/types/outputs.d.ts +38 -0
- package/dist/esm/internals/types/outputs.mjs +2 -0
- package/dist/esm/internals/types/outputs.mjs.map +1 -0
- package/dist/esm/internals/utils/constants.d.ts +2 -0
- package/dist/esm/internals/utils/constants.mjs +7 -0
- package/dist/esm/internals/utils/constants.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/downloadData.mjs +2 -66
- package/dist/esm/providers/s3/apis/downloadData.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/index.mjs +1 -1
- package/dist/esm/providers/s3/apis/internal/copy.d.ts +3 -2
- package/dist/esm/providers/s3/apis/internal/copy.mjs +67 -18
- package/dist/esm/providers/s3/apis/internal/copy.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/downloadData.d.ts +8 -0
- package/dist/esm/providers/s3/apis/internal/downloadData.mjs +77 -0
- package/dist/esm/providers/s3/apis/internal/downloadData.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/internal/getProperties.d.ts +3 -2
- package/dist/esm/providers/s3/apis/internal/getProperties.mjs +16 -14
- package/dist/esm/providers/s3/apis/internal/getProperties.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/getUrl.d.ts +3 -2
- package/dist/esm/providers/s3/apis/internal/getUrl.mjs +16 -13
- package/dist/esm/providers/s3/apis/internal/getUrl.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/list.d.ts +4 -2
- package/dist/esm/providers/s3/apis/internal/list.mjs +31 -14
- package/dist/esm/providers/s3/apis/internal/list.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/remove.d.ts +3 -2
- package/dist/esm/providers/s3/apis/internal/remove.mjs +16 -14
- package/dist/esm/providers/s3/apis/internal/remove.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/uploadData/byteLength.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/internal/uploadData/index.d.ts +3 -0
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/index.mjs +9 -9
- package/dist/esm/providers/s3/apis/internal/uploadData/index.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/calculatePartSize.mjs +1 -1
- package/dist/esm/providers/s3/apis/internal/uploadData/multipart/calculatePartSize.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/getDataChunker.d.ts +1 -1
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/getDataChunker.mjs +2 -2
- package/dist/esm/providers/s3/apis/internal/uploadData/multipart/getDataChunker.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/internal/uploadData/multipart/index.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/initialUpload.d.ts +6 -4
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/initialUpload.mjs +37 -16
- package/dist/esm/providers/s3/apis/internal/uploadData/multipart/initialUpload.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/progressTracker.d.ts +1 -1
- package/dist/esm/providers/s3/apis/internal/uploadData/multipart/progressTracker.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadCache.d.ts +4 -2
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadCache.mjs +16 -15
- package/dist/esm/providers/s3/apis/internal/uploadData/multipart/uploadCache.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadHandlers.d.ts +2 -2
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadHandlers.mjs +45 -26
- package/dist/esm/providers/s3/apis/internal/uploadData/multipart/uploadHandlers.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadPartExecutor.d.ts +6 -4
- package/dist/esm/providers/s3/apis/internal/uploadData/multipart/uploadPartExecutor.mjs +73 -0
- package/dist/esm/providers/s3/apis/internal/uploadData/multipart/uploadPartExecutor.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/putObjectJob.d.ts +2 -2
- package/dist/esm/providers/s3/apis/internal/uploadData/putObjectJob.mjs +83 -0
- package/dist/esm/providers/s3/apis/internal/uploadData/putObjectJob.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/internal/uploadData/validateObjectNotExists.d.ts +3 -0
- package/dist/esm/providers/s3/apis/internal/uploadData/validateObjectNotExists.mjs +34 -0
- package/dist/esm/providers/s3/apis/internal/uploadData/validateObjectNotExists.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/{uploadData/index.d.ts → uploadData.d.ts} +1 -1
- package/dist/esm/providers/s3/apis/uploadData.mjs +10 -0
- package/dist/esm/providers/s3/apis/uploadData.mjs.map +1 -0
- package/dist/esm/providers/s3/index.d.ts +1 -0
- package/dist/esm/providers/s3/index.mjs +2 -1
- package/dist/esm/providers/s3/index.mjs.map +1 -1
- package/dist/esm/providers/s3/types/options.d.ts +34 -1
- package/dist/esm/providers/s3/utils/client/s3control/base.d.ts +56 -0
- package/dist/esm/providers/s3/utils/client/s3control/base.mjs +74 -0
- package/dist/esm/providers/s3/utils/client/s3control/base.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/s3control/getDataAccess.d.ts +26 -0
- package/dist/esm/providers/s3/utils/client/s3control/getDataAccess.mjs +63 -0
- package/dist/esm/providers/s3/utils/client/s3control/getDataAccess.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/s3control/index.d.ts +2 -0
- package/dist/esm/providers/s3/utils/client/s3control/index.mjs +3 -0
- package/dist/esm/providers/s3/utils/client/s3control/index.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/s3control/listCallerAccessGrants.d.ts +26 -0
- package/dist/esm/providers/s3/utils/client/s3control/listCallerAccessGrants.mjs +67 -0
- package/dist/esm/providers/s3/utils/client/s3control/listCallerAccessGrants.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/s3control/types.d.ts +188 -0
- package/dist/esm/providers/s3/utils/client/{abortMultipartUpload.d.ts → s3data/abortMultipartUpload.d.ts} +5 -5
- package/dist/esm/providers/s3/utils/client/{abortMultipartUpload.mjs → s3data/abortMultipartUpload.mjs} +17 -7
- package/dist/esm/providers/s3/utils/client/s3data/abortMultipartUpload.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{base.d.ts → s3data/base.d.ts} +23 -1
- package/dist/esm/providers/s3/utils/client/{base.mjs → s3data/base.mjs} +29 -6
- package/dist/esm/providers/s3/utils/client/s3data/base.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{completeMultipartUpload.d.ts → s3data/completeMultipartUpload.d.ts} +6 -6
- package/dist/esm/providers/s3/utils/client/{completeMultipartUpload.mjs → s3data/completeMultipartUpload.mjs} +32 -16
- package/dist/esm/providers/s3/utils/client/s3data/completeMultipartUpload.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{copyObject.d.ts → s3data/copyObject.d.ts} +6 -5
- package/dist/esm/providers/s3/utils/client/s3data/copyObject.mjs +71 -0
- package/dist/esm/providers/s3/utils/client/s3data/copyObject.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{createMultipartUpload.d.ts → s3data/createMultipartUpload.d.ts} +4 -4
- package/dist/esm/providers/s3/utils/client/{createMultipartUpload.mjs → s3data/createMultipartUpload.mjs} +19 -7
- package/dist/esm/providers/s3/utils/client/s3data/createMultipartUpload.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{deleteObject.d.ts → s3data/deleteObject.d.ts} +5 -5
- package/dist/esm/providers/s3/utils/client/{deleteObject.mjs → s3data/deleteObject.mjs} +15 -7
- package/dist/esm/providers/s3/utils/client/s3data/deleteObject.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{getObject.d.ts → s3data/getObject.d.ts} +5 -5
- package/dist/esm/providers/s3/utils/client/{getObject.mjs → s3data/getObject.mjs} +16 -8
- package/dist/esm/providers/s3/utils/client/s3data/getObject.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{headObject.d.ts → s3data/headObject.d.ts} +5 -5
- package/dist/esm/providers/s3/utils/client/{headObject.mjs → s3data/headObject.mjs} +15 -7
- package/dist/esm/providers/s3/utils/client/s3data/headObject.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{listObjectsV2.d.ts → s3data/listObjectsV2.d.ts} +4 -4
- package/dist/esm/providers/s3/utils/client/{listObjectsV2.mjs → s3data/listObjectsV2.mjs} +19 -7
- package/dist/esm/providers/s3/utils/client/s3data/listObjectsV2.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{listParts.d.ts → s3data/listParts.d.ts} +4 -4
- package/dist/esm/providers/s3/utils/client/{listParts.mjs → s3data/listParts.mjs} +6 -11
- package/dist/esm/providers/s3/utils/client/s3data/listParts.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{putObject.d.ts → s3data/putObject.d.ts} +5 -5
- package/dist/esm/providers/s3/utils/client/{putObject.mjs → s3data/putObject.mjs} +16 -7
- package/dist/esm/providers/s3/utils/client/s3data/putObject.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/s3data/types.mjs +2 -0
- package/dist/esm/providers/s3/utils/client/s3data/types.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{uploadPart.d.ts → s3data/uploadPart.d.ts} +5 -5
- package/dist/esm/providers/s3/utils/client/{uploadPart.mjs → s3data/uploadPart.mjs} +17 -8
- package/dist/esm/providers/s3/utils/client/s3data/uploadPart.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/utils/createRetryDecider.d.ts +22 -0
- package/dist/esm/providers/s3/utils/client/utils/createRetryDecider.mjs +55 -0
- package/dist/esm/providers/s3/utils/client/utils/createRetryDecider.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.d.ts +24 -0
- package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.mjs +44 -1
- package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/utils/index.d.ts +4 -2
- package/dist/esm/providers/s3/utils/client/utils/index.mjs +4 -2
- package/dist/esm/providers/s3/utils/client/utils/index.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/utils/integrityHelpers.d.ts +20 -0
- package/dist/esm/providers/s3/utils/client/utils/integrityHelpers.mjs +54 -0
- package/dist/esm/providers/s3/utils/client/utils/integrityHelpers.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/utils/parsePayload.d.ts +16 -1
- package/dist/esm/providers/s3/utils/client/utils/parsePayload.mjs +19 -5
- package/dist/esm/providers/s3/utils/client/utils/parsePayload.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/constants.d.ts +3 -0
- package/dist/esm/providers/s3/utils/constants.mjs +3 -0
- package/dist/esm/providers/s3/utils/constants.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/crc32.d.ts +6 -0
- package/dist/esm/providers/s3/utils/crc32.mjs +34 -0
- package/dist/esm/providers/s3/utils/crc32.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/crc32.native.d.ts +2 -0
- package/dist/esm/providers/s3/utils/crc32.native.mjs +8 -0
- package/dist/esm/providers/s3/utils/crc32.native.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/index.d.ts +1 -0
- package/dist/esm/providers/s3/utils/index.mjs +1 -0
- package/dist/esm/providers/s3/utils/index.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/resolveIdentityId.d.ts +1 -0
- package/dist/esm/providers/s3/utils/resolveIdentityId.mjs +12 -0
- package/dist/esm/providers/s3/utils/resolveIdentityId.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.d.ts +10 -2
- package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.mjs +57 -11
- package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/validateBucketOwnerID.d.ts +1 -0
- package/dist/esm/providers/s3/utils/validateBucketOwnerID.mjs +15 -0
- package/dist/esm/providers/s3/utils/validateBucketOwnerID.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/validateMultipartUploadXML.d.ts +2 -0
- package/dist/esm/providers/s3/utils/validateMultipartUploadXML.mjs +30 -0
- package/dist/esm/providers/s3/utils/validateMultipartUploadXML.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/validateObjectUrl.d.ts +5 -0
- package/dist/esm/providers/s3/utils/validateObjectUrl.mjs +22 -0
- package/dist/esm/providers/s3/utils/validateObjectUrl.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/validateStorageOperationInput.mjs +4 -1
- package/dist/esm/providers/s3/utils/validateStorageOperationInput.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/validateStorageOperationInputWithPrefix.mjs +4 -1
- package/dist/esm/providers/s3/utils/validateStorageOperationInputWithPrefix.mjs.map +1 -1
- package/dist/esm/types/inputs.d.ts +3 -7
- package/internals/package.json +7 -0
- package/package.json +118 -107
- package/src/errors/IntegrityError.ts +25 -0
- package/src/errors/constants.ts +4 -0
- package/src/errors/types/validation.ts +16 -0
- package/src/index.ts +2 -0
- package/src/internals/apis/copy.ts +33 -0
- package/src/internals/apis/downloadData.ts +24 -0
- package/src/internals/apis/getDataAccess.ts +82 -0
- package/src/internals/apis/getProperties.ts +26 -0
- package/src/internals/apis/getUrl.ts +30 -0
- package/src/internals/apis/list.ts +46 -0
- package/src/internals/apis/listCallerAccessGrants.ts +95 -0
- package/src/internals/apis/remove.ts +24 -0
- package/src/internals/apis/uploadData.ts +34 -0
- package/src/internals/index.ts +67 -0
- package/src/internals/locationCredentialsStore/constants.ts +5 -0
- package/src/internals/locationCredentialsStore/create.ts +54 -0
- package/src/internals/locationCredentialsStore/index.ts +4 -0
- package/src/internals/locationCredentialsStore/registry.ts +89 -0
- package/src/internals/locationCredentialsStore/store.ts +159 -0
- package/src/internals/managedAuthConfigAdapter/createListLocationsHandler.ts +21 -0
- package/src/internals/managedAuthConfigAdapter/createLocationCredentialsHandler.ts +40 -0
- package/src/internals/managedAuthConfigAdapter/createManagedAuthConfigAdapter.ts +53 -0
- package/src/internals/managedAuthConfigAdapter/index.ts +8 -0
- package/src/internals/types/common.ts +22 -0
- package/src/internals/types/credentials.ts +109 -0
- package/src/internals/types/inputs.ts +153 -0
- package/src/internals/types/options.ts +2 -0
- package/src/internals/types/outputs.ts +60 -0
- package/src/internals/utils/constants.ts +5 -0
- package/src/providers/s3/apis/downloadData.ts +3 -84
- package/src/providers/s3/apis/internal/copy.ts +71 -15
- package/src/providers/s3/apis/internal/downloadData.ts +96 -0
- package/src/providers/s3/apis/internal/getProperties.ts +10 -5
- package/src/providers/s3/apis/internal/getUrl.ts +9 -9
- package/src/providers/s3/apis/internal/list.ts +38 -17
- package/src/providers/s3/apis/internal/remove.ts +9 -10
- package/src/providers/s3/apis/internal/uploadData/index.ts +53 -0
- package/src/providers/s3/apis/{uploadData → internal/uploadData}/multipart/calculatePartSize.ts +4 -1
- package/src/providers/s3/apis/{uploadData → internal/uploadData}/multipart/getDataChunker.ts +3 -3
- package/src/providers/s3/apis/{uploadData → internal/uploadData}/multipart/initialUpload.ts +40 -5
- package/src/providers/s3/apis/{uploadData → internal/uploadData}/multipart/progressTracker.ts +1 -1
- package/src/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadCache.ts +7 -4
- package/src/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadHandlers.ts +53 -26
- package/src/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadPartExecutor.ts +29 -10
- package/src/providers/s3/apis/{uploadData → internal/uploadData}/putObjectJob.ts +32 -11
- package/src/providers/s3/apis/internal/uploadData/validateObjectNotExists.ts +25 -0
- package/src/providers/s3/apis/{uploadData/index.ts → uploadData.ts} +3 -42
- package/src/providers/s3/index.ts +2 -0
- package/src/providers/s3/types/options.ts +47 -1
- package/src/providers/s3/utils/client/s3control/base.ts +97 -0
- package/src/providers/s3/utils/client/s3control/getDataAccess.ts +96 -0
- package/src/providers/s3/utils/client/s3control/index.ts +13 -0
- package/src/providers/s3/utils/client/s3control/listCallerAccessGrants.ts +107 -0
- package/src/providers/s3/utils/client/s3control/types.ts +216 -0
- package/src/providers/s3/utils/client/{abortMultipartUpload.ts → s3data/abortMultipartUpload.ts} +18 -6
- package/src/providers/s3/utils/client/{base.ts → s3data/base.ts} +26 -3
- package/src/providers/s3/utils/client/{completeMultipartUpload.ts → s3data/completeMultipartUpload.ts} +47 -22
- package/src/providers/s3/utils/client/{copyObject.ts → s3data/copyObject.ts} +47 -4
- package/src/providers/s3/utils/client/{createMultipartUpload.ts → s3data/createMultipartUpload.ts} +22 -9
- package/src/providers/s3/utils/client/{deleteObject.ts → s3data/deleteObject.ts} +19 -9
- package/src/providers/s3/utils/client/{getObject.ts → s3data/getObject.ts} +24 -9
- package/src/providers/s3/utils/client/{headObject.ts → s3data/headObject.ts} +19 -6
- package/src/providers/s3/utils/client/{listObjectsV2.ts → s3data/listObjectsV2.ts} +33 -8
- package/src/providers/s3/utils/client/{listParts.ts → s3data/listParts.ts} +5 -18
- package/src/providers/s3/utils/client/{putObject.ts → s3data/putObject.ts} +17 -5
- package/src/providers/s3/utils/client/{uploadPart.ts → s3data/uploadPart.ts} +24 -7
- package/src/providers/s3/utils/client/utils/createRetryDecider.ts +96 -0
- package/src/providers/s3/utils/client/utils/deserializeHelpers.ts +57 -0
- package/src/providers/s3/utils/client/utils/index.ts +4 -1
- package/src/providers/s3/utils/client/utils/integrityHelpers.ts +62 -0
- package/src/providers/s3/utils/client/utils/parsePayload.ts +36 -18
- package/src/providers/s3/utils/constants.ts +3 -0
- package/src/providers/s3/utils/crc32.native.ts +11 -0
- package/src/providers/s3/utils/crc32.ts +51 -0
- package/src/providers/s3/utils/index.ts +1 -0
- package/src/providers/s3/utils/resolveIdentityId.ts +11 -0
- package/src/providers/s3/utils/resolveS3ConfigAndInput.ts +109 -14
- package/src/providers/s3/utils/validateBucketOwnerID.ts +18 -0
- package/src/providers/s3/utils/validateMultipartUploadXML.ts +36 -0
- package/src/providers/s3/utils/validateObjectUrl.ts +32 -0
- package/src/providers/s3/utils/validateStorageOperationInput.ts +5 -1
- package/src/providers/s3/utils/validateStorageOperationInputWithPrefix.ts +5 -1
- package/src/types/inputs.ts +6 -3
- package/dist/cjs/providers/s3/apis/uploadData/byteLength.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/index.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/calculatePartSize.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/getDataChunker.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/index.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/initialUpload.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/progressTracker.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadCache.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadHandlers.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadPartExecutor.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/putObjectJob.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/abortMultipartUpload.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/base.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/completeMultipartUpload.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/copyObject.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/createMultipartUpload.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/deleteObject.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/getObject.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/headObject.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/index.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/listObjectsV2.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/listParts.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/putObject.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/types.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/uploadPart.js.map +0 -1
- package/dist/esm/providers/s3/apis/uploadData/byteLength.mjs.map +0 -1
- package/dist/esm/providers/s3/apis/uploadData/index.mjs.map +0 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/calculatePartSize.mjs.map +0 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/getDataChunker.mjs.map +0 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.mjs.map +0 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/progressTracker.mjs.map +0 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadCache.mjs.map +0 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadHandlers.mjs.map +0 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.mjs +0 -63
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.mjs.map +0 -1
- package/dist/esm/providers/s3/apis/uploadData/putObjectJob.mjs +0 -67
- package/dist/esm/providers/s3/apis/uploadData/putObjectJob.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/abortMultipartUpload.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/base.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/completeMultipartUpload.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/copyObject.mjs +0 -47
- package/dist/esm/providers/s3/utils/client/copyObject.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/createMultipartUpload.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/deleteObject.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/getObject.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/headObject.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/listObjectsV2.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/listParts.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/putObject.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/uploadPart.mjs.map +0 -1
- /package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/byteLength.js +0 -0
- /package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/multipart/index.js +0 -0
- /package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/multipart/progressTracker.js +0 -0
- /package/dist/cjs/providers/s3/utils/client/{types.js → s3control/types.js} +0 -0
- /package/dist/cjs/providers/s3/utils/client/{index.js → s3data/index.js} +0 -0
- /package/dist/esm/{providers/s3/apis/uploadData/multipart → internals/locationCredentialsStore}/index.mjs.map +0 -0
- /package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/byteLength.d.ts +0 -0
- /package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/byteLength.mjs +0 -0
- /package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/calculatePartSize.d.ts +0 -0
- /package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/index.d.ts +0 -0
- /package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/index.mjs +0 -0
- /package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/progressTracker.mjs +0 -0
- /package/dist/esm/providers/s3/utils/client/{types.mjs → s3control/types.mjs} +0 -0
- /package/dist/esm/providers/s3/utils/client/{types.mjs.map → s3control/types.mjs.map} +0 -0
- /package/dist/esm/providers/s3/utils/client/{index.d.ts → s3data/index.d.ts} +0 -0
- /package/dist/esm/providers/s3/utils/client/{index.mjs → s3data/index.mjs} +0 -0
- /package/dist/esm/providers/s3/utils/client/{index.mjs.map → s3data/index.mjs.map} +0 -0
- /package/dist/esm/providers/s3/utils/client/{types.d.ts → s3data/types.d.ts} +0 -0
- /package/src/providers/s3/apis/{uploadData → internal/uploadData}/byteLength.ts +0 -0
- /package/src/providers/s3/apis/{uploadData → internal/uploadData}/multipart/index.ts +0 -0
- /package/src/providers/s3/utils/client/{index.ts → s3data/index.ts} +0 -0
- /package/src/providers/s3/utils/client/{types.ts → s3data/types.ts} +0 -0
|
@@ -10,18 +10,21 @@ import {
|
|
|
10
10
|
import { AmplifyUrl } from '@aws-amplify/core/internals/utils';
|
|
11
11
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
12
12
|
|
|
13
|
-
import type { CopyObjectCommandInput, CopyObjectCommandOutput } from './types';
|
|
14
|
-
import { defaultConfig } from './base';
|
|
15
13
|
import {
|
|
16
14
|
assignStringVariables,
|
|
15
|
+
bothNilOrEqual,
|
|
17
16
|
buildStorageServiceError,
|
|
18
17
|
parseXmlBody,
|
|
19
|
-
parseXmlError,
|
|
20
18
|
s3TransferHandler,
|
|
21
19
|
serializeObjectConfigsToHeaders,
|
|
22
20
|
serializePathnameObjectKey,
|
|
23
21
|
validateS3RequiredParameter,
|
|
24
|
-
} from '
|
|
22
|
+
} from '../utils';
|
|
23
|
+
import { IntegrityError } from '../../../../../errors/IntegrityError';
|
|
24
|
+
import { validateObjectUrl } from '../../validateObjectUrl';
|
|
25
|
+
|
|
26
|
+
import type { CopyObjectCommandInput, CopyObjectCommandOutput } from './types';
|
|
27
|
+
import { defaultConfig, parseXmlError } from './base';
|
|
25
28
|
|
|
26
29
|
export type CopyObjectInput = Pick<
|
|
27
30
|
CopyObjectCommandInput,
|
|
@@ -37,6 +40,10 @@ export type CopyObjectInput = Pick<
|
|
|
37
40
|
| 'ACL'
|
|
38
41
|
| 'Tagging'
|
|
39
42
|
| 'Metadata'
|
|
43
|
+
| 'CopySourceIfUnmodifiedSince'
|
|
44
|
+
| 'CopySourceIfMatch'
|
|
45
|
+
| 'ExpectedSourceBucketOwner'
|
|
46
|
+
| 'ExpectedBucketOwner'
|
|
40
47
|
>;
|
|
41
48
|
|
|
42
49
|
export type CopyObjectOutput = CopyObjectCommandOutput;
|
|
@@ -50,11 +57,22 @@ const copyObjectSerializer = async (
|
|
|
50
57
|
...assignStringVariables({
|
|
51
58
|
'x-amz-copy-source': input.CopySource,
|
|
52
59
|
'x-amz-metadata-directive': input.MetadataDirective,
|
|
60
|
+
'x-amz-copy-source-if-match': input.CopySourceIfMatch,
|
|
61
|
+
'x-amz-copy-source-if-unmodified-since':
|
|
62
|
+
input.CopySourceIfUnmodifiedSince?.toISOString(),
|
|
63
|
+
'x-amz-source-expected-bucket-owner': input.ExpectedSourceBucketOwner,
|
|
64
|
+
'x-amz-expected-bucket-owner': input.ExpectedBucketOwner,
|
|
53
65
|
}),
|
|
54
66
|
};
|
|
67
|
+
validateCopyObjectHeaders(input, headers);
|
|
55
68
|
const url = new AmplifyUrl(endpoint.url.toString());
|
|
56
69
|
validateS3RequiredParameter(!!input.Key, 'Key');
|
|
57
70
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
71
|
+
validateObjectUrl({
|
|
72
|
+
bucketName: input.Bucket,
|
|
73
|
+
key: input.Key,
|
|
74
|
+
objectURL: url,
|
|
75
|
+
});
|
|
58
76
|
|
|
59
77
|
return {
|
|
60
78
|
method: 'PUT',
|
|
@@ -63,6 +81,31 @@ const copyObjectSerializer = async (
|
|
|
63
81
|
};
|
|
64
82
|
};
|
|
65
83
|
|
|
84
|
+
export const validateCopyObjectHeaders = (
|
|
85
|
+
input: CopyObjectInput,
|
|
86
|
+
headers: Record<string, string>,
|
|
87
|
+
) => {
|
|
88
|
+
const validations: boolean[] = [
|
|
89
|
+
headers['x-amz-copy-source'] === input.CopySource,
|
|
90
|
+
bothNilOrEqual(
|
|
91
|
+
input.MetadataDirective,
|
|
92
|
+
headers['x-amz-metadata-directive'],
|
|
93
|
+
),
|
|
94
|
+
bothNilOrEqual(
|
|
95
|
+
input.CopySourceIfMatch,
|
|
96
|
+
headers['x-amz-copy-source-if-match'],
|
|
97
|
+
),
|
|
98
|
+
bothNilOrEqual(
|
|
99
|
+
input.CopySourceIfUnmodifiedSince?.toISOString(),
|
|
100
|
+
headers['x-amz-copy-source-if-unmodified-since'],
|
|
101
|
+
),
|
|
102
|
+
];
|
|
103
|
+
|
|
104
|
+
if (validations.some(validation => !validation)) {
|
|
105
|
+
throw new IntegrityError();
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
|
|
66
109
|
const copyObjectDeserializer = async (
|
|
67
110
|
response: HttpResponse,
|
|
68
111
|
): Promise<CopyObjectOutput> => {
|
package/src/providers/s3/utils/client/{createMultipartUpload.ts → s3data/createMultipartUpload.ts}
RENAMED
|
@@ -10,22 +10,24 @@ import {
|
|
|
10
10
|
import { AmplifyUrl } from '@aws-amplify/core/internals/utils';
|
|
11
11
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
12
12
|
|
|
13
|
-
import type {
|
|
14
|
-
CreateMultipartUploadCommandInput,
|
|
15
|
-
CreateMultipartUploadCommandOutput,
|
|
16
|
-
} from './types';
|
|
17
|
-
import type { PutObjectInput } from './putObject';
|
|
18
|
-
import { defaultConfig } from './base';
|
|
19
13
|
import {
|
|
14
|
+
assignStringVariables,
|
|
20
15
|
buildStorageServiceError,
|
|
21
16
|
map,
|
|
22
17
|
parseXmlBody,
|
|
23
|
-
parseXmlError,
|
|
24
18
|
s3TransferHandler,
|
|
25
19
|
serializeObjectConfigsToHeaders,
|
|
26
20
|
serializePathnameObjectKey,
|
|
27
21
|
validateS3RequiredParameter,
|
|
28
|
-
} from '
|
|
22
|
+
} from '../utils';
|
|
23
|
+
import { validateObjectUrl } from '../../validateObjectUrl';
|
|
24
|
+
|
|
25
|
+
import type {
|
|
26
|
+
CreateMultipartUploadCommandInput,
|
|
27
|
+
CreateMultipartUploadCommandOutput,
|
|
28
|
+
} from './types';
|
|
29
|
+
import type { PutObjectInput } from './putObject';
|
|
30
|
+
import { defaultConfig, parseXmlError } from './base';
|
|
29
31
|
|
|
30
32
|
export type CreateMultipartUploadInput = Extract<
|
|
31
33
|
CreateMultipartUploadCommandInput,
|
|
@@ -41,11 +43,22 @@ const createMultipartUploadSerializer = async (
|
|
|
41
43
|
input: CreateMultipartUploadInput,
|
|
42
44
|
endpoint: Endpoint,
|
|
43
45
|
): Promise<HttpRequest> => {
|
|
44
|
-
const headers =
|
|
46
|
+
const headers = {
|
|
47
|
+
...(await serializeObjectConfigsToHeaders(input)),
|
|
48
|
+
...assignStringVariables({
|
|
49
|
+
'x-amz-checksum-algorithm': input.ChecksumAlgorithm,
|
|
50
|
+
'x-amz-expected-bucket-owner': input.ExpectedBucketOwner,
|
|
51
|
+
}),
|
|
52
|
+
};
|
|
45
53
|
const url = new AmplifyUrl(endpoint.url.toString());
|
|
46
54
|
validateS3RequiredParameter(!!input.Key, 'Key');
|
|
47
55
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
48
56
|
url.search = 'uploads';
|
|
57
|
+
validateObjectUrl({
|
|
58
|
+
bucketName: input.Bucket,
|
|
59
|
+
key: input.Key,
|
|
60
|
+
objectURL: url,
|
|
61
|
+
});
|
|
49
62
|
|
|
50
63
|
return {
|
|
51
64
|
method: 'POST',
|
|
@@ -10,24 +10,26 @@ import {
|
|
|
10
10
|
import { AmplifyUrl } from '@aws-amplify/core/internals/utils';
|
|
11
11
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
12
12
|
|
|
13
|
-
import type {
|
|
14
|
-
DeleteObjectCommandInput,
|
|
15
|
-
DeleteObjectCommandOutput,
|
|
16
|
-
} from './types';
|
|
17
|
-
import { defaultConfig } from './base';
|
|
18
13
|
import {
|
|
14
|
+
assignStringVariables,
|
|
19
15
|
buildStorageServiceError,
|
|
20
16
|
deserializeBoolean,
|
|
21
17
|
map,
|
|
22
|
-
parseXmlError,
|
|
23
18
|
s3TransferHandler,
|
|
24
19
|
serializePathnameObjectKey,
|
|
25
20
|
validateS3RequiredParameter,
|
|
26
|
-
} from '
|
|
21
|
+
} from '../utils';
|
|
22
|
+
import { validateObjectUrl } from '../../validateObjectUrl';
|
|
23
|
+
|
|
24
|
+
import type {
|
|
25
|
+
DeleteObjectCommandInput,
|
|
26
|
+
DeleteObjectCommandOutput,
|
|
27
|
+
} from './types';
|
|
28
|
+
import { defaultConfig, parseXmlError } from './base';
|
|
27
29
|
|
|
28
30
|
export type DeleteObjectInput = Pick<
|
|
29
31
|
DeleteObjectCommandInput,
|
|
30
|
-
'Bucket' | 'Key'
|
|
32
|
+
'Bucket' | 'Key' | 'ExpectedBucketOwner'
|
|
31
33
|
>;
|
|
32
34
|
|
|
33
35
|
export type DeleteObjectOutput = DeleteObjectCommandOutput;
|
|
@@ -39,10 +41,18 @@ const deleteObjectSerializer = (
|
|
|
39
41
|
const url = new AmplifyUrl(endpoint.url.toString());
|
|
40
42
|
validateS3RequiredParameter(!!input.Key, 'Key');
|
|
41
43
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
44
|
+
validateObjectUrl({
|
|
45
|
+
bucketName: input.Bucket,
|
|
46
|
+
key: input.Key,
|
|
47
|
+
objectURL: url,
|
|
48
|
+
});
|
|
49
|
+
const headers = assignStringVariables({
|
|
50
|
+
'x-amz-expected-bucket-owner': input.ExpectedBucketOwner,
|
|
51
|
+
});
|
|
42
52
|
|
|
43
53
|
return {
|
|
44
54
|
method: 'DELETE',
|
|
45
|
-
headers
|
|
55
|
+
headers,
|
|
46
56
|
url,
|
|
47
57
|
};
|
|
48
58
|
};
|
|
@@ -11,28 +11,34 @@ import {
|
|
|
11
11
|
parseMetadata,
|
|
12
12
|
presignUrl,
|
|
13
13
|
} from '@aws-amplify/core/internals/aws-client-utils';
|
|
14
|
-
import { AmplifyUrl } from '@aws-amplify/core/internals/utils';
|
|
15
14
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
15
|
+
import { AmplifyUrl } from '@aws-amplify/core/internals/utils';
|
|
16
16
|
|
|
17
|
-
import { S3EndpointResolverOptions, defaultConfig } from './base';
|
|
18
|
-
import type {
|
|
19
|
-
CompatibleHttpResponse,
|
|
20
|
-
GetObjectCommandInput,
|
|
21
|
-
GetObjectCommandOutput,
|
|
22
|
-
} from './types';
|
|
23
17
|
import {
|
|
24
18
|
CONTENT_SHA256_HEADER,
|
|
19
|
+
assignStringVariables,
|
|
25
20
|
buildStorageServiceError,
|
|
26
21
|
deserializeBoolean,
|
|
27
22
|
deserializeMetadata,
|
|
28
23
|
deserializeNumber,
|
|
29
24
|
deserializeTimestamp,
|
|
30
25
|
map,
|
|
31
|
-
parseXmlError,
|
|
32
26
|
s3TransferHandler,
|
|
33
27
|
serializePathnameObjectKey,
|
|
34
28
|
validateS3RequiredParameter,
|
|
35
|
-
} from '
|
|
29
|
+
} from '../utils';
|
|
30
|
+
import { validateObjectUrl } from '../../validateObjectUrl';
|
|
31
|
+
|
|
32
|
+
import {
|
|
33
|
+
S3EndpointResolverOptions,
|
|
34
|
+
defaultConfig,
|
|
35
|
+
parseXmlError,
|
|
36
|
+
} from './base';
|
|
37
|
+
import type {
|
|
38
|
+
CompatibleHttpResponse,
|
|
39
|
+
GetObjectCommandInput,
|
|
40
|
+
GetObjectCommandOutput,
|
|
41
|
+
} from './types';
|
|
36
42
|
|
|
37
43
|
const USER_AGENT_HEADER = 'x-amz-user-agent';
|
|
38
44
|
|
|
@@ -43,6 +49,7 @@ export type GetObjectInput = Pick<
|
|
|
43
49
|
| 'Range'
|
|
44
50
|
| 'ResponseContentDisposition'
|
|
45
51
|
| 'ResponseContentType'
|
|
52
|
+
| 'ExpectedBucketOwner'
|
|
46
53
|
>;
|
|
47
54
|
|
|
48
55
|
export type GetObjectOutput = GetObjectCommandOutput;
|
|
@@ -54,11 +61,19 @@ const getObjectSerializer = async (
|
|
|
54
61
|
const url = new AmplifyUrl(endpoint.url.toString());
|
|
55
62
|
validateS3RequiredParameter(!!input.Key, 'Key');
|
|
56
63
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
64
|
+
validateObjectUrl({
|
|
65
|
+
bucketName: input.Bucket,
|
|
66
|
+
key: input.Key,
|
|
67
|
+
objectURL: url,
|
|
68
|
+
});
|
|
57
69
|
|
|
58
70
|
return {
|
|
59
71
|
method: 'GET',
|
|
60
72
|
headers: {
|
|
61
73
|
...(input.Range && { Range: input.Range }),
|
|
74
|
+
...assignStringVariables({
|
|
75
|
+
'x-amz-expected-bucket-owner': input.ExpectedBucketOwner,
|
|
76
|
+
}),
|
|
62
77
|
},
|
|
63
78
|
url,
|
|
64
79
|
};
|
|
@@ -10,21 +10,26 @@ import {
|
|
|
10
10
|
import { AmplifyUrl } from '@aws-amplify/core/internals/utils';
|
|
11
11
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
12
12
|
|
|
13
|
-
import { defaultConfig } from './base';
|
|
14
|
-
import type { HeadObjectCommandInput, HeadObjectCommandOutput } from './types';
|
|
15
13
|
import {
|
|
14
|
+
assignStringVariables,
|
|
16
15
|
buildStorageServiceError,
|
|
17
16
|
deserializeMetadata,
|
|
18
17
|
deserializeNumber,
|
|
19
18
|
deserializeTimestamp,
|
|
20
19
|
map,
|
|
21
|
-
parseXmlError,
|
|
22
20
|
s3TransferHandler,
|
|
23
21
|
serializePathnameObjectKey,
|
|
24
22
|
validateS3RequiredParameter,
|
|
25
|
-
} from '
|
|
23
|
+
} from '../utils';
|
|
24
|
+
import { validateObjectUrl } from '../../validateObjectUrl';
|
|
25
|
+
|
|
26
|
+
import { defaultConfig, parseXmlError } from './base';
|
|
27
|
+
import type { HeadObjectCommandInput, HeadObjectCommandOutput } from './types';
|
|
26
28
|
|
|
27
|
-
export type HeadObjectInput = Pick<
|
|
29
|
+
export type HeadObjectInput = Pick<
|
|
30
|
+
HeadObjectCommandInput,
|
|
31
|
+
'Bucket' | 'Key' | 'ExpectedBucketOwner'
|
|
32
|
+
>;
|
|
28
33
|
|
|
29
34
|
export type HeadObjectOutput = Pick<
|
|
30
35
|
HeadObjectCommandOutput,
|
|
@@ -44,10 +49,18 @@ const headObjectSerializer = async (
|
|
|
44
49
|
const url = new AmplifyUrl(endpoint.url.toString());
|
|
45
50
|
validateS3RequiredParameter(!!input.Key, 'Key');
|
|
46
51
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
52
|
+
validateObjectUrl({
|
|
53
|
+
bucketName: input.Bucket,
|
|
54
|
+
key: input.Key,
|
|
55
|
+
objectURL: url,
|
|
56
|
+
});
|
|
57
|
+
const headers = assignStringVariables({
|
|
58
|
+
'x-amz-expected-bucket-owner': input.ExpectedBucketOwner,
|
|
59
|
+
});
|
|
47
60
|
|
|
48
61
|
return {
|
|
49
62
|
method: 'HEAD',
|
|
50
|
-
headers
|
|
63
|
+
headers,
|
|
51
64
|
url,
|
|
52
65
|
};
|
|
53
66
|
};
|
|
@@ -13,11 +13,6 @@ import {
|
|
|
13
13
|
} from '@aws-amplify/core/internals/utils';
|
|
14
14
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
15
15
|
|
|
16
|
-
import type {
|
|
17
|
-
ListObjectsV2CommandInput,
|
|
18
|
-
ListObjectsV2CommandOutput,
|
|
19
|
-
} from './types';
|
|
20
|
-
import { defaultConfig } from './base';
|
|
21
16
|
import {
|
|
22
17
|
assignStringVariables,
|
|
23
18
|
buildStorageServiceError,
|
|
@@ -27,9 +22,15 @@ import {
|
|
|
27
22
|
emptyArrayGuard,
|
|
28
23
|
map,
|
|
29
24
|
parseXmlBody,
|
|
30
|
-
parseXmlError,
|
|
31
25
|
s3TransferHandler,
|
|
32
|
-
} from '
|
|
26
|
+
} from '../utils';
|
|
27
|
+
import { IntegrityError } from '../../../../../errors/IntegrityError';
|
|
28
|
+
|
|
29
|
+
import type {
|
|
30
|
+
ListObjectsV2CommandInput,
|
|
31
|
+
ListObjectsV2CommandOutput,
|
|
32
|
+
} from './types';
|
|
33
|
+
import { defaultConfig, parseXmlError } from './base';
|
|
33
34
|
|
|
34
35
|
export type ListObjectsV2Input = ListObjectsV2CommandInput;
|
|
35
36
|
|
|
@@ -93,10 +94,13 @@ const listObjectsV2Deserializer = async (
|
|
|
93
94
|
StartAfter: 'StartAfter',
|
|
94
95
|
});
|
|
95
96
|
|
|
96
|
-
|
|
97
|
+
const output = {
|
|
97
98
|
$metadata: parseMetadata(response),
|
|
98
99
|
...contents,
|
|
99
100
|
};
|
|
101
|
+
validateCorroboratingElements(output);
|
|
102
|
+
|
|
103
|
+
return output;
|
|
100
104
|
}
|
|
101
105
|
};
|
|
102
106
|
|
|
@@ -130,6 +134,27 @@ const deserializeChecksumAlgorithmList = (output: any[]) =>
|
|
|
130
134
|
const deserializeOwner = (output: any) =>
|
|
131
135
|
map(output, { DisplayName: 'DisplayName', ID: 'ID' });
|
|
132
136
|
|
|
137
|
+
const validateCorroboratingElements = (response: ListObjectsV2Output) => {
|
|
138
|
+
const {
|
|
139
|
+
IsTruncated,
|
|
140
|
+
KeyCount,
|
|
141
|
+
Contents = [],
|
|
142
|
+
CommonPrefixes = [],
|
|
143
|
+
NextContinuationToken,
|
|
144
|
+
} = response;
|
|
145
|
+
|
|
146
|
+
const validTruncation =
|
|
147
|
+
(IsTruncated && !!NextContinuationToken) ||
|
|
148
|
+
(!IsTruncated && !NextContinuationToken);
|
|
149
|
+
|
|
150
|
+
const validNumberOfKeysReturned =
|
|
151
|
+
KeyCount === Contents.length + CommonPrefixes.length;
|
|
152
|
+
|
|
153
|
+
if (!validTruncation || !validNumberOfKeysReturned) {
|
|
154
|
+
throw new IntegrityError();
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
|
|
133
158
|
export const listObjectsV2 = composeServiceApi(
|
|
134
159
|
s3TransferHandler,
|
|
135
160
|
listObjectsV2Serializer,
|
|
@@ -13,23 +13,19 @@ import {
|
|
|
13
13
|
} from '@aws-amplify/core/internals/utils';
|
|
14
14
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
15
15
|
|
|
16
|
-
import type {
|
|
17
|
-
CompletedPart,
|
|
18
|
-
ListPartsCommandInput,
|
|
19
|
-
ListPartsCommandOutput,
|
|
20
|
-
} from './types';
|
|
21
|
-
import { defaultConfig } from './base';
|
|
22
16
|
import {
|
|
23
17
|
buildStorageServiceError,
|
|
24
|
-
|
|
18
|
+
deserializeCompletedPartList,
|
|
25
19
|
emptyArrayGuard,
|
|
26
20
|
map,
|
|
27
21
|
parseXmlBody,
|
|
28
|
-
parseXmlError,
|
|
29
22
|
s3TransferHandler,
|
|
30
23
|
serializePathnameObjectKey,
|
|
31
24
|
validateS3RequiredParameter,
|
|
32
|
-
} from '
|
|
25
|
+
} from '../utils';
|
|
26
|
+
|
|
27
|
+
import type { ListPartsCommandInput, ListPartsCommandOutput } from './types';
|
|
28
|
+
import { defaultConfig, parseXmlError } from './base';
|
|
33
29
|
|
|
34
30
|
export type ListPartsInput = Pick<
|
|
35
31
|
ListPartsCommandInput,
|
|
@@ -84,15 +80,6 @@ const listPartsDeserializer = async (
|
|
|
84
80
|
}
|
|
85
81
|
};
|
|
86
82
|
|
|
87
|
-
const deserializeCompletedPartList = (input: any[]): CompletedPart[] =>
|
|
88
|
-
input.map(item =>
|
|
89
|
-
map(item, {
|
|
90
|
-
PartNumber: ['PartNumber', deserializeNumber],
|
|
91
|
-
ETag: 'ETag',
|
|
92
|
-
Size: ['Size', deserializeNumber],
|
|
93
|
-
}),
|
|
94
|
-
);
|
|
95
|
-
|
|
96
83
|
export const listParts = composeServiceApi(
|
|
97
84
|
s3TransferHandler,
|
|
98
85
|
listPartsSerializer,
|
|
@@ -10,18 +10,19 @@ import {
|
|
|
10
10
|
import { AmplifyUrl } from '@aws-amplify/core/internals/utils';
|
|
11
11
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
12
12
|
|
|
13
|
-
import { defaultConfig } from './base';
|
|
14
|
-
import type { PutObjectCommandInput, PutObjectCommandOutput } from './types';
|
|
15
13
|
import {
|
|
16
14
|
assignStringVariables,
|
|
17
15
|
buildStorageServiceError,
|
|
18
16
|
map,
|
|
19
|
-
parseXmlError,
|
|
20
17
|
s3TransferHandler,
|
|
21
18
|
serializeObjectConfigsToHeaders,
|
|
22
19
|
serializePathnameObjectKey,
|
|
23
20
|
validateS3RequiredParameter,
|
|
24
|
-
} from '
|
|
21
|
+
} from '../utils';
|
|
22
|
+
import { validateObjectUrl } from '../../validateObjectUrl';
|
|
23
|
+
|
|
24
|
+
import { defaultConfig, parseXmlError } from './base';
|
|
25
|
+
import type { PutObjectCommandInput, PutObjectCommandOutput } from './types';
|
|
25
26
|
|
|
26
27
|
export type PutObjectInput = Pick<
|
|
27
28
|
PutObjectCommandInput,
|
|
@@ -37,6 +38,8 @@ export type PutObjectInput = Pick<
|
|
|
37
38
|
| 'Expires'
|
|
38
39
|
| 'Metadata'
|
|
39
40
|
| 'Tagging'
|
|
41
|
+
| 'ChecksumCRC32'
|
|
42
|
+
| 'ExpectedBucketOwner'
|
|
40
43
|
>;
|
|
41
44
|
|
|
42
45
|
export type PutObjectOutput = Pick<
|
|
@@ -55,11 +58,20 @@ const putObjectSerializer = async (
|
|
|
55
58
|
...input,
|
|
56
59
|
ContentType: input.ContentType ?? 'application/octet-stream',
|
|
57
60
|
})),
|
|
58
|
-
...assignStringVariables({
|
|
61
|
+
...assignStringVariables({
|
|
62
|
+
'content-md5': input.ContentMD5,
|
|
63
|
+
'x-amz-checksum-crc32': input.ChecksumCRC32,
|
|
64
|
+
'x-amz-expected-bucket-owner': input.ExpectedBucketOwner,
|
|
65
|
+
}),
|
|
59
66
|
};
|
|
60
67
|
const url = new AmplifyUrl(endpoint.url.toString());
|
|
61
68
|
validateS3RequiredParameter(!!input.Key, 'Key');
|
|
62
69
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
70
|
+
validateObjectUrl({
|
|
71
|
+
bucketName: input.Bucket,
|
|
72
|
+
key: input.Key,
|
|
73
|
+
objectURL: url,
|
|
74
|
+
});
|
|
63
75
|
|
|
64
76
|
return {
|
|
65
77
|
method: 'PUT',
|
|
@@ -13,23 +13,31 @@ import {
|
|
|
13
13
|
} from '@aws-amplify/core/internals/utils';
|
|
14
14
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
15
15
|
|
|
16
|
-
import { defaultConfig } from './base';
|
|
17
|
-
import type { UploadPartCommandInput, UploadPartCommandOutput } from './types';
|
|
18
16
|
import {
|
|
19
17
|
assignStringVariables,
|
|
20
18
|
buildStorageServiceError,
|
|
21
19
|
map,
|
|
22
|
-
parseXmlError,
|
|
23
20
|
s3TransferHandler,
|
|
24
21
|
serializePathnameObjectKey,
|
|
25
22
|
validateS3RequiredParameter,
|
|
26
|
-
} from '
|
|
23
|
+
} from '../utils';
|
|
24
|
+
import { validateObjectUrl } from '../../validateObjectUrl';
|
|
25
|
+
|
|
26
|
+
import { defaultConfig, parseXmlError } from './base';
|
|
27
|
+
import type { UploadPartCommandInput, UploadPartCommandOutput } from './types';
|
|
27
28
|
|
|
28
29
|
// Content-length is ignored here because it's forbidden header
|
|
29
30
|
// and will be set by browser or fetch polyfill.
|
|
30
31
|
export type UploadPartInput = Pick<
|
|
31
32
|
UploadPartCommandInput,
|
|
32
|
-
|
|
33
|
+
| 'PartNumber'
|
|
34
|
+
| 'Body'
|
|
35
|
+
| 'UploadId'
|
|
36
|
+
| 'Bucket'
|
|
37
|
+
| 'Key'
|
|
38
|
+
| 'ContentMD5'
|
|
39
|
+
| 'ChecksumCRC32'
|
|
40
|
+
| 'ExpectedBucketOwner'
|
|
33
41
|
>;
|
|
34
42
|
|
|
35
43
|
export type UploadPartOutput = Pick<
|
|
@@ -42,9 +50,13 @@ const uploadPartSerializer = async (
|
|
|
42
50
|
endpoint: Endpoint,
|
|
43
51
|
): Promise<HttpRequest> => {
|
|
44
52
|
const headers = {
|
|
45
|
-
...assignStringVariables({
|
|
53
|
+
...assignStringVariables({
|
|
54
|
+
'x-amz-checksum-crc32': input.ChecksumCRC32,
|
|
55
|
+
'content-md5': input.ContentMD5,
|
|
56
|
+
'x-amz-expected-bucket-owner': input.ExpectedBucketOwner,
|
|
57
|
+
}),
|
|
58
|
+
'content-type': 'application/octet-stream',
|
|
46
59
|
};
|
|
47
|
-
headers['content-type'] = 'application/octet-stream';
|
|
48
60
|
const url = new AmplifyUrl(endpoint.url.toString());
|
|
49
61
|
validateS3RequiredParameter(!!input.Key, 'Key');
|
|
50
62
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
@@ -54,6 +66,11 @@ const uploadPartSerializer = async (
|
|
|
54
66
|
partNumber: input.PartNumber + '',
|
|
55
67
|
uploadId: input.UploadId,
|
|
56
68
|
}).toString();
|
|
69
|
+
validateObjectUrl({
|
|
70
|
+
bucketName: input.Bucket,
|
|
71
|
+
key: input.Key,
|
|
72
|
+
objectURL: url,
|
|
73
|
+
});
|
|
57
74
|
|
|
58
75
|
return {
|
|
59
76
|
method: 'PUT',
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import {
|
|
4
|
+
ErrorParser,
|
|
5
|
+
HttpResponse,
|
|
6
|
+
MiddlewareContext,
|
|
7
|
+
RetryDeciderOutput,
|
|
8
|
+
getRetryDecider,
|
|
9
|
+
} from '@aws-amplify/core/internals/aws-client-utils';
|
|
10
|
+
|
|
11
|
+
import { LocationCredentialsProvider } from '../../../types/options';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Function to decide if the S3 request should be retried. For S3 APIs, we support forceRefresh option
|
|
15
|
+
* for {@link LocationCredentialsProvider | LocationCredentialsProvider } option. It's set when S3 returns
|
|
16
|
+
* credentials expired error. In the retry decider, we detect this response and set flag to signify a retry
|
|
17
|
+
* attempt. The retry attempt would invoke the LocationCredentialsProvider with forceRefresh option set.
|
|
18
|
+
*
|
|
19
|
+
* @param response Optional response of the request.
|
|
20
|
+
* @param error Optional error thrown from previous attempts.
|
|
21
|
+
* @param middlewareContext Optional context object to store data between retries.
|
|
22
|
+
* @returns True if the request should be retried.
|
|
23
|
+
*/
|
|
24
|
+
export type RetryDecider = (
|
|
25
|
+
response?: HttpResponse,
|
|
26
|
+
error?: unknown,
|
|
27
|
+
middlewareContext?: MiddlewareContext,
|
|
28
|
+
) => Promise<RetryDeciderOutput>;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Factory of a {@link RetryDecider} function.
|
|
32
|
+
*
|
|
33
|
+
* @param errorParser function to parse HTTP response wth XML payload to JS
|
|
34
|
+
* Error instance.
|
|
35
|
+
* @returns A structure indicating if the response is retryable; And if it is a
|
|
36
|
+
* CredentialsExpiredError
|
|
37
|
+
*/
|
|
38
|
+
export const createRetryDecider =
|
|
39
|
+
(errorParser: ErrorParser): RetryDecider =>
|
|
40
|
+
async (
|
|
41
|
+
response?: HttpResponse,
|
|
42
|
+
error?: unknown,
|
|
43
|
+
middlewareContext?: MiddlewareContext,
|
|
44
|
+
): Promise<RetryDeciderOutput> => {
|
|
45
|
+
const defaultRetryDecider = getRetryDecider(errorParser);
|
|
46
|
+
const defaultRetryDecision = await defaultRetryDecider(response, error);
|
|
47
|
+
if (!response || response.statusCode < 300) {
|
|
48
|
+
return { retryable: false };
|
|
49
|
+
}
|
|
50
|
+
const parsedError = await errorParser(response);
|
|
51
|
+
const errorCode = parsedError?.name;
|
|
52
|
+
const errorMessage = parsedError?.message;
|
|
53
|
+
const isCredentialsExpired = isCredentialsExpiredError(
|
|
54
|
+
errorCode,
|
|
55
|
+
errorMessage,
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
return {
|
|
59
|
+
retryable:
|
|
60
|
+
defaultRetryDecision.retryable ||
|
|
61
|
+
// If we know the previous retry attempt sets isCredentialsExpired in the
|
|
62
|
+
// middleware context, we don't want to retry anymore.
|
|
63
|
+
!!(isCredentialsExpired && !middlewareContext?.isCredentialsExpired),
|
|
64
|
+
isCredentialsExpiredError: isCredentialsExpired,
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
// Ref: https://github.com/aws/aws-sdk-js/blob/54829e341181b41573c419bd870dd0e0f8f10632/lib/event_listeners.js#L522-L541
|
|
69
|
+
const INVALID_TOKEN_ERROR_CODES = [
|
|
70
|
+
'RequestExpired',
|
|
71
|
+
'ExpiredTokenException',
|
|
72
|
+
'ExpiredToken',
|
|
73
|
+
];
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Given an error code, returns true if it is related to invalid credentials.
|
|
77
|
+
*
|
|
78
|
+
* @param errorCode String representation of some error.
|
|
79
|
+
* @returns True if given error indicates the credentials used to authorize request
|
|
80
|
+
* are invalid.
|
|
81
|
+
*/
|
|
82
|
+
const isCredentialsExpiredError = (
|
|
83
|
+
errorCode?: string,
|
|
84
|
+
errorMessage?: string,
|
|
85
|
+
) => {
|
|
86
|
+
const isExpiredTokenError =
|
|
87
|
+
!!errorCode && INVALID_TOKEN_ERROR_CODES.includes(errorCode);
|
|
88
|
+
// Ref: https://github.com/aws/aws-sdk-js/blob/54829e341181b41573c419bd870dd0e0f8f10632/lib/event_listeners.js#L536-L539
|
|
89
|
+
const isExpiredSignatureError =
|
|
90
|
+
!!errorCode &&
|
|
91
|
+
!!errorMessage &&
|
|
92
|
+
errorCode.includes('Signature') &&
|
|
93
|
+
errorMessage.includes('expired');
|
|
94
|
+
|
|
95
|
+
return isExpiredTokenError || isExpiredSignatureError;
|
|
96
|
+
};
|