@aws-amplify/storage 6.0.14 → 6.0.15-unstable.76af8d7.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/CanceledError.js.map +1 -1
- package/dist/cjs/errors/StorageError.js.map +1 -1
- package/dist/cjs/errors/types/validation.js.map +1 -1
- package/dist/cjs/errors/utils/assertValidationError.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/providers/s3/apis/copy.js.map +1 -1
- package/dist/cjs/providers/s3/apis/downloadData.js.map +1 -1
- package/dist/cjs/providers/s3/apis/getProperties.js.map +1 -1
- package/dist/cjs/providers/s3/apis/getUrl.js.map +1 -1
- package/dist/cjs/providers/s3/apis/index.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/copy.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/getProperties.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/getUrl.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/list.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/remove.js.map +1 -1
- package/dist/cjs/providers/s3/apis/list.js.map +1 -1
- package/dist/cjs/providers/s3/apis/remove.js.map +1 -1
- package/dist/cjs/providers/s3/apis/server/copy.js.map +1 -1
- package/dist/cjs/providers/s3/apis/server/getProperties.js.map +1 -1
- package/dist/cjs/providers/s3/apis/server/getUrl.js.map +1 -1
- package/dist/cjs/providers/s3/apis/server/index.js.map +1 -1
- package/dist/cjs/providers/s3/apis/server/list.js.map +1 -1
- package/dist/cjs/providers/s3/apis/server/remove.js.map +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/byteLength.js.map +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/index.js.map +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/calculatePartSize.js.map +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/getDataChunker.js.map +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/index.js.map +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/initialUpload.js.map +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/progressTracker.js.map +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadCache.js.map +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadHandlers.js.map +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadPartExecutor.js.map +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/putObjectJob.js.map +1 -1
- package/dist/cjs/providers/s3/index.js.map +1 -1
- package/dist/cjs/providers/s3/server.js.map +1 -1
- package/dist/cjs/providers/s3/types/errors.js.map +1 -1
- package/dist/cjs/providers/s3/types/index.js.map +1 -1
- package/dist/cjs/providers/s3/types/inputs.js.map +1 -1
- package/dist/cjs/providers/s3/types/options.js.map +1 -1
- package/dist/cjs/providers/s3/types/outputs.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/abortMultipartUpload.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/base.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/completeMultipartUpload.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/copyObject.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/createMultipartUpload.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/deleteObject.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/getObject.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/headObject.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/index.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/listObjectsV2.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/listParts.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/putObject.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/base64/index.browser.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/base64/index.native.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/constants.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/contentSha256middleware.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/index.browser.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/index.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/index.native.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/s3TransferHandler/fetch.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/s3TransferHandler/xhr.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/xhrTransferHandler.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/xmlParser/dom.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/xmlParser/pureJs.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/types.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/uploadPart.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/utils/deserializeHelpers.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/utils/index.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/utils/parsePayload.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/utils/serializeHelpers.js.map +1 -1
- package/dist/cjs/providers/s3/utils/constants.js.map +1 -1
- package/dist/cjs/providers/s3/utils/index.js.map +1 -1
- package/dist/cjs/providers/s3/utils/md5.js.map +1 -1
- package/dist/cjs/providers/s3/utils/md5.native.js.map +1 -1
- package/dist/cjs/providers/s3/utils/resolveS3ConfigAndInput.js.map +1 -1
- package/dist/cjs/providers/s3/utils/transferTask.js.map +1 -1
- package/dist/cjs/providers/s3/utils/userAgent.js.map +1 -1
- package/dist/cjs/server.js.map +1 -1
- package/dist/cjs/types/common.js.map +1 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/inputs.js.map +1 -1
- package/dist/cjs/types/options.js.map +1 -1
- package/dist/cjs/types/outputs.js.map +1 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/logger.js.map +1 -1
- package/dist/cjs/utils/resolvePrefix.js.map +1 -1
- package/dist/esm/errors/CanceledError.mjs.map +1 -1
- package/dist/esm/errors/StorageError.mjs.map +1 -1
- package/dist/esm/errors/types/validation.mjs.map +1 -1
- package/dist/esm/errors/utils/assertValidationError.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/copy.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/downloadData.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/getProperties.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/getUrl.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/copy.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/getProperties.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/getUrl.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/list.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/remove.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/list.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/remove.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/server/copy.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/server/getProperties.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/server/getUrl.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/server/list.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/server/remove.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/uploadData/byteLength.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/uploadData/index.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/calculatePartSize.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/getDataChunker.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/progressTracker.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadCache.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadHandlers.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/uploadData/putObjectJob.mjs.map +1 -1
- package/dist/esm/providers/s3/types/errors.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/abortMultipartUpload.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/base.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/completeMultipartUpload.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/copyObject.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/createMultipartUpload.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/deleteObject.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/getObject.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/headObject.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/listObjectsV2.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/listParts.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/putObject.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/runtime/base64/index.browser.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/runtime/base64/index.native.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/runtime/constants.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/runtime/contentSha256middleware.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/runtime/s3TransferHandler/fetch.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/runtime/s3TransferHandler/xhr.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/runtime/xhrTransferHandler.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/runtime/xmlParser/dom.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/runtime/xmlParser/pureJs.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/uploadPart.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/utils/parsePayload.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/utils/serializeHelpers.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/constants.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/md5.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/md5.native.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/transferTask.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/userAgent.mjs.map +1 -1
- package/dist/esm/utils/logger.mjs.map +1 -1
- package/dist/esm/utils/resolvePrefix.mjs.map +1 -1
- package/package.json +106 -105
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadHandlers.mjs","sources":["../../../../../../../../src/providers/s3/apis/uploadData/multipart/uploadHandlers.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"uploadHandlers.mjs","sources":["../../../../../../../src/providers/s3/apis/uploadData/multipart/uploadHandlers.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify } from '@aws-amplify/core';\nimport { StorageAction } from '@aws-amplify/core/internals/utils';\nimport { getDataChunker } from './getDataChunker';\nimport { resolveS3ConfigAndInput } from '../../../utils';\nimport { DEFAULT_ACCESS_LEVEL, DEFAULT_QUEUE_SIZE, } from '../../../utils/constants';\nimport { loadOrCreateMultipartUpload } from './initialUpload';\nimport { getConcurrentUploadsProgressTracker } from './progressTracker';\nimport { getUploadsCacheKey, removeCachedUpload } from './uploadCache';\nimport { uploadPartExecutor } from './uploadPartExecutor';\nimport { StorageError } from '../../../../../errors/StorageError';\nimport { CanceledError } from '../../../../../errors/CanceledError';\nimport { abortMultipartUpload, completeMultipartUpload, headObject, } from '../../../utils/client';\nimport { getStorageUserAgentValue } from '../../../utils/userAgent';\nimport { logger } from '../../../../../utils';\n/**\n * Create closure hiding the multipart upload implementation details and expose the upload job and control functions(\n * onPause, onResume, onCancel).\n *\n * @internal\n */\nexport const getMultipartUploadHandlers = ({ options: uploadDataOptions, key, data }, size) => {\n let resolveCallback;\n let rejectCallback;\n let inProgressUpload;\n let s3Config;\n let abortController;\n let bucket;\n let keyPrefix;\n let uploadCacheKey;\n // Special flag that differentiates HTTP requests abort error caused by pause() from ones caused by cancel().\n // The former one should NOT cause the upload job to throw, but cancels any pending HTTP requests.\n // This should be replaced by a special abort reason. However,the support of this API is lagged behind.\n let isAbortSignalFromPause = false;\n const startUpload = async () => {\n const resolvedS3Options = await resolveS3ConfigAndInput(Amplify, uploadDataOptions);\n s3Config = resolvedS3Options.s3Config;\n bucket = resolvedS3Options.bucket;\n keyPrefix = resolvedS3Options.keyPrefix;\n abortController = new AbortController();\n isAbortSignalFromPause = false;\n const { contentDisposition, contentEncoding, contentType = 'application/octet-stream', metadata, accessLevel, onProgress, } = uploadDataOptions ?? {};\n if (!inProgressUpload) {\n const { uploadId, cachedParts } = await loadOrCreateMultipartUpload({\n s3Config,\n accessLevel: resolveAccessLevel(accessLevel),\n bucket,\n keyPrefix,\n key,\n contentType,\n contentDisposition,\n contentEncoding,\n metadata,\n data,\n size,\n abortSignal: abortController.signal,\n });\n inProgressUpload = {\n uploadId,\n completedParts: cachedParts,\n };\n }\n const finalKey = keyPrefix + key;\n uploadCacheKey = size\n ? getUploadsCacheKey({\n file: data instanceof File ? data : undefined,\n accessLevel: resolveAccessLevel(uploadDataOptions?.accessLevel),\n contentType: uploadDataOptions?.contentType,\n bucket: bucket,\n size,\n key,\n })\n : undefined;\n const dataChunker = getDataChunker(data, size);\n const completedPartNumberSet = new Set(inProgressUpload.completedParts.map(({ PartNumber }) => PartNumber));\n const onPartUploadCompletion = (partNumber, eTag) => {\n inProgressUpload?.completedParts.push({\n PartNumber: partNumber,\n ETag: eTag,\n });\n };\n const concurrentUploadsProgressTracker = getConcurrentUploadsProgressTracker({\n size,\n onProgress,\n });\n const concurrentUploadPartExecutors = [];\n for (let index = 0; index < DEFAULT_QUEUE_SIZE; index++) {\n concurrentUploadPartExecutors.push(uploadPartExecutor({\n dataChunkerGenerator: dataChunker,\n completedPartNumberSet,\n s3Config,\n abortSignal: abortController.signal,\n bucket,\n finalKey,\n uploadId: inProgressUpload.uploadId,\n onPartUploadCompletion,\n onProgress: concurrentUploadsProgressTracker.getOnProgressListener(),\n isObjectLockEnabled: resolvedS3Options.isObjectLockEnabled,\n }));\n }\n await Promise.all(concurrentUploadPartExecutors);\n const { ETag: eTag } = await completeMultipartUpload({\n ...s3Config,\n abortSignal: abortController.signal,\n userAgentValue: getStorageUserAgentValue(StorageAction.UploadData),\n }, {\n Bucket: bucket,\n Key: finalKey,\n UploadId: inProgressUpload.uploadId,\n MultipartUpload: {\n Parts: inProgressUpload.completedParts.sort((partA, partB) => partA.PartNumber - partB.PartNumber),\n },\n });\n if (size) {\n const { ContentLength: uploadedObjectSize } = await headObject(s3Config, {\n Bucket: bucket,\n Key: finalKey,\n });\n if (uploadedObjectSize && uploadedObjectSize !== size) {\n throw new StorageError({\n name: 'Error',\n message: `Upload failed. Expected object size ${size}, but got ${uploadedObjectSize}.`,\n });\n }\n }\n if (uploadCacheKey) {\n await removeCachedUpload(uploadCacheKey);\n }\n return {\n key,\n eTag,\n contentType,\n metadata,\n };\n };\n const startUploadWithResumability = () => startUpload()\n .then(resolveCallback)\n .catch(error => {\n const abortSignal = abortController?.signal;\n if (abortSignal?.aborted && isAbortSignalFromPause) {\n logger.debug('upload paused.');\n }\n else {\n // Uncaught errors should be exposed to the users.\n rejectCallback(error);\n }\n });\n const multipartUploadJob = () => new Promise((resolve, reject) => {\n resolveCallback = resolve;\n rejectCallback = reject;\n startUploadWithResumability();\n });\n const onPause = () => {\n isAbortSignalFromPause = true;\n abortController?.abort();\n };\n const onResume = () => {\n startUploadWithResumability();\n };\n const onCancel = (message) => {\n // 1. abort in-flight API requests\n abortController?.abort(message);\n const cancelUpload = async () => {\n // 2. clear upload cache.\n if (uploadCacheKey) {\n await removeCachedUpload(uploadCacheKey);\n }\n // 3. clear multipart upload on server side.\n await abortMultipartUpload(s3Config, {\n Bucket: bucket,\n Key: keyPrefix + key,\n UploadId: inProgressUpload?.uploadId,\n });\n };\n cancelUpload().catch(e => {\n logger.debug('error when cancelling upload task.', e);\n });\n rejectCallback(\n // Internal error that should not be exposed to the users. They should use isCancelError() to check if\n // the error is caused by cancel().\n new CanceledError(message ? { message } : undefined));\n };\n return {\n multipartUploadJob,\n onPause,\n onResume,\n onCancel,\n };\n};\nconst resolveAccessLevel = (accessLevel) => accessLevel ??\n Amplify.libraryOptions.Storage?.S3?.defaultAccessLevel ??\n DEFAULT_ACCESS_LEVEL;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAeA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,0BAA0B,GAAG,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,KAAK;AAC/F,IAAI,IAAI,eAAe,CAAC;AACxB,IAAI,IAAI,cAAc,CAAC;AACvB,IAAI,IAAI,gBAAgB,CAAC;AACzB,IAAI,IAAI,QAAQ,CAAC;AACjB,IAAI,IAAI,eAAe,CAAC;AACxB,IAAI,IAAI,MAAM,CAAC;AACf,IAAI,IAAI,SAAS,CAAC;AAClB,IAAI,IAAI,cAAc,CAAC;AACvB;AACA;AACA;AACA,IAAI,IAAI,sBAAsB,GAAG,KAAK,CAAC;AACvC,IAAI,MAAM,WAAW,GAAG,YAAY;AACpC,QAAQ,MAAM,iBAAiB,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AAC5F,QAAQ,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC;AAC9C,QAAQ,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC;AAC1C,QAAQ,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;AAChD,QAAQ,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;AAChD,QAAQ,sBAAsB,GAAG,KAAK,CAAC;AACvC,QAAQ,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,WAAW,GAAG,0BAA0B,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,GAAG,GAAG,iBAAiB,IAAI,EAAE,CAAC;AAC9J,QAAQ,IAAI,CAAC,gBAAgB,EAAE;AAC/B,YAAY,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,2BAA2B,CAAC;AAChF,gBAAgB,QAAQ;AACxB,gBAAgB,WAAW,EAAE,kBAAkB,CAAC,WAAW,CAAC;AAC5D,gBAAgB,MAAM;AACtB,gBAAgB,SAAS;AACzB,gBAAgB,GAAG;AACnB,gBAAgB,WAAW;AAC3B,gBAAgB,kBAAkB;AAClC,gBAAgB,eAAe;AAC/B,gBAAgB,QAAQ;AACxB,gBAAgB,IAAI;AACpB,gBAAgB,IAAI;AACpB,gBAAgB,WAAW,EAAE,eAAe,CAAC,MAAM;AACnD,aAAa,CAAC,CAAC;AACf,YAAY,gBAAgB,GAAG;AAC/B,gBAAgB,QAAQ;AACxB,gBAAgB,cAAc,EAAE,WAAW;AAC3C,aAAa,CAAC;AACd,SAAS;AACT,QAAQ,MAAM,QAAQ,GAAG,SAAS,GAAG,GAAG,CAAC;AACzC,QAAQ,cAAc,GAAG,IAAI;AAC7B,cAAc,kBAAkB,CAAC;AACjC,gBAAgB,IAAI,EAAE,IAAI,YAAY,IAAI,GAAG,IAAI,GAAG,SAAS;AAC7D,gBAAgB,WAAW,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,WAAW,CAAC;AAC/E,gBAAgB,WAAW,EAAE,iBAAiB,EAAE,WAAW;AAC3D,gBAAgB,MAAM,EAAE,MAAM;AAC9B,gBAAgB,IAAI;AACpB,gBAAgB,GAAG;AACnB,aAAa,CAAC;AACd,cAAc,SAAS,CAAC;AACxB,QAAQ,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACvD,QAAQ,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC;AACpH,QAAQ,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,IAAI,KAAK;AAC7D,YAAY,gBAAgB,EAAE,cAAc,CAAC,IAAI,CAAC;AAClD,gBAAgB,UAAU,EAAE,UAAU;AACtC,gBAAgB,IAAI,EAAE,IAAI;AAC1B,aAAa,CAAC,CAAC;AACf,SAAS,CAAC;AACV,QAAQ,MAAM,gCAAgC,GAAG,mCAAmC,CAAC;AACrF,YAAY,IAAI;AAChB,YAAY,UAAU;AACtB,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM,6BAA6B,GAAG,EAAE,CAAC;AACjD,QAAQ,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,kBAAkB,EAAE,KAAK,EAAE,EAAE;AACjE,YAAY,6BAA6B,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAClE,gBAAgB,oBAAoB,EAAE,WAAW;AACjD,gBAAgB,sBAAsB;AACtC,gBAAgB,QAAQ;AACxB,gBAAgB,WAAW,EAAE,eAAe,CAAC,MAAM;AACnD,gBAAgB,MAAM;AACtB,gBAAgB,QAAQ;AACxB,gBAAgB,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;AACnD,gBAAgB,sBAAsB;AACtC,gBAAgB,UAAU,EAAE,gCAAgC,CAAC,qBAAqB,EAAE;AACpF,gBAAgB,mBAAmB,EAAE,iBAAiB,CAAC,mBAAmB;AAC1E,aAAa,CAAC,CAAC,CAAC;AAChB,SAAS;AACT,QAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AACzD,QAAQ,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,uBAAuB,CAAC;AAC7D,YAAY,GAAG,QAAQ;AACvB,YAAY,WAAW,EAAE,eAAe,CAAC,MAAM;AAC/C,YAAY,cAAc,EAAE,wBAAwB,CAAC,aAAa,CAAC,UAAU,CAAC;AAC9E,SAAS,EAAE;AACX,YAAY,MAAM,EAAE,MAAM;AAC1B,YAAY,GAAG,EAAE,QAAQ;AACzB,YAAY,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;AAC/C,YAAY,eAAe,EAAE;AAC7B,gBAAgB,KAAK,EAAE,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;AAClH,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,IAAI,EAAE;AAClB,YAAY,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE;AACrF,gBAAgB,MAAM,EAAE,MAAM;AAC9B,gBAAgB,GAAG,EAAE,QAAQ;AAC7B,aAAa,CAAC,CAAC;AACf,YAAY,IAAI,kBAAkB,IAAI,kBAAkB,KAAK,IAAI,EAAE;AACnE,gBAAgB,MAAM,IAAI,YAAY,CAAC;AACvC,oBAAoB,IAAI,EAAE,OAAO;AACjC,oBAAoB,OAAO,EAAE,CAAC,oCAAoC,EAAE,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAC1G,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,SAAS;AACT,QAAQ,IAAI,cAAc,EAAE;AAC5B,YAAY,MAAM,kBAAkB,CAAC,cAAc,CAAC,CAAC;AACrD,SAAS;AACT,QAAQ,OAAO;AACf,YAAY,GAAG;AACf,YAAY,IAAI;AAChB,YAAY,WAAW;AACvB,YAAY,QAAQ;AACpB,SAAS,CAAC;AACV,KAAK,CAAC;AACN,IAAI,MAAM,2BAA2B,GAAG,MAAM,WAAW,EAAE;AAC3D,SAAS,IAAI,CAAC,eAAe,CAAC;AAC9B,SAAS,KAAK,CAAC,KAAK,IAAI;AACxB,QAAQ,MAAM,WAAW,GAAG,eAAe,EAAE,MAAM,CAAC;AACpD,QAAQ,IAAI,WAAW,EAAE,OAAO,IAAI,sBAAsB,EAAE;AAC5D,YAAY,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAC3C,SAAS;AACT,aAAa;AACb;AACA,YAAY,cAAc,CAAC,KAAK,CAAC,CAAC;AAClC,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,kBAAkB,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AACtE,QAAQ,eAAe,GAAG,OAAO,CAAC;AAClC,QAAQ,cAAc,GAAG,MAAM,CAAC;AAChC,QAAQ,2BAA2B,EAAE,CAAC;AACtC,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,OAAO,GAAG,MAAM;AAC1B,QAAQ,sBAAsB,GAAG,IAAI,CAAC;AACtC,QAAQ,eAAe,EAAE,KAAK,EAAE,CAAC;AACjC,KAAK,CAAC;AACN,IAAI,MAAM,QAAQ,GAAG,MAAM;AAC3B,QAAQ,2BAA2B,EAAE,CAAC;AACtC,KAAK,CAAC;AACN,IAAI,MAAM,QAAQ,GAAG,CAAC,OAAO,KAAK;AAClC;AACA,QAAQ,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACxC,QAAQ,MAAM,YAAY,GAAG,YAAY;AACzC;AACA,YAAY,IAAI,cAAc,EAAE;AAChC,gBAAgB,MAAM,kBAAkB,CAAC,cAAc,CAAC,CAAC;AACzD,aAAa;AACb;AACA,YAAY,MAAM,oBAAoB,CAAC,QAAQ,EAAE;AACjD,gBAAgB,MAAM,EAAE,MAAM;AAC9B,gBAAgB,GAAG,EAAE,SAAS,GAAG,GAAG;AACpC,gBAAgB,QAAQ,EAAE,gBAAgB,EAAE,QAAQ;AACpD,aAAa,CAAC,CAAC;AACf,SAAS,CAAC;AACV,QAAQ,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI;AAClC,YAAY,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,CAAC,CAAC,CAAC;AAClE,SAAS,CAAC,CAAC;AACX,QAAQ,cAAc;AACtB;AACA;AACA,QAAQ,IAAI,aAAa,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;AAC9D,KAAK,CAAC;AACN,IAAI,OAAO;AACX,QAAQ,kBAAkB;AAC1B,QAAQ,OAAO;AACf,QAAQ,QAAQ;AAChB,QAAQ,QAAQ;AAChB,KAAK,CAAC;AACN,EAAE;AACF,MAAM,kBAAkB,GAAG,CAAC,WAAW,KAAK,WAAW;AACvD,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,EAAE,kBAAkB;AAC1D,IAAI,oBAAoB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadPartExecutor.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"uploadPartExecutor.mjs","sources":["../../../../../../../src/providers/s3/apis/uploadData/multipart/uploadPartExecutor.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { calculateContentMd5 } from '../../../utils';\nimport { uploadPart } from '../../../utils/client';\nimport { logger } from '../../../../../utils';\nexport const uploadPartExecutor = async ({ dataChunkerGenerator, completedPartNumberSet, s3Config, abortSignal, bucket, finalKey, uploadId, onPartUploadCompletion, onProgress, isObjectLockEnabled, }) => {\n let transferredBytes = 0;\n for (const { data, partNumber, size } of dataChunkerGenerator) {\n if (abortSignal.aborted) {\n logger.debug('upload executor aborted.');\n break;\n }\n if (completedPartNumberSet.has(partNumber)) {\n logger.debug(`part ${partNumber} already uploaded.`);\n transferredBytes += size;\n onProgress?.({\n transferredBytes,\n });\n }\n else {\n // handle cancel error\n const { ETag: eTag } = await uploadPart({\n ...s3Config,\n abortSignal,\n onUploadProgress: (event) => {\n const { transferredBytes: currentPartTransferredBytes } = event;\n onProgress?.({\n transferredBytes: transferredBytes + currentPartTransferredBytes,\n });\n },\n }, {\n Bucket: bucket,\n Key: finalKey,\n UploadId: uploadId,\n Body: data,\n PartNumber: partNumber,\n ContentMD5: isObjectLockEnabled\n ? await calculateContentMd5(data)\n : undefined,\n });\n transferredBytes += size;\n // eTag will always be set even the S3 model interface marks it as optional.\n onPartUploadCompletion(partNumber, eTag);\n }\n }\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA;AAIY,MAAC,kBAAkB,GAAG,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,sBAAsB,EAAE,UAAU,EAAE,mBAAmB,GAAG,KAAK;AAC3M,IAAI,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAC7B,IAAI,KAAK,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,oBAAoB,EAAE;AACnE,QAAQ,IAAI,WAAW,CAAC,OAAO,EAAE;AACjC,YAAY,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;AACrD,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,IAAI,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;AACpD,YAAY,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACjE,YAAY,gBAAgB,IAAI,IAAI,CAAC;AACrC,YAAY,UAAU,GAAG;AACzB,gBAAgB,gBAAgB;AAChC,aAAa,CAAC,CAAC;AACf,SAAS;AACT,aAAa;AACb;AACA,YAAY,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC;AACpD,gBAAgB,GAAG,QAAQ;AAC3B,gBAAgB,WAAW;AAC3B,gBAAgB,gBAAgB,EAAE,CAAC,KAAK,KAAK;AAC7C,oBAAoB,MAAM,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,GAAG,KAAK,CAAC;AACpF,oBAAoB,UAAU,GAAG;AACjC,wBAAwB,gBAAgB,EAAE,gBAAgB,GAAG,2BAA2B;AACxF,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,aAAa,EAAE;AACf,gBAAgB,MAAM,EAAE,MAAM;AAC9B,gBAAgB,GAAG,EAAE,QAAQ;AAC7B,gBAAgB,QAAQ,EAAE,QAAQ;AAClC,gBAAgB,IAAI,EAAE,IAAI;AAC1B,gBAAgB,UAAU,EAAE,UAAU;AACtC,gBAAgB,UAAU,EAAE,mBAAmB;AAC/C,sBAAsB,MAAM,mBAAmB,CAAC,IAAI,CAAC;AACrD,sBAAsB,SAAS;AAC/B,aAAa,CAAC,CAAC;AACf,YAAY,gBAAgB,IAAI,IAAI,CAAC;AACrC;AACA,YAAY,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AACrD,SAAS;AACT,KAAK;AACL;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"putObjectJob.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"putObjectJob.mjs","sources":["../../../../../../src/providers/s3/apis/uploadData/putObjectJob.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify } from '@aws-amplify/core';\nimport { StorageAction } from '@aws-amplify/core/internals/utils';\nimport { calculateContentMd5, resolveS3ConfigAndInput } from '../../utils';\nimport { putObject } from '../../utils/client';\nimport { getStorageUserAgentValue } from '../../utils/userAgent';\n/**\n * Get a function the returns a promise to call putObject API to S3.\n *\n * @internal\n */\nexport const putObjectJob = ({ options: uploadDataOptions, key, data }, abortSignal, totalLength) => async () => {\n const { bucket, keyPrefix, s3Config, isObjectLockEnabled } = await resolveS3ConfigAndInput(Amplify, uploadDataOptions);\n const finalKey = keyPrefix + key;\n const { contentDisposition, contentEncoding, contentType = 'application/octet-stream', metadata, onProgress, } = uploadDataOptions ?? {};\n const { ETag: eTag, VersionId: versionId } = await putObject({\n ...s3Config,\n abortSignal,\n onUploadProgress: onProgress,\n userAgentValue: getStorageUserAgentValue(StorageAction.UploadData),\n }, {\n Bucket: bucket,\n Key: finalKey,\n Body: data,\n ContentType: contentType,\n ContentDisposition: contentDisposition,\n ContentEncoding: contentEncoding,\n Metadata: metadata,\n ContentMD5: isObjectLockEnabled\n ? await calculateContentMd5(data)\n : undefined,\n });\n return {\n key,\n eTag,\n versionId,\n contentType,\n metadata,\n size: totalLength,\n };\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAMA;AACA;AACA;AACA;AACA;AACY,MAAC,YAAY,GAAG,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,WAAW,KAAK,YAAY;AACjH,IAAI,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,EAAE,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AAC3H,IAAI,MAAM,QAAQ,GAAG,SAAS,GAAG,GAAG,CAAC;AACrC,IAAI,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,WAAW,GAAG,0BAA0B,EAAE,QAAQ,EAAE,UAAU,GAAG,GAAG,iBAAiB,IAAI,EAAE,CAAC;AAC7I,IAAI,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,SAAS,CAAC;AACjE,QAAQ,GAAG,QAAQ;AACnB,QAAQ,WAAW;AACnB,QAAQ,gBAAgB,EAAE,UAAU;AACpC,QAAQ,cAAc,EAAE,wBAAwB,CAAC,aAAa,CAAC,UAAU,CAAC;AAC1E,KAAK,EAAE;AACP,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,GAAG,EAAE,QAAQ;AACrB,QAAQ,IAAI,EAAE,IAAI;AAClB,QAAQ,WAAW,EAAE,WAAW;AAChC,QAAQ,kBAAkB,EAAE,kBAAkB;AAC9C,QAAQ,eAAe,EAAE,eAAe;AACxC,QAAQ,QAAQ,EAAE,QAAQ;AAC1B,QAAQ,UAAU,EAAE,mBAAmB;AACvC,cAAc,MAAM,mBAAmB,CAAC,IAAI,CAAC;AAC7C,cAAc,SAAS;AACvB,KAAK,CAAC,CAAC;AACP,IAAI,OAAO;AACX,QAAQ,GAAG;AACX,QAAQ,IAAI;AACZ,QAAQ,SAAS;AACjB,QAAQ,WAAW;AACnB,QAAQ,QAAQ;AAChB,QAAQ,IAAI,EAAE,WAAW;AACzB,KAAK,CAAC;AACN;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"errors.mjs","sources":["../../../../../src/providers/s3/types/errors.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport var S3Exception;\n(function (S3Exception) {\n S3Exception[\"NotFoundException\"] = \"NotFoundException\";\n S3Exception[\"ForbiddenException\"] = \"ForbiddenException\";\n S3Exception[\"BadRequestException\"] = \"BadRequestException\";\n})(S3Exception || (S3Exception = {}));\n"],"names":[],"mappings":"AAAA;AACA;AACU,IAAC,YAAY;AACvB,CAAC,UAAU,WAAW,EAAE;AACxB,IAAI,WAAW,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;AAC3D,IAAI,WAAW,CAAC,oBAAoB,CAAC,GAAG,oBAAoB,CAAC;AAC7D,IAAI,WAAW,CAAC,qBAAqB,CAAC,GAAG,qBAAqB,CAAC;AAC/D,CAAC,EAAE,WAAW,KAAK,WAAW,GAAG,EAAE,CAAC,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abortMultipartUpload.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"abortMultipartUpload.mjs","sources":["../../../../../../src/providers/s3/utils/client/abortMultipartUpload.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { AmplifyUrl, AmplifyUrlSearchParams, } from '@aws-amplify/core/internals/utils';\nimport { defaultConfig } from './base';\nimport { buildStorageServiceError, parseXmlError, s3TransferHandler, serializePathnameObjectKey, validateS3RequiredParameter, } from './utils';\nconst abortMultipartUploadSerializer = (input, endpoint) => {\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Key, 'Key');\n url.pathname = serializePathnameObjectKey(url, input.Key);\n validateS3RequiredParameter(!!input.UploadId, 'UploadId');\n url.search = new AmplifyUrlSearchParams({\n uploadId: input.UploadId,\n }).toString();\n return {\n method: 'DELETE',\n headers: {},\n url,\n };\n};\nconst abortMultipartUploadDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n return {\n $metadata: parseMetadata(response),\n };\n }\n};\nexport const abortMultipartUpload = composeServiceApi(s3TransferHandler, abortMultipartUploadSerializer, abortMultipartUploadDeserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAMA,MAAM,8BAA8B,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK;AAC5D,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpD,IAAI,GAAG,CAAC,QAAQ,GAAG,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9D,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,sBAAsB,CAAC;AAC5C,QAAQ,QAAQ,EAAE,KAAK,CAAC,QAAQ;AAChC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;AAClB,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,QAAQ;AACxB,QAAQ,OAAO,EAAE,EAAE;AACnB,QAAQ,GAAG;AACX,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,gCAAgC,GAAG,OAAO,QAAQ,KAAK;AAC7D,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC,QAAQ,MAAM,KAAK,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,QAAQ,MAAM,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnE,KAAK;AACL,SAAS;AACT,QAAQ,OAAO;AACf,YAAY,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;AAC9C,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACU,MAAC,oBAAoB,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,8BAA8B,EAAE,gCAAgC,EAAE,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"base.mjs","sources":["../../../../../../src/providers/s3/utils/client/base.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getAmplifyUserAgent, AmplifyUrl, } from '@aws-amplify/core/internals/utils';\nimport { getDnsSuffix, jitteredBackoff, getRetryDecider, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { parseXmlError } from './utils';\nconst DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$/;\nconst IP_ADDRESS_PATTERN = /(\\d+\\.){3}\\d+/;\nconst DOTS_PATTERN = /\\.\\./;\n/**\n * The service name used to sign requests if the API requires authentication.\n */\nexport const SERVICE_NAME = 's3';\n/**\n * The endpoint resolver function that returns the endpoint URL for a given region, and input parameters.\n */\nconst endpointResolver = (options, apiInput) => {\n const { region, useAccelerateEndpoint, customEndpoint, forcePathStyle } = options;\n let endpoint;\n // 1. get base endpoint\n if (customEndpoint) {\n endpoint = new AmplifyUrl(customEndpoint);\n }\n else if (useAccelerateEndpoint) {\n if (forcePathStyle) {\n throw new Error('Path style URLs are not supported with S3 Transfer Acceleration.');\n }\n endpoint = new AmplifyUrl(`https://s3-accelerate.${getDnsSuffix(region)}`);\n }\n else {\n endpoint = new AmplifyUrl(`https://s3.${region}.${getDnsSuffix(region)}`);\n }\n // 2. inject bucket name\n if (apiInput?.Bucket) {\n if (!isDnsCompatibleBucketName(apiInput.Bucket)) {\n throw new Error(`Invalid bucket name: \"${apiInput.Bucket}\".`);\n }\n if (forcePathStyle || apiInput.Bucket.includes('.')) {\n endpoint.pathname = `/${apiInput.Bucket}`;\n }\n else {\n endpoint.host = `${apiInput.Bucket}.${endpoint.host}`;\n }\n }\n return { url: endpoint };\n};\n/**\n * Determines whether a given string is DNS compliant per the rules outlined by\n * S3. Length, capitaization, and leading dot restrictions are enforced by the\n * DOMAIN_PATTERN regular expression.\n * @internal\n *\n * @see https://github.com/aws/aws-sdk-js-v3/blob/f2da6182298d4d6b02e84fb723492c07c27469a8/packages/middleware-bucket-endpoint/src/bucketHostnameUtils.ts#L39-L48\n * @see https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html\n */\nexport const isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) &&\n !IP_ADDRESS_PATTERN.test(bucketName) &&\n !DOTS_PATTERN.test(bucketName);\n/**\n * @internal\n */\nexport const defaultConfig = {\n service: SERVICE_NAME,\n endpointResolver,\n retryDecider: getRetryDecider(parseXmlError),\n computeDelay: jitteredBackoff,\n userAgentValue: getAmplifyUserAgent(),\n useAccelerateEndpoint: false,\n uriEscapePath: false, // Required by S3. See https://github.com/aws/aws-sdk-js-v3/blob/9ba012dfa3a3429aa2db0f90b3b0b3a7a31f9bc3/packages/signature-v4/src/SignatureV4.ts#L76-L83\n};\n"],"names":[],"mappings":";;;;;;;;AAAA;AACA;AAIA,MAAM,cAAc,GAAG,sCAAsC,CAAC;AAC9D,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAC3C,MAAM,YAAY,GAAG,MAAM,CAAC;AAC5B;AACA;AACA;AACY,MAAC,YAAY,GAAG,KAAK;AACjC;AACA;AACA;AACA,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,QAAQ,KAAK;AAChD,IAAI,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;AACtF,IAAI,IAAI,QAAQ,CAAC;AACjB;AACA,IAAI,IAAI,cAAc,EAAE;AACxB,QAAQ,QAAQ,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;AAClD,KAAK;AACL,SAAS,IAAI,qBAAqB,EAAE;AACpC,QAAQ,IAAI,cAAc,EAAE;AAC5B,YAAY,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;AAChG,SAAS;AACT,QAAQ,QAAQ,GAAG,IAAI,UAAU,CAAC,CAAC,sBAAsB,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,KAAK;AACL,SAAS;AACT,QAAQ,QAAQ,GAAG,IAAI,UAAU,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,KAAK;AACL;AACA,IAAI,IAAI,QAAQ,EAAE,MAAM,EAAE;AAC1B,QAAQ,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACzD,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1E,SAAS;AACT,QAAQ,IAAI,cAAc,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC7D,YAAY,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD,SAAS;AACT,aAAa;AACb,YAAY,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAClE,SAAS;AACT,KAAK;AACL,IAAI,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC7B,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,yBAAyB,GAAG,CAAC,UAAU,KAAK,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC;AACxF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE;AACnC;AACA;AACA;AACY,MAAC,aAAa,GAAG;AAC7B,IAAI,OAAO,EAAE,YAAY;AACzB,IAAI,gBAAgB;AACpB,IAAI,YAAY,EAAE,eAAe,CAAC,aAAa,CAAC;AAChD,IAAI,YAAY,EAAE,eAAe;AACjC,IAAI,cAAc,EAAE,mBAAmB,EAAE;AACzC,IAAI,qBAAqB,EAAE,KAAK;AAChC,IAAI,aAAa,EAAE,KAAK;AACxB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completeMultipartUpload.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"completeMultipartUpload.mjs","sources":["../../../../../../src/providers/s3/utils/client/completeMultipartUpload.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl, AmplifyUrlSearchParams, } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { buildStorageServiceError, map, parseXmlBody, parseXmlError, s3TransferHandler, serializePathnameObjectKey, validateS3RequiredParameter, } from './utils';\nconst INVALID_PARAMETER_ERROR_MSG = 'Invalid parameter for ComplteMultipartUpload API';\nconst completeMultipartUploadSerializer = async (input, endpoint) => {\n const headers = {\n 'content-type': 'application/xml',\n };\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Key, 'Key');\n url.pathname = serializePathnameObjectKey(url, input.Key);\n validateS3RequiredParameter(!!input.UploadId, 'UploadId');\n url.search = new AmplifyUrlSearchParams({\n uploadId: input.UploadId,\n }).toString();\n validateS3RequiredParameter(!!input.MultipartUpload, 'MultipartUpload');\n return {\n method: 'POST',\n headers,\n url,\n body: '<?xml version=\"1.0\" encoding=\"UTF-8\"?>' +\n serializeCompletedMultipartUpload(input.MultipartUpload),\n };\n};\nconst serializeCompletedMultipartUpload = (input) => {\n if (!input.Parts?.length) {\n throw new Error(`${INVALID_PARAMETER_ERROR_MSG}: ${input}`);\n }\n return `<CompleteMultipartUpload xmlns=\"http://s3.amazonaws.com/doc/2006-03-01/\">${input.Parts.map(serializeCompletedPartList).join('')}</CompleteMultipartUpload>`;\n};\nconst serializeCompletedPartList = (input) => {\n if (!input.ETag || input.PartNumber == null) {\n throw new Error(`${INVALID_PARAMETER_ERROR_MSG}: ${input}`);\n }\n return `<Part><ETag>${input.ETag}</ETag><PartNumber>${input.PartNumber}</PartNumber></Part>`;\n};\n/**\n * Parse CompleteMultipartUpload API response payload, which may be empty or error indicating internal\n * server error, even when the status code is 200.\n *\n * Ref: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html#API_CompleteMultipartUpload_Example_4\n */\nconst parseXmlBodyOrThrow = async (response) => {\n const parsed = await parseXmlBody(response); // Handles empty body case\n if (parsed.Code !== undefined && parsed.Message !== undefined) {\n const error = (await parseXmlError({\n ...response,\n statusCode: 500, // To workaround the >=300 status code check common to other APIs.\n }));\n throw buildStorageServiceError(error, response.statusCode);\n }\n return parsed;\n};\nconst completeMultipartUploadDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n const parsed = await parseXmlBodyOrThrow(response);\n const contents = map(parsed, {\n ETag: 'ETag',\n Key: 'Key',\n Location: 'Location',\n });\n return {\n $metadata: parseMetadata(response),\n ...contents,\n };\n }\n};\n// CompleteMultiPartUpload API returns 200 status code with empty body or error message.\n// This indicates internal server error after the response has been sent to the client.\n// Ref: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html#API_CompleteMultipartUpload_Example_4\nconst retryWhenErrorWith200StatusCode = async (response, error) => {\n if (!response) {\n return false;\n }\n if (response.statusCode === 200) {\n if (!response.body) {\n return true;\n }\n const parsed = await parseXmlBody(response);\n if (parsed.Code !== undefined && parsed.Message !== undefined) {\n return true;\n }\n return false;\n }\n const defaultRetryDecider = defaultConfig.retryDecider;\n return defaultRetryDecider(response, error);\n};\nexport const completeMultipartUpload = composeServiceApi(s3TransferHandler, completeMultipartUploadSerializer, completeMultipartUploadDeserializer, {\n ...defaultConfig,\n responseType: 'text',\n retryDecider: retryWhenErrorWith200StatusCode,\n});\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copyObject.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"copyObject.mjs","sources":["../../../../../../src/providers/s3/utils/client/copyObject.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { buildStorageServiceError, parseXmlBody, parseXmlError, s3TransferHandler, assignStringVariables, serializeObjectConfigsToHeaders, serializePathnameObjectKey, validateS3RequiredParameter, } from './utils';\nconst copyObjectSerializer = async (input, endpoint) => {\n const headers = {\n ...(await serializeObjectConfigsToHeaders(input)),\n ...assignStringVariables({\n 'x-amz-copy-source': input.CopySource,\n 'x-amz-metadata-directive': input.MetadataDirective,\n }),\n };\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Key, 'Key');\n url.pathname = serializePathnameObjectKey(url, input.Key);\n return {\n method: 'PUT',\n headers,\n url,\n };\n};\nconst copyObjectDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n await parseXmlBody(response);\n return {\n $metadata: parseMetadata(response),\n };\n }\n};\nexport const copyObject = composeServiceApi(s3TransferHandler, copyObjectSerializer, copyObjectDeserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAMA,MAAM,oBAAoB,GAAG,OAAO,KAAK,EAAE,QAAQ,KAAK;AACxD,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,IAAI,MAAM,+BAA+B,CAAC,KAAK,CAAC;AACxD,QAAQ,GAAG,qBAAqB,CAAC;AACjC,YAAY,mBAAmB,EAAE,KAAK,CAAC,UAAU;AACjD,YAAY,0BAA0B,EAAE,KAAK,CAAC,iBAAiB;AAC/D,SAAS,CAAC;AACV,KAAK,CAAC;AACN,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpD,IAAI,GAAG,CAAC,QAAQ,GAAG,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9D,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,sBAAsB,GAAG,OAAO,QAAQ,KAAK;AACnD,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC,QAAQ,MAAM,KAAK,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,QAAQ,MAAM,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnE,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;AACrC,QAAQ,OAAO;AACf,YAAY,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;AAC9C,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACU,MAAC,UAAU,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMultipartUpload.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"createMultipartUpload.mjs","sources":["../../../../../../src/providers/s3/utils/client/createMultipartUpload.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { buildStorageServiceError, validateS3RequiredParameter, map, parseXmlBody, parseXmlError, s3TransferHandler, serializeObjectConfigsToHeaders, serializePathnameObjectKey, } from './utils';\nconst createMultipartUploadSerializer = async (input, endpoint) => {\n const headers = await serializeObjectConfigsToHeaders(input);\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Key, 'Key');\n url.pathname = serializePathnameObjectKey(url, input.Key);\n url.search = 'uploads';\n return {\n method: 'POST',\n headers,\n url,\n };\n};\nconst createMultipartUploadDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n const parsed = await parseXmlBody(response);\n const contents = map(parsed, {\n UploadId: 'UploadId',\n });\n return {\n $metadata: parseMetadata(response),\n ...contents,\n };\n }\n};\nexport const createMultipartUpload = composeServiceApi(s3TransferHandler, createMultipartUploadSerializer, createMultipartUploadDeserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAMA,MAAM,+BAA+B,GAAG,OAAO,KAAK,EAAE,QAAQ,KAAK;AACnE,IAAI,MAAM,OAAO,GAAG,MAAM,+BAA+B,CAAC,KAAK,CAAC,CAAC;AACjE,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpD,IAAI,GAAG,CAAC,QAAQ,GAAG,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;AAC3B,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,iCAAiC,GAAG,OAAO,QAAQ,KAAK;AAC9D,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC,QAAQ,MAAM,KAAK,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,QAAQ,MAAM,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnE,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;AACpD,QAAQ,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE;AACrC,YAAY,QAAQ,EAAE,UAAU;AAChC,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO;AACf,YAAY,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;AAC9C,YAAY,GAAG,QAAQ;AACvB,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACU,MAAC,qBAAqB,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,+BAA+B,EAAE,iCAAiC,EAAE,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deleteObject.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"deleteObject.mjs","sources":["../../../../../../src/providers/s3/utils/client/deleteObject.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { buildStorageServiceError, deserializeBoolean, map, parseXmlError, s3TransferHandler, serializePathnameObjectKey, validateS3RequiredParameter, } from './utils';\nconst deleteObjectSerializer = (input, endpoint) => {\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Key, 'Key');\n url.pathname = serializePathnameObjectKey(url, input.Key);\n return {\n method: 'DELETE',\n headers: {},\n url,\n };\n};\nconst deleteObjectDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n // error is always set when statusCode >= 300\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n const content = map(response.headers, {\n DeleteMarker: ['x-amz-delete-marker', deserializeBoolean],\n VersionId: 'x-amz-version-id',\n RequestCharged: 'x-amz-request-charged',\n });\n return {\n ...content,\n $metadata: parseMetadata(response),\n };\n }\n};\nexport const deleteObject = composeServiceApi(s3TransferHandler, deleteObjectSerializer, deleteObjectDeserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAMA,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK;AACpD,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpD,IAAI,GAAG,CAAC,QAAQ,GAAG,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9D,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,QAAQ;AACxB,QAAQ,OAAO,EAAE,EAAE;AACnB,QAAQ,GAAG;AACX,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,wBAAwB,GAAG,OAAO,QAAQ,KAAK;AACrD,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC;AACA,QAAQ,MAAM,KAAK,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,QAAQ,MAAM,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnE,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE;AAC9C,YAAY,YAAY,EAAE,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;AACrE,YAAY,SAAS,EAAE,kBAAkB;AACzC,YAAY,cAAc,EAAE,uBAAuB;AACnD,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO;AACf,YAAY,GAAG,OAAO;AACtB,YAAY,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;AAC9C,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACU,MAAC,YAAY,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getObject.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"getObject.mjs","sources":["../../../../../../src/providers/s3/utils/client/getObject.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, presignUrl, EMPTY_SHA256_HASH, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { buildStorageServiceError, deserializeBoolean, deserializeMetadata, deserializeNumber, deserializeTimestamp, map, parseXmlError, s3TransferHandler, serializePathnameObjectKey, CONTENT_SHA256_HEADER, validateS3RequiredParameter, } from './utils';\nconst USER_AGENT_HEADER = 'x-amz-user-agent';\nconst getObjectSerializer = async (input, endpoint) => {\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Key, 'Key');\n url.pathname = serializePathnameObjectKey(url, input.Key);\n return {\n method: 'GET',\n headers: {\n ...(input.Range && { Range: input.Range }),\n },\n url,\n };\n};\nconst getObjectDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n return {\n ...map(response.headers, {\n DeleteMarker: ['x-amz-delete-marker', deserializeBoolean],\n AcceptRanges: 'accept-ranges',\n Expiration: 'x-amz-expiration',\n Restore: 'x-amz-restore',\n LastModified: ['last-modified', deserializeTimestamp],\n ContentLength: ['content-length', deserializeNumber],\n ETag: 'etag',\n ChecksumCRC32: 'x-amz-checksum-crc32',\n ChecksumCRC32C: 'x-amz-checksum-crc32c',\n ChecksumSHA1: 'x-amz-checksum-sha1',\n ChecksumSHA256: 'x-amz-checksum-sha256',\n MissingMeta: ['x-amz-missing-meta', deserializeNumber],\n VersionId: 'x-amz-version-id',\n CacheControl: 'cache-control',\n ContentDisposition: 'content-disposition',\n ContentEncoding: 'content-encoding',\n ContentLanguage: 'content-language',\n ContentRange: 'content-range',\n ContentType: 'content-type',\n Expires: ['expires', deserializeTimestamp],\n WebsiteRedirectLocation: 'x-amz-website-redirect-location',\n ServerSideEncryption: 'x-amz-server-side-encryption',\n SSECustomerAlgorithm: 'x-amz-server-side-encryption-customer-algorithm',\n SSECustomerKeyMD5: 'x-amz-server-side-encryption-customer-key-md5',\n SSEKMSKeyId: 'x-amz-server-side-encryption-aws-kms-key-id',\n BucketKeyEnabled: [\n 'x-amz-server-side-encryption-bucket-key-enabled',\n deserializeBoolean,\n ],\n StorageClass: 'x-amz-storage-class',\n RequestCharged: 'x-amz-request-charged',\n ReplicationStatus: 'x-amz-replication-status',\n PartsCount: ['x-amz-mp-parts-count', deserializeNumber],\n TagCount: ['x-amz-tagging-count', deserializeNumber],\n ObjectLockMode: 'x-amz-object-lock-mode',\n ObjectLockRetainUntilDate: [\n 'x-amz-object-lock-retain-until-date',\n deserializeTimestamp,\n ],\n ObjectLockLegalHoldStatus: 'x-amz-object-lock-legal-hold',\n }),\n Metadata: deserializeMetadata(response.headers),\n $metadata: parseMetadata(response),\n // @ts-expect-error The body is a CompatibleHttpResponse type because the lower-level handler is XHR instead of\n // fetch, which represents payload in Blob instread of ReadableStream.\n Body: response.body,\n };\n }\n};\nexport const getObject = composeServiceApi(s3TransferHandler, getObjectSerializer, getObjectDeserializer, { ...defaultConfig, responseType: 'blob' });\n/**\n * Get a presigned URL for the `getObject` API.\n *\n * @internal\n */\nexport const getPresignedGetObjectUrl = async (config, input) => {\n const endpoint = defaultConfig.endpointResolver(config, input);\n const { url, headers, method } = await getObjectSerializer(input, endpoint);\n // TODO: set content sha256 query parameter with value of UNSIGNED-PAYLOAD instead of empty hash.\n // It requires changes in presignUrl. Without this change, the generated url still works,\n // but not the same as other tools like AWS SDK and CLI.\n url.searchParams.append(CONTENT_SHA256_HEADER, EMPTY_SHA256_HASH);\n if (config.userAgentValue) {\n url.searchParams.append(config.userAgentHeader ?? USER_AGENT_HEADER, config.userAgentValue);\n }\n for (const [headerName, value] of Object.entries(headers).sort(([key1], [key2]) => key1.localeCompare(key2))) {\n url.searchParams.append(headerName, value);\n }\n return presignUrl({ method, url, body: undefined }, {\n signingService: defaultConfig.service,\n signingRegion: config.region,\n ...defaultConfig,\n ...config,\n });\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headObject.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"headObject.mjs","sources":["../../../../../../src/providers/s3/utils/client/headObject.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { buildStorageServiceError, deserializeMetadata, deserializeNumber, deserializeTimestamp, map, parseXmlError, s3TransferHandler, serializePathnameObjectKey, validateS3RequiredParameter, } from './utils';\nconst headObjectSerializer = async (input, endpoint) => {\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Key, 'Key');\n url.pathname = serializePathnameObjectKey(url, input.Key);\n return {\n method: 'HEAD',\n headers: {},\n url,\n };\n};\nconst headObjectDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n // error is always set when statusCode >= 300\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n const contents = {\n ...map(response.headers, {\n ContentLength: ['content-length', deserializeNumber],\n ContentType: 'content-type',\n ETag: 'etag',\n LastModified: ['last-modified', deserializeTimestamp],\n VersionId: 'x-amz-version-id',\n }),\n Metadata: deserializeMetadata(response.headers),\n };\n return {\n $metadata: parseMetadata(response),\n ...contents,\n };\n }\n};\nexport const headObject = composeServiceApi(s3TransferHandler, headObjectSerializer, headObjectDeserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAMA,MAAM,oBAAoB,GAAG,OAAO,KAAK,EAAE,QAAQ,KAAK;AACxD,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpD,IAAI,GAAG,CAAC,QAAQ,GAAG,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9D,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,OAAO,EAAE,EAAE;AACnB,QAAQ,GAAG;AACX,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,sBAAsB,GAAG,OAAO,QAAQ,KAAK;AACnD,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC;AACA,QAAQ,MAAM,KAAK,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,QAAQ,MAAM,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnE,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,QAAQ,GAAG;AACzB,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE;AACrC,gBAAgB,aAAa,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;AACpE,gBAAgB,WAAW,EAAE,cAAc;AAC3C,gBAAgB,IAAI,EAAE,MAAM;AAC5B,gBAAgB,YAAY,EAAE,CAAC,eAAe,EAAE,oBAAoB,CAAC;AACrE,gBAAgB,SAAS,EAAE,kBAAkB;AAC7C,aAAa,CAAC;AACd,YAAY,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC3D,SAAS,CAAC;AACV,QAAQ,OAAO;AACf,YAAY,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;AAC9C,YAAY,GAAG,QAAQ;AACvB,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACU,MAAC,UAAU,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listObjectsV2.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"listObjectsV2.mjs","sources":["../../../../../../src/providers/s3/utils/client/listObjectsV2.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl, AmplifyUrlSearchParams, } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { assignStringVariables, buildStorageServiceError, deserializeBoolean, deserializeNumber, deserializeTimestamp, emptyArrayGuard, map, parseXmlBody, parseXmlError, s3TransferHandler, } from './utils';\nconst listObjectsV2Serializer = (input, endpoint) => {\n const headers = assignStringVariables({\n 'x-amz-request-payer': input.RequestPayer,\n 'x-amz-expected-bucket-owner': input.ExpectedBucketOwner,\n });\n const query = assignStringVariables({\n 'list-type': '2',\n 'continuation-token': input.ContinuationToken,\n delimiter: input.Delimiter,\n 'encoding-type': input.EncodingType,\n 'fetch-owner': input.FetchOwner,\n 'max-keys': input.MaxKeys,\n prefix: input.Prefix,\n 'start-after': input.StartAfter,\n });\n const url = new AmplifyUrl(endpoint.url.toString());\n url.search = new AmplifyUrlSearchParams(query).toString();\n return {\n method: 'GET',\n headers,\n url,\n };\n};\nconst listObjectsV2Deserializer = async (response) => {\n if (response.statusCode >= 300) {\n // error is always set when statusCode >= 300\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n const parsed = await parseXmlBody(response);\n const contents = map(parsed, {\n CommonPrefixes: [\n 'CommonPrefixes',\n value => emptyArrayGuard(value, deserializeCommonPrefixList),\n ],\n Contents: [\n 'Contents',\n value => emptyArrayGuard(value, deserializeObjectList),\n ],\n ContinuationToken: 'ContinuationToken',\n Delimiter: 'Delimiter',\n EncodingType: 'EncodingType',\n IsTruncated: ['IsTruncated', deserializeBoolean],\n KeyCount: ['KeyCount', deserializeNumber],\n MaxKeys: ['MaxKeys', deserializeNumber],\n Name: 'Name',\n NextContinuationToken: 'NextContinuationToken',\n Prefix: 'Prefix',\n StartAfter: 'StartAfter',\n });\n return {\n $metadata: parseMetadata(response),\n ...contents,\n };\n }\n};\nconst deserializeCommonPrefixList = (output) => output.map(deserializeCommonPrefix);\nconst deserializeCommonPrefix = (output) => map(output, {\n Prefix: 'Prefix',\n});\nconst deserializeObjectList = (output) => output.map(deserializeObject);\nconst deserializeObject = (output) => map(output, {\n Key: 'Key',\n LastModified: ['LastModified', deserializeTimestamp],\n ETag: 'ETag',\n ChecksumAlgorithm: [\n 'ChecksumAlgorithm',\n value => emptyArrayGuard(value, deserializeChecksumAlgorithmList),\n ],\n Size: ['Size', deserializeNumber],\n StorageClass: 'StorageClass',\n Owner: ['Owner', deserializeOwner],\n});\nconst deserializeChecksumAlgorithmList = (output) => output.map(entry => String(entry));\nconst deserializeOwner = (output) => map(output, { DisplayName: 'DisplayName', ID: 'ID' });\nexport const listObjectsV2 = composeServiceApi(s3TransferHandler, listObjectsV2Serializer, listObjectsV2Deserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listParts.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"listParts.mjs","sources":["../../../../../../src/providers/s3/utils/client/listParts.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl, AmplifyUrlSearchParams, } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { buildStorageServiceError, emptyArrayGuard, map, parseXmlBody, parseXmlError, s3TransferHandler, deserializeNumber, serializePathnameObjectKey, validateS3RequiredParameter, } from './utils';\nconst listPartsSerializer = async (input, endpoint) => {\n const headers = {};\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Key, 'Key');\n url.pathname = serializePathnameObjectKey(url, input.Key);\n validateS3RequiredParameter(!!input.UploadId, 'UploadId');\n url.search = new AmplifyUrlSearchParams({\n uploadId: input.UploadId,\n }).toString();\n return {\n method: 'GET',\n headers,\n url,\n };\n};\nconst listPartsDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n const parsed = await parseXmlBody(response);\n const contents = map(parsed, {\n UploadId: 'UploadId',\n Parts: [\n 'Part',\n value => emptyArrayGuard(value, deserializeCompletedPartList),\n ],\n });\n return {\n $metadata: parseMetadata(response),\n ...contents,\n };\n }\n};\nconst deserializeCompletedPartList = (input) => input.map(item => map(item, {\n PartNumber: ['PartNumber', deserializeNumber],\n ETag: 'ETag',\n Size: ['Size', deserializeNumber],\n}));\nexport const listParts = composeServiceApi(s3TransferHandler, listPartsSerializer, listPartsDeserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAMA,MAAM,mBAAmB,GAAG,OAAO,KAAK,EAAE,QAAQ,KAAK;AACvD,IAAI,MAAM,OAAO,GAAG,EAAE,CAAC;AACvB,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpD,IAAI,GAAG,CAAC,QAAQ,GAAG,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9D,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,sBAAsB,CAAC;AAC5C,QAAQ,QAAQ,EAAE,KAAK,CAAC,QAAQ;AAChC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;AAClB,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,qBAAqB,GAAG,OAAO,QAAQ,KAAK;AAClD,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC,QAAQ,MAAM,KAAK,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,QAAQ,MAAM,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnE,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;AACpD,QAAQ,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE;AACrC,YAAY,QAAQ,EAAE,UAAU;AAChC,YAAY,KAAK,EAAE;AACnB,gBAAgB,MAAM;AACtB,gBAAgB,KAAK,IAAI,eAAe,CAAC,KAAK,EAAE,4BAA4B,CAAC;AAC7E,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO;AACf,YAAY,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;AAC9C,YAAY,GAAG,QAAQ;AACvB,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACF,MAAM,4BAA4B,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE;AAC5E,IAAI,UAAU,EAAE,CAAC,YAAY,EAAE,iBAAiB,CAAC;AACjD,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC;AACQ,MAAC,SAAS,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"putObject.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"putObject.mjs","sources":["../../../../../../src/providers/s3/utils/client/putObject.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { buildStorageServiceError, validateS3RequiredParameter, assignStringVariables, map, parseXmlError, s3TransferHandler, serializeObjectConfigsToHeaders, serializePathnameObjectKey, } from './utils';\nconst putObjectSerializer = async (input, endpoint) => {\n const headers = {\n ...(await serializeObjectConfigsToHeaders({\n ...input,\n ContentType: input.ContentType ?? 'application/octet-stream',\n })),\n ...assignStringVariables({ 'content-md5': input.ContentMD5 }),\n };\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Key, 'Key');\n url.pathname = serializePathnameObjectKey(url, input.Key);\n return {\n method: 'PUT',\n headers,\n url,\n body: input.Body,\n };\n};\nconst putObjectDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n return {\n ...map(response.headers, {\n ETag: 'etag',\n VersionId: 'x-amz-version-id',\n }),\n $metadata: parseMetadata(response),\n };\n }\n};\nexport const putObject = composeServiceApi(s3TransferHandler, putObjectSerializer, putObjectDeserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAMA,MAAM,mBAAmB,GAAG,OAAO,KAAK,EAAE,QAAQ,KAAK;AACvD,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,IAAI,MAAM,+BAA+B,CAAC;AAClD,YAAY,GAAG,KAAK;AACpB,YAAY,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,0BAA0B;AACxE,SAAS,CAAC;AACV,QAAQ,GAAG,qBAAqB,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;AACrE,KAAK,CAAC;AACN,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpD,IAAI,GAAG,CAAC,QAAQ,GAAG,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9D,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,QAAQ,IAAI,EAAE,KAAK,CAAC,IAAI;AACxB,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,qBAAqB,GAAG,OAAO,QAAQ,KAAK;AAClD,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC,QAAQ,MAAM,KAAK,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,QAAQ,MAAM,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnE,KAAK;AACL,SAAS;AACT,QAAQ,OAAO;AACf,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE;AACrC,gBAAgB,IAAI,EAAE,MAAM;AAC5B,gBAAgB,SAAS,EAAE,kBAAkB;AAC7C,aAAa,CAAC;AACd,YAAY,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;AAC9C,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACU,MAAC,SAAS,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.browser.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"index.browser.mjs","sources":["../../../../../../../../src/providers/s3/utils/client/runtime/base64/index.browser.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction bytesToBase64(bytes) {\n const base64Str = Array.from(bytes, x => String.fromCodePoint(x)).join('');\n return btoa(base64Str);\n}\nexport function utf8Encode(input) {\n return new TextEncoder().encode(input);\n}\nexport function toBase64(input) {\n if (typeof input === 'string') {\n return bytesToBase64(utf8Encode(input));\n }\n return bytesToBase64(new Uint8Array(input.buffer, input.byteOffset, input.byteLength));\n}\n"],"names":[],"mappings":"AAAA;AACA;AACA,SAAS,aAAa,CAAC,KAAK,EAAE;AAC9B,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/E,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC;AACM,SAAS,UAAU,CAAC,KAAK,EAAE;AAClC,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AACM,SAAS,QAAQ,CAAC,KAAK,EAAE;AAChC,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,QAAQ,OAAO,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,KAAK;AACL,IAAI,OAAO,aAAa,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AAC3F;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"index.native.mjs","sources":["../../../../../../../../src/providers/s3/utils/client/runtime/base64/index.native.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Buffer } from 'buffer';\nexport function utf8Encode(input) {\n return Buffer.from(input, 'utf-8');\n}\nexport function toBase64(input) {\n if (typeof input === 'string') {\n return Buffer.from(input, 'utf-8').toString('base64');\n }\n return new Buffer(input.buffer).toString('base64');\n}\n"],"names":[],"mappings":";;AAAA;AACA;AAEO,SAAS,UAAU,CAAC,KAAK,EAAE;AAClC,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AACM,SAAS,QAAQ,CAAC,KAAK,EAAE;AAChC,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,QAAQ,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC9D,KAAK;AACL,IAAI,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../../../../../../src/providers/s3/utils/client/runtime/constants.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const SEND_UPLOAD_PROGRESS_EVENT = 'sendUploadProgress';\nexport const SEND_DOWNLOAD_PROGRESS_EVENT = 'sendDownloadProgress';\nexport const NETWORK_ERROR_MESSAGE = 'Network Error';\nexport const NETWORK_ERROR_CODE = 'ECONNABORTED';\nexport const ABORT_ERROR_MESSAGE = 'Request aborted';\nexport const ABORT_ERROR_CODE = 'ERR_ABORTED';\nexport const CANCELED_ERROR_MESSAGE = 'canceled';\nexport const CANCELED_ERROR_CODE = 'ERR_CANCELED';\nexport const CONTENT_SHA256_HEADER = 'x-amz-content-sha256';\n"],"names":[],"mappings":"AAAA;AACA;AACY,MAAC,0BAA0B,GAAG,qBAAqB;AACnD,MAAC,4BAA4B,GAAG,uBAAuB;AACvD,MAAC,qBAAqB,GAAG,gBAAgB;AACzC,MAAC,kBAAkB,GAAG,eAAe;AACrC,MAAC,mBAAmB,GAAG,kBAAkB;AACzC,MAAC,gBAAgB,GAAG,cAAc;AAClC,MAAC,sBAAsB,GAAG,WAAW;AACrC,MAAC,mBAAmB,GAAG,eAAe;AACtC,MAAC,qBAAqB,GAAG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentSha256middleware.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"contentSha256middleware.mjs","sources":["../../../../../../../src/providers/s3/utils/client/runtime/contentSha256middleware.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getHashedPayload, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { CONTENT_SHA256_HEADER } from './constants';\n/**\n * A middleware that adds the x-amz-content-sha256 header to the request if it is not already present.\n * It's required for S3 requests in browsers where the request body is sent in 1 chunk.\n * @see https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html\n *\n * @internal\n */\nexport const contentSha256Middleware = (options) => (next) => async function contentSha256Middleware(request) {\n if (request.headers[CONTENT_SHA256_HEADER]) {\n return next(request);\n }\n else {\n const hash = await getHashedPayload(request.body);\n request.headers[CONTENT_SHA256_HEADER] = hash;\n return next(request);\n }\n};\n"],"names":[],"mappings":";;;AAAA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,uBAAuB,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,eAAe,uBAAuB,CAAC,OAAO,EAAE;AAC9G,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;AAChD,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC1D,QAAQ,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC;AACtD,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,KAAK;AACL;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"fetch.mjs","sources":["../../../../../../../../src/providers/s3/utils/client/runtime/s3TransferHandler/fetch.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { authenticatedHandler, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { composeTransferHandler } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { contentSha256Middleware } from '../contentSha256middleware';\n/**\n * S3 transfer handler for node based on Node-fetch. On top of basic transfer handler, it also supports\n * x-amz-content-sha256 header. However, it does not support request&response process tracking like browser.\n *\n * @internal\n */\nexport const s3TransferHandler = composeTransferHandler(authenticatedHandler, [contentSha256Middleware]);\n"],"names":[],"mappings":";;;;AAAA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,iBAAiB,GAAG,sBAAsB,CAAC,oBAAoB,EAAE,CAAC,uBAAuB,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xhr.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"xhr.mjs","sources":["../../../../../../../../src/providers/s3/utils/client/runtime/s3TransferHandler/xhr.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { retryMiddleware, signingMiddleware, userAgentMiddleware, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { composeTransferHandler } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { contentSha256Middleware } from '../contentSha256middleware';\nimport { xhrTransferHandler } from '../xhrTransferHandler';\n/**\n * S3 transfer handler for browser and React Native based on XHR. On top of basic transfer handler, it also supports\n * x-amz-content-sha256 header, and request&response process tracking.\n *\n * @internal\n */\nexport const s3TransferHandler = composeTransferHandler(xhrTransferHandler, [\n contentSha256Middleware,\n userAgentMiddleware,\n retryMiddleware,\n signingMiddleware,\n]);\n"],"names":[],"mappings":";;;;;AAAA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,iBAAiB,GAAG,sBAAsB,CAAC,kBAAkB,EAAE;AAC5E,IAAI,uBAAuB;AAC3B,IAAI,mBAAmB;AACvB,IAAI,eAAe;AACnB,IAAI,iBAAiB;AACrB,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xhrTransferHandler.mjs","sources":["../../../../../../../../src/providers/s3/utils/client/runtime/xhrTransferHandler.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"xhrTransferHandler.mjs","sources":["../../../../../../../src/providers/s3/utils/client/runtime/xhrTransferHandler.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { withMemoization, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { ConsoleLogger } from '@aws-amplify/core';\nimport { ABORT_ERROR_CODE, ABORT_ERROR_MESSAGE, CANCELED_ERROR_CODE, CANCELED_ERROR_MESSAGE, NETWORK_ERROR_CODE, NETWORK_ERROR_MESSAGE, } from './constants';\nimport { CanceledError } from '../../../../../errors/CanceledError';\nconst logger = new ConsoleLogger('xhr-http-handler');\n/**\n * Base transfer handler implementation using XMLHttpRequest to support upload and download progress events.\n *\n * @param request - The request object.\n * @param options - The request options.\n * @returns A promise that will be resolved with the response object.\n *\n * @internal\n */\nexport const xhrTransferHandler = (request, options) => {\n const { url, method, headers, body } = request;\n const { onDownloadProgress, onUploadProgress, responseType, abortSignal } = options;\n return new Promise((resolve, reject) => {\n let xhr = new XMLHttpRequest();\n xhr.open(method.toUpperCase(), url.toString());\n Object.entries(headers)\n .filter(([header]) => !FORBIDDEN_HEADERS.includes(header))\n .forEach(([header, value]) => {\n xhr.setRequestHeader(header, value);\n });\n xhr.responseType = responseType;\n if (onDownloadProgress) {\n xhr.addEventListener('progress', event => {\n onDownloadProgress(convertToTransferProgressEvent(event));\n logger.debug(event);\n });\n }\n if (onUploadProgress) {\n xhr.upload.addEventListener('progress', event => {\n onUploadProgress(convertToTransferProgressEvent(event));\n logger.debug(event);\n });\n }\n xhr.addEventListener('error', () => {\n const networkError = buildHandlerError(NETWORK_ERROR_MESSAGE, NETWORK_ERROR_CODE);\n logger.error(NETWORK_ERROR_MESSAGE);\n reject(networkError);\n xhr = null; // clean up request\n });\n // Handle browser request cancellation (as opposed to a manual cancellation)\n xhr.addEventListener('abort', () => {\n // The abort event can be triggered after the error or load event. So we need to check if the xhr is null.\n // When request is aborted by AbortSignal, the promise is rejected in the abortSignal's 'abort' event listener.\n if (!xhr || abortSignal?.aborted)\n return;\n // Handle abort request caused by browser instead of AbortController\n // see: https://github.com/axios/axios/issues/537\n const error = buildHandlerError(ABORT_ERROR_MESSAGE, ABORT_ERROR_CODE);\n logger.error(ABORT_ERROR_MESSAGE);\n reject(error);\n xhr = null; // clean up request\n });\n // Skip handling timeout error since we don't have a timeout\n xhr.addEventListener('readystatechange', () => {\n if (!xhr || xhr.readyState !== xhr.DONE) {\n return;\n }\n const onloadend = () => {\n // The load event is triggered after the error/abort/load event. So we need to check if the xhr is null.\n if (!xhr)\n return;\n const responseHeaders = convertResponseHeaders(xhr.getAllResponseHeaders());\n const responseType = xhr.responseType;\n const responseBlob = xhr.response;\n const responseText = responseType === 'text' ? xhr.responseText : '';\n const bodyMixIn = {\n blob: () => Promise.resolve(responseBlob),\n text: withMemoization(() => responseType === 'blob'\n ? readBlobAsText(responseBlob)\n : Promise.resolve(responseText)),\n json: () => Promise.reject(\n // S3 does not support JSON response. So fail-fast here with nicer error message.\n new Error('Parsing response to JSON is not implemented. Please use response.text() instead.')),\n };\n const response = {\n statusCode: xhr.status,\n headers: responseHeaders,\n // The xhr.responseType is only set to 'blob' for streaming binary S3 object data. The streaming data is\n // exposed via public interface of Storage.get(). So we need to return the response as a Blob object for\n // backward compatibility. In other cases, the response payload is only used internally, we return it is\n // {@link ResponseBodyMixin}\n body: (xhr.responseType === 'blob'\n ? Object.assign(responseBlob, bodyMixIn)\n : bodyMixIn),\n };\n resolve(response);\n xhr = null; // clean up request\n };\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n // @see https://github.com/axios/axios/blob/9588fcdec8aca45c3ba2f7968988a5d03f23168c/lib/adapters/xhr.js#L98-L99\n setTimeout(onloadend);\n });\n if (abortSignal) {\n const onCanceled = () => {\n // The abort event is triggered after the error or load event. So we need to check if the xhr is null.\n if (!xhr) {\n return;\n }\n const canceledError = new CanceledError({\n name: CANCELED_ERROR_CODE,\n message: CANCELED_ERROR_MESSAGE,\n });\n reject(canceledError);\n xhr.abort();\n xhr = null;\n };\n abortSignal.aborted\n ? onCanceled()\n : abortSignal.addEventListener('abort', onCanceled);\n }\n if (typeof ReadableStream === 'function' &&\n body instanceof ReadableStream) {\n // This does not matter as previous implementation uses Axios which does not support ReadableStream anyway.\n throw new Error('ReadableStream request payload is not supported.');\n }\n xhr.send(body ?? null);\n });\n};\nconst convertToTransferProgressEvent = (event) => ({\n transferredBytes: event.loaded,\n totalBytes: event.lengthComputable ? event.total : undefined,\n});\nconst buildHandlerError = (message, name) => {\n const error = new Error(message);\n error.name = name;\n return error;\n};\n/**\n * Convert xhr.getAllResponseHeaders() string to a Record<string, string>. Note that modern browser already returns\n * header names in lowercase.\n * @param xhrHeaders - string of headers returned from xhr.getAllResponseHeaders()\n */\nconst convertResponseHeaders = (xhrHeaders) => {\n if (!xhrHeaders) {\n return {};\n }\n return xhrHeaders\n .split('\\r\\n')\n .reduce((headerMap, line) => {\n const parts = line.split(': ');\n const header = parts.shift();\n const value = parts.join(': ');\n headerMap[header.toLowerCase()] = value;\n return headerMap;\n }, {});\n};\nconst readBlobAsText = (blob) => {\n const reader = new FileReader();\n return new Promise((resolve, reject) => {\n reader.onloadend = () => {\n if (reader.readyState !== FileReader.DONE) {\n return;\n }\n resolve(reader.result);\n };\n reader.onerror = () => {\n reject(reader.error);\n };\n reader.readAsText(blob);\n });\n};\n// To add more forbidden headers as found set by S3. Intentionally NOT list all of them here to save bundle size.\n// https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name\nconst FORBIDDEN_HEADERS = ['host'];\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"dom.mjs","sources":["../../../../../../../../src/providers/s3/utils/client/runtime/xmlParser/dom.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Drop-in replacement for fast-xml-parser's XmlParser class used in the AWS SDK S3 client XML deserializer. This\n * implementation is not tested against the full xml conformance test suite. It is only tested against the XML responses\n * from S3. This implementation requires the `DOMParser` class in the runtime.\n */\nexport const parser = {\n parse: (xmlStr) => {\n const domParser = new DOMParser();\n const xml = domParser.parseFromString(xmlStr, 'text/xml');\n const parsedObj = parseXmlNode(xml);\n const rootKey = Object.keys(parsedObj)[0];\n return parsedObj[rootKey];\n },\n};\nconst parseXmlNode = (node) => {\n if (isDocumentNode(node)) {\n return {\n [node.documentElement.nodeName]: parseXmlNode(node.documentElement),\n };\n }\n if (node.nodeType === Node.TEXT_NODE) {\n return node.nodeValue?.trim();\n }\n if (isElementNode(node)) {\n // Node like <Location>foo</Location> will be converted to { Location: 'foo' }\n // instead of { Location: { '#text': 'foo' } }.\n if (isTextOnlyElementNode(node)) {\n return node.childNodes[0]?.nodeValue;\n }\n const nodeValue = {};\n // convert attributes\n for (let i = 0; i < node.attributes.length; i++) {\n const attr = node.attributes[i];\n if (!isNamespaceAttributeName(attr.nodeName)) {\n nodeValue[attr.nodeName] = attr.nodeValue;\n }\n }\n // convert child nodes\n if (node.children.length > 0) {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n const childValue = parseXmlNode(child);\n if (childValue === undefined) {\n continue;\n }\n const childName = child.nodeName;\n if (nodeValue[childName] === undefined) {\n nodeValue[childName] = childValue;\n }\n else if (Array.isArray(nodeValue[childName])) {\n nodeValue[childName].push(childValue);\n }\n else {\n nodeValue[childName] = [nodeValue[childName], childValue];\n }\n }\n }\n // Return empty element node as empty string instead of `{}`, which is the default behavior of fast-xml-parser.\n return Object.keys(nodeValue).length === 0 ? '' : nodeValue;\n }\n};\nconst isElementNode = (node) => node.nodeType === Node.ELEMENT_NODE;\nconst isDocumentNode = (node) => node.nodeType === Node.DOCUMENT_NODE;\nconst isTextOnlyElementNode = (node) => hasOnlyNamespaceAttributes(node) &&\n node.children.length === 0 &&\n node.firstChild?.nodeType === Node.TEXT_NODE;\nconst hasOnlyNamespaceAttributes = (node) => {\n for (let i = 0; i < node.attributes.length; i++) {\n const attr = node.attributes[i];\n if (!isNamespaceAttributeName(attr.nodeName)) {\n return false;\n }\n }\n return true;\n};\nconst isNamespaceAttributeName = (name) => name === 'xmlns' || name.startsWith('xmlns:');\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pureJs.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"pureJs.mjs","sources":["../../../../../../../../src/providers/s3/utils/client/runtime/xmlParser/pureJs.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { XMLParser } from 'fast-xml-parser';\n/**\n * Pure JS XML parser that can be used in Non-browser environments, like React Native and Node.js. This is the same\n * XML parser implementation as used in AWS SDK S3 client. It depends on pure JavaScript XML parser library\n * `fast-xml-parser`.\n *\n * Ref: https://github.com/aws/aws-sdk-js-v3/blob/1e806ba3f4a83c9e3eb0b41a3a7092da93826b8f/clients/client-s3/src/protocols/Aws_restXml.ts#L12938-L12959\n */\nexport const parser = {\n parse: (xmlStr) => {\n const parser = new XMLParser({\n attributeNamePrefix: '',\n htmlEntities: true,\n ignoreAttributes: false,\n ignoreDeclaration: true,\n parseTagValue: false,\n trimValues: false,\n removeNSPrefix: true,\n tagValueProcessor: (_, val) => val.trim() === '' && val.includes('\\n') ? '' : undefined,\n });\n parser.addEntity('#xD', '\\r');\n parser.addEntity('#10', '\\n');\n const parsedObj = parser.parse(xmlStr);\n const textNodeName = '#text';\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return getValueFromTextNode(parsedObjToReturn);\n },\n};\n/**\n * Recursively parses object and populates value is node from \"#text\" key if it's available\n *\n * Ref: https://github.com/aws/aws-sdk-js-v3/blob/6b4bde6f338720abf28b931f8a4506613bd64d3f/packages/smithy-client/src/get-value-from-text-node.ts#L1\n */\nconst getValueFromTextNode = (obj) => {\n const textNodeName = '#text';\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== undefined) {\n obj[key] = obj[key][textNodeName];\n }\n else if (typeof obj[key] === 'object' && obj[key] !== null) {\n obj[key] = getValueFromTextNode(obj[key]);\n }\n }\n return obj;\n};\n"],"names":[],"mappings":";;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG;AACtB,IAAI,KAAK,EAAE,CAAC,MAAM,KAAK;AACvB,QAAQ,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;AACrC,YAAY,mBAAmB,EAAE,EAAE;AACnC,YAAY,YAAY,EAAE,IAAI;AAC9B,YAAY,gBAAgB,EAAE,KAAK;AACnC,YAAY,iBAAiB,EAAE,IAAI;AACnC,YAAY,aAAa,EAAE,KAAK;AAChC,YAAY,UAAU,EAAE,KAAK;AAC7B,YAAY,cAAc,EAAE,IAAI;AAChC,YAAY,iBAAiB,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;AACnG,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACtC,QAAQ,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACtC,QAAQ,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC/C,QAAQ,MAAM,YAAY,GAAG,OAAO,CAAC;AACrC,QAAQ,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,QAAQ,MAAM,iBAAiB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AACjD,QAAQ,IAAI,iBAAiB,CAAC,YAAY,CAAC,EAAE;AAC7C,YAAY,iBAAiB,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;AACrE,YAAY,OAAO,iBAAiB,CAAC,YAAY,CAAC,CAAC;AACnD,SAAS;AACT,QAAQ,OAAO,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AACvD,KAAK;AACL,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,MAAM,oBAAoB,GAAG,CAAC,GAAG,KAAK;AACtC,IAAI,MAAM,YAAY,GAAG,OAAO,CAAC;AACjC,IAAI,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;AAC3B,QAAQ,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE;AAC7E,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;AAC9C,SAAS;AACT,aAAa,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;AACpE,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACtD,SAAS;AACT,KAAK;AACL,IAAI,OAAO,GAAG,CAAC;AACf,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadPart.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"uploadPart.mjs","sources":["../../../../../../src/providers/s3/utils/client/uploadPart.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl, AmplifyUrlSearchParams, } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { buildStorageServiceError, validateS3RequiredParameter, assignStringVariables, map, parseXmlError, s3TransferHandler, serializePathnameObjectKey, } from './utils';\nconst uploadPartSerializer = async (input, endpoint) => {\n const headers = {\n ...assignStringVariables({ 'content-md5': input.ContentMD5 }),\n };\n headers['content-type'] = 'application/octet-stream';\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Key, 'Key');\n url.pathname = serializePathnameObjectKey(url, input.Key);\n validateS3RequiredParameter(!!input.PartNumber, 'PartNumber');\n validateS3RequiredParameter(!!input.UploadId, 'UploadId');\n url.search = new AmplifyUrlSearchParams({\n partNumber: input.PartNumber + '',\n uploadId: input.UploadId,\n }).toString();\n return {\n method: 'PUT',\n headers,\n url,\n body: input.Body,\n };\n};\nconst uploadPartDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n return {\n ...map(response.headers, {\n ETag: 'etag',\n }),\n $metadata: parseMetadata(response),\n };\n }\n};\nexport const uploadPart = composeServiceApi(s3TransferHandler, uploadPartSerializer, uploadPartDeserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAMA,MAAM,oBAAoB,GAAG,OAAO,KAAK,EAAE,QAAQ,KAAK;AACxD,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,GAAG,qBAAqB,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;AACrE,KAAK,CAAC;AACN,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,0BAA0B,CAAC;AACzD,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpD,IAAI,GAAG,CAAC,QAAQ,GAAG,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9D,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAClE,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,sBAAsB,CAAC;AAC5C,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,EAAE;AACzC,QAAQ,QAAQ,EAAE,KAAK,CAAC,QAAQ;AAChC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;AAClB,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,QAAQ,IAAI,EAAE,KAAK,CAAC,IAAI;AACxB,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,sBAAsB,GAAG,OAAO,QAAQ,KAAK;AACnD,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC,QAAQ,MAAM,KAAK,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,QAAQ,MAAM,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnE,KAAK;AACL,SAAS;AACT,QAAQ,OAAO;AACf,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE;AACrC,gBAAgB,IAAI,EAAE,MAAM;AAC5B,aAAa,CAAC;AACd,YAAY,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;AAC9C,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACU,MAAC,UAAU,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE;;;;"}
|