UNPKG

@aws-amplify/storage

Version:

Storage category of aws-amplify

1 lines 5.86 kB
{"version":3,"file":"initialUpload.mjs","sources":["../../../../../../../../src/providers/s3/apis/internal/uploadData/multipart/initialUpload.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { createMultipartUpload } from '../../../../utils/client/s3data';\nimport { logger } from '../../../../../../utils';\nimport { constructContentDisposition } from '../../../../utils/constructContentDisposition';\nimport { CHECKSUM_ALGORITHM_CRC32 } from '../../../../utils/constants';\nimport { getCombinedCrc32 } from '../../../../utils/getCombinedCrc32.native';\nimport { cacheMultipartUpload, findCachedUploadParts, getUploadsCacheKey, } from './uploadCache';\n/**\n * Load the in-progress multipart upload from local storage or async storage(RN) if it exists, or create a new multipart\n * upload.\n *\n * @internal\n */\nexport const loadOrCreateMultipartUpload = async ({ s3Config, data, size, contentType, bucket, accessLevel, keyPrefix, key, contentDisposition, contentEncoding, metadata, abortSignal, checksumAlgorithm, optionsHash, resumableUploadsCache, expectedBucketOwner, }) => {\n const finalKey = keyPrefix !== undefined ? keyPrefix + key : key;\n let cachedUpload;\n if (!resumableUploadsCache) {\n logger.debug('uploaded cache instance cannot be determined, skipping cache.');\n cachedUpload = undefined;\n }\n else {\n const uploadCacheKey = getUploadsCacheKey({\n size,\n contentType,\n file: data instanceof File ? data : undefined,\n bucket,\n accessLevel,\n key,\n optionsHash,\n });\n const cachedUploadParts = await findCachedUploadParts({\n s3Config,\n cacheKey: uploadCacheKey,\n bucket,\n finalKey,\n resumableUploadsCache,\n });\n cachedUpload = cachedUploadParts\n ? { ...cachedUploadParts, uploadCacheKey }\n : undefined;\n }\n if (cachedUpload) {\n return {\n uploadId: cachedUpload.uploadId,\n cachedParts: cachedUpload.parts,\n finalCrc32: cachedUpload.finalCrc32,\n };\n }\n else {\n const finalCrc32 = checksumAlgorithm === CHECKSUM_ALGORITHM_CRC32\n ? await getCombinedCrc32(data, size)\n : undefined;\n const { UploadId } = await createMultipartUpload({\n ...s3Config,\n abortSignal,\n }, {\n Bucket: bucket,\n Key: finalKey,\n ContentType: contentType,\n ContentDisposition: constructContentDisposition(contentDisposition),\n ContentEncoding: contentEncoding,\n Metadata: metadata,\n ChecksumAlgorithm: finalCrc32 ? 'CRC32' : undefined,\n ExpectedBucketOwner: expectedBucketOwner,\n });\n if (resumableUploadsCache) {\n const uploadCacheKey = getUploadsCacheKey({\n size,\n contentType,\n file: data instanceof File ? data : undefined,\n bucket,\n accessLevel,\n key,\n optionsHash,\n });\n await cacheMultipartUpload(resumableUploadsCache, uploadCacheKey, {\n uploadId: UploadId,\n bucket,\n key,\n finalCrc32,\n fileName: data instanceof File ? data.name : '',\n });\n }\n return {\n uploadId: UploadId,\n cachedParts: [],\n finalCrc32,\n };\n }\n};\n"],"names":[],"mappings":"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"}