@aws-amplify/storage 6.9.4-unstable.d6f1422.0 → 6.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/cjs/errors/CanceledError.js.map +1 -1
  2. package/dist/cjs/errors/IntegrityError.js.map +1 -1
  3. package/dist/cjs/errors/StorageError.js.map +1 -1
  4. package/dist/cjs/errors/utils/assertValidationError.js.map +1 -1
  5. package/dist/cjs/index.js.map +1 -1
  6. package/dist/cjs/internals/apis/getDataAccess.js.map +1 -1
  7. package/dist/cjs/internals/apis/listCallerAccessGrants.js.map +1 -1
  8. package/dist/cjs/internals/apis/listPaths/getHighestPrecedenceUserGroup.js.map +1 -1
  9. package/dist/cjs/internals/apis/listPaths/index.js.map +1 -1
  10. package/dist/cjs/internals/apis/listPaths/listPaths.js.map +1 -1
  11. package/dist/cjs/internals/apis/listPaths/resolveLocationsForCurrentSession.js.map +1 -1
  12. package/dist/cjs/internals/index.js.map +1 -1
  13. package/dist/cjs/providers/s3/apis/index.js.map +1 -1
  14. package/dist/cjs/providers/s3/apis/internal/downloadData.js.map +1 -1
  15. package/dist/cjs/providers/s3/apis/internal/getUrl.js.map +1 -1
  16. package/dist/cjs/providers/s3/apis/internal/list.js.map +1 -1
  17. package/dist/cjs/providers/s3/apis/internal/remove.js.map +1 -1
  18. package/dist/cjs/providers/s3/apis/internal/uploadData/byteLength.js.map +1 -1
  19. package/dist/cjs/providers/s3/apis/internal/uploadData/index.js.map +1 -1
  20. package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/calculatePartSize.js.map +1 -1
  21. package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/getDataChunker.js.map +1 -1
  22. package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/index.js.map +1 -1
  23. package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/initialUpload.js.map +1 -1
  24. package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/progressTracker.js.map +1 -1
  25. package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/uploadCache.js.map +1 -1
  26. package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/uploadHandlers.js.map +1 -1
  27. package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/uploadPartExecutor.js.map +1 -1
  28. package/dist/cjs/providers/s3/apis/server/index.js.map +1 -1
  29. package/dist/cjs/providers/s3/index.js.map +1 -1
  30. package/dist/cjs/providers/s3/utils/client/runtime/base64/index.browser.js.map +1 -1
  31. package/dist/cjs/providers/s3/utils/client/runtime/base64/index.native.js.map +1 -1
  32. package/dist/cjs/providers/s3/utils/client/runtime/contentSha256middleware.js.map +1 -1
  33. package/dist/cjs/providers/s3/utils/client/runtime/index.browser.js.map +1 -1
  34. package/dist/cjs/providers/s3/utils/client/runtime/index.js.map +1 -1
  35. package/dist/cjs/providers/s3/utils/client/runtime/index.native.js.map +1 -1
  36. package/dist/cjs/providers/s3/utils/client/runtime/xhrTransferHandler.js.map +1 -1
  37. package/dist/cjs/providers/s3/utils/client/runtime/xmlParser/dom.js.map +1 -1
  38. package/dist/cjs/providers/s3/utils/client/runtime/xmlParser/pureJs.js.map +1 -1
  39. package/dist/cjs/providers/s3/utils/client/s3control/base.js.map +1 -1
  40. package/dist/cjs/providers/s3/utils/client/s3control/getDataAccess.js.map +1 -1
  41. package/dist/cjs/providers/s3/utils/client/s3control/index.js.map +1 -1
  42. package/dist/cjs/providers/s3/utils/client/s3control/listCallerAccessGrants.js.map +1 -1
  43. package/dist/cjs/providers/s3/utils/client/s3data/abortMultipartUpload.js.map +1 -1
  44. package/dist/cjs/providers/s3/utils/client/s3data/base.js.map +1 -1
  45. package/dist/cjs/providers/s3/utils/client/s3data/completeMultipartUpload.js.map +1 -1
  46. package/dist/cjs/providers/s3/utils/client/s3data/copyObject.js.map +1 -1
  47. package/dist/cjs/providers/s3/utils/client/s3data/createMultipartUpload.js.map +1 -1
  48. package/dist/cjs/providers/s3/utils/client/s3data/deleteObject.js.map +1 -1
  49. package/dist/cjs/providers/s3/utils/client/s3data/getObject.js.map +1 -1
  50. package/dist/cjs/providers/s3/utils/client/s3data/headObject.js.map +1 -1
  51. package/dist/cjs/providers/s3/utils/client/s3data/index.js.map +1 -1
  52. package/dist/cjs/providers/s3/utils/client/s3data/listObjectsV2.js.map +1 -1
  53. package/dist/cjs/providers/s3/utils/client/s3data/listParts.js.map +1 -1
  54. package/dist/cjs/providers/s3/utils/client/s3data/putObject.js.map +1 -1
  55. package/dist/cjs/providers/s3/utils/client/s3data/uploadPart.js.map +1 -1
  56. package/dist/cjs/providers/s3/utils/client/utils/createRetryDecider.js.map +1 -1
  57. package/dist/cjs/providers/s3/utils/client/utils/deserializeHelpers.js.map +1 -1
  58. package/dist/cjs/providers/s3/utils/client/utils/index.js.map +1 -1
  59. package/dist/cjs/providers/s3/utils/client/utils/integrityHelpers.js.map +1 -1
  60. package/dist/cjs/providers/s3/utils/client/utils/parsePayload.js.map +1 -1
  61. package/dist/cjs/providers/s3/utils/client/utils/serializeHelpers.js.map +1 -1
  62. package/dist/cjs/providers/s3/utils/crc32.js.map +1 -1
  63. package/dist/cjs/providers/s3/utils/index.js.map +1 -1
  64. package/dist/cjs/providers/s3/utils/readFile.js.map +1 -1
  65. package/dist/cjs/providers/s3/utils/readFile.native.js.map +1 -1
  66. package/dist/cjs/providers/s3/utils/resolveS3ConfigAndInput.js.map +1 -1
  67. package/dist/cjs/providers/s3/utils/transferTask.js.map +1 -1
  68. package/dist/cjs/providers/s3/utils/validateBucketOwnerID.js.map +1 -1
  69. package/dist/cjs/providers/s3/utils/validateMultipartUploadXML.js.map +1 -1
  70. package/dist/cjs/providers/s3/utils/validateObjectUrl.js.map +1 -1
  71. package/dist/cjs/providers/s3/utils/validateStorageOperationInput.js.map +1 -1
  72. package/dist/cjs/providers/s3/utils/validateStorageOperationInputWithPrefix.js.map +1 -1
  73. package/dist/cjs/utils/index.js.map +1 -1
  74. package/dist/cjs/utils/resolvePrefix.js.map +1 -1
  75. package/dist/esm/errors/CanceledError.mjs.map +1 -1
  76. package/dist/esm/errors/IntegrityError.mjs.map +1 -1
  77. package/dist/esm/errors/StorageError.mjs.map +1 -1
  78. package/dist/esm/errors/utils/assertValidationError.mjs.map +1 -1
  79. package/dist/esm/internals/apis/getDataAccess.mjs.map +1 -1
  80. package/dist/esm/internals/apis/listCallerAccessGrants.mjs.map +1 -1
  81. package/dist/esm/internals/apis/listPaths/getHighestPrecedenceUserGroup.mjs.map +1 -1
  82. package/dist/esm/internals/apis/listPaths/listPaths.mjs.map +1 -1
  83. package/dist/esm/internals/apis/listPaths/resolveLocationsForCurrentSession.mjs.map +1 -1
  84. package/dist/esm/providers/s3/apis/internal/downloadData.mjs.map +1 -1
  85. package/dist/esm/providers/s3/apis/internal/getUrl.mjs.map +1 -1
  86. package/dist/esm/providers/s3/apis/internal/list.mjs.map +1 -1
  87. package/dist/esm/providers/s3/apis/internal/remove.mjs.map +1 -1
  88. package/dist/esm/providers/s3/apis/internal/uploadData/byteLength.mjs.map +1 -1
  89. package/dist/esm/providers/s3/apis/internal/uploadData/index.mjs.map +1 -1
  90. package/dist/esm/providers/s3/apis/internal/uploadData/multipart/calculatePartSize.mjs.map +1 -1
  91. package/dist/esm/providers/s3/apis/internal/uploadData/multipart/getDataChunker.mjs.map +1 -1
  92. package/dist/esm/providers/s3/apis/internal/uploadData/multipart/initialUpload.mjs.map +1 -1
  93. package/dist/esm/providers/s3/apis/internal/uploadData/multipart/progressTracker.mjs.map +1 -1
  94. package/dist/esm/providers/s3/apis/internal/uploadData/multipart/uploadCache.mjs.map +1 -1
  95. package/dist/esm/providers/s3/apis/internal/uploadData/multipart/uploadHandlers.mjs.map +1 -1
  96. package/dist/esm/providers/s3/apis/internal/uploadData/multipart/uploadPartExecutor.mjs.map +1 -1
  97. package/dist/esm/providers/s3/utils/client/runtime/base64/index.browser.mjs.map +1 -1
  98. package/dist/esm/providers/s3/utils/client/runtime/base64/index.native.mjs.map +1 -1
  99. package/dist/esm/providers/s3/utils/client/runtime/contentSha256middleware.mjs.map +1 -1
  100. package/dist/esm/providers/s3/utils/client/runtime/xhrTransferHandler.mjs.map +1 -1
  101. package/dist/esm/providers/s3/utils/client/runtime/xmlParser/dom.mjs.map +1 -1
  102. package/dist/esm/providers/s3/utils/client/runtime/xmlParser/pureJs.mjs.map +1 -1
  103. package/dist/esm/providers/s3/utils/client/s3control/base.mjs.map +1 -1
  104. package/dist/esm/providers/s3/utils/client/s3control/getDataAccess.mjs.map +1 -1
  105. package/dist/esm/providers/s3/utils/client/s3control/listCallerAccessGrants.mjs.map +1 -1
  106. package/dist/esm/providers/s3/utils/client/s3data/abortMultipartUpload.mjs.map +1 -1
  107. package/dist/esm/providers/s3/utils/client/s3data/base.mjs.map +1 -1
  108. package/dist/esm/providers/s3/utils/client/s3data/completeMultipartUpload.mjs.map +1 -1
  109. package/dist/esm/providers/s3/utils/client/s3data/copyObject.mjs.map +1 -1
  110. package/dist/esm/providers/s3/utils/client/s3data/createMultipartUpload.mjs.map +1 -1
  111. package/dist/esm/providers/s3/utils/client/s3data/deleteObject.mjs.map +1 -1
  112. package/dist/esm/providers/s3/utils/client/s3data/getObject.mjs.map +1 -1
  113. package/dist/esm/providers/s3/utils/client/s3data/headObject.mjs.map +1 -1
  114. package/dist/esm/providers/s3/utils/client/s3data/listObjectsV2.mjs.map +1 -1
  115. package/dist/esm/providers/s3/utils/client/s3data/listParts.mjs.map +1 -1
  116. package/dist/esm/providers/s3/utils/client/s3data/putObject.mjs.map +1 -1
  117. package/dist/esm/providers/s3/utils/client/s3data/uploadPart.mjs.map +1 -1
  118. package/dist/esm/providers/s3/utils/client/utils/createRetryDecider.mjs.map +1 -1
  119. package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.mjs.map +1 -1
  120. package/dist/esm/providers/s3/utils/client/utils/integrityHelpers.mjs.map +1 -1
  121. package/dist/esm/providers/s3/utils/client/utils/parsePayload.mjs.map +1 -1
  122. package/dist/esm/providers/s3/utils/client/utils/serializeHelpers.mjs.map +1 -1
  123. package/dist/esm/providers/s3/utils/crc32.mjs.map +1 -1
  124. package/dist/esm/providers/s3/utils/readFile.mjs.map +1 -1
  125. package/dist/esm/providers/s3/utils/readFile.native.mjs.map +1 -1
  126. package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.mjs.map +1 -1
  127. package/dist/esm/providers/s3/utils/transferTask.mjs.map +1 -1
  128. package/dist/esm/providers/s3/utils/validateBucketOwnerID.mjs.map +1 -1
  129. package/dist/esm/providers/s3/utils/validateMultipartUploadXML.mjs.map +1 -1
  130. package/dist/esm/providers/s3/utils/validateObjectUrl.mjs.map +1 -1
  131. package/dist/esm/providers/s3/utils/validateStorageOperationInput.mjs.map +1 -1
  132. package/dist/esm/providers/s3/utils/validateStorageOperationInputWithPrefix.mjs.map +1 -1
  133. package/dist/esm/utils/resolvePrefix.mjs.map +1 -1
  134. package/package.json +117 -117
@@ -1 +1 @@
1
- {"version":3,"file":"uploadCache.js","sources":["../../../../../../../../src/providers/s3/apis/internal/uploadData/multipart/uploadCache.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.removeCachedUpload = exports.cacheMultipartUpload = exports.getUploadsCacheKey = exports.serializeUploadOptions = exports.findCachedUploadPartsAndEvictExpired = void 0;\nconst constants_1 = require(\"../../../../utils/constants\");\nconst s3data_1 = require(\"../../../../utils/client/s3data\");\nconst utils_1 = require(\"../../../../../../utils\");\nconst ONE_HOUR = 1000 * 60 * 60;\n/**\n * Find the cached multipart upload id and get the parts that have been uploaded\n * with ListParts API. If the cached upload is expired(1 hour), return null.\n */\nconst findCachedUploadPartsAndEvictExpired = async ({ resumableUploadsCache, cacheKey, s3Config, bucket, finalKey, }) => {\n const allCachedUploads = await listCachedUploadTasks(resumableUploadsCache);\n // Evict all outdated uploads.\n const validCachedUploads = Object.fromEntries(Object.entries(allCachedUploads).filter(([_, cacheValue]) => cacheValue.lastTouched >= Date.now() - ONE_HOUR));\n if (Object.keys(validCachedUploads).length !==\n Object.keys(allCachedUploads).length) {\n await resumableUploadsCache.setItem(constants_1.UPLOADS_STORAGE_KEY, JSON.stringify(validCachedUploads));\n }\n if (!validCachedUploads[cacheKey]) {\n return null;\n }\n const cachedUpload = validCachedUploads[cacheKey];\n cachedUpload.lastTouched = Date.now();\n await resumableUploadsCache.setItem(constants_1.UPLOADS_STORAGE_KEY, JSON.stringify(validCachedUploads));\n try {\n const { Parts = [] } = await (0, s3data_1.listParts)(s3Config, {\n Bucket: bucket,\n Key: finalKey,\n UploadId: cachedUpload.uploadId,\n });\n return {\n parts: Parts,\n uploadId: cachedUpload.uploadId,\n finalCrc32: cachedUpload.finalCrc32,\n };\n }\n catch (e) {\n utils_1.logger.debug('failed to list cached parts, removing cached upload.');\n await (0, exports.removeCachedUpload)(resumableUploadsCache, cacheKey);\n return null;\n }\n};\nexports.findCachedUploadPartsAndEvictExpired = findCachedUploadPartsAndEvictExpired;\nconst listCachedUploadTasks = async (resumableUploadsCache) => {\n try {\n return JSON.parse((await resumableUploadsCache.getItem(constants_1.UPLOADS_STORAGE_KEY)) ?? '{}');\n }\n catch (e) {\n utils_1.logger.debug('failed to parse cached uploads record.');\n return {};\n }\n};\n/**\n * Serialize the uploadData API options to string so it can be hashed.\n */\nconst serializeUploadOptions = (options = {}) => {\n const unserializableOptionProperties = [\n 'onProgress',\n 'resumableUploadsCache', // Internally injected implementation not set by customers\n 'locationCredentialsProvider', // Internally injected implementation not set by customers\n ];\n const serializableOptionEntries = Object.entries(options).filter(([key]) => !unserializableOptionProperties.includes(key));\n if (options.checksumAlgorithm === 'crc-32') {\n // Additional options to differentiate the upload cache created before introducing the full-object checksum and\n // after. If full-object checksum is enabled, the previous upload caches that created with composite checksum should\n // be ignored.\n serializableOptionEntries.push(['checksumType', 'FULL_OBJECT']);\n }\n const serializableOptions = Object.fromEntries(serializableOptionEntries);\n return JSON.stringify(serializableOptions);\n};\nexports.serializeUploadOptions = serializeUploadOptions;\n/**\n * Get the cache key of a multipart upload. Data source cached by different: size, content type, bucket, access level,\n * key. If the data source is a File instance, the upload is additionally indexed by file name and last modified time.\n * So the library always created a new multipart upload if the file is modified.\n */\nconst getUploadsCacheKey = ({ file, size, contentType, bucket, accessLevel, key, optionsHash, }) => {\n let levelStr;\n const resolvedContentType = contentType ?? file?.type ?? 'application/octet-stream';\n // If no access level is defined, we're using custom gen2 access rules\n if (accessLevel === undefined) {\n levelStr = 'custom';\n }\n else {\n levelStr = accessLevel === 'guest' ? 'public' : accessLevel;\n }\n const baseId = `${optionsHash}_${size}_${resolvedContentType}_${bucket}_${levelStr}_${key}`;\n if (file) {\n return `${file.name}_${file.lastModified}_${baseId}`;\n }\n else {\n return baseId;\n }\n};\nexports.getUploadsCacheKey = getUploadsCacheKey;\nconst cacheMultipartUpload = async (resumableUploadsCache, cacheKey, fileMetadata) => {\n const cachedUploads = await listCachedUploadTasks(resumableUploadsCache);\n cachedUploads[cacheKey] = {\n ...fileMetadata,\n lastTouched: Date.now(),\n };\n await resumableUploadsCache.setItem(constants_1.UPLOADS_STORAGE_KEY, JSON.stringify(cachedUploads));\n};\nexports.cacheMultipartUpload = cacheMultipartUpload;\nconst removeCachedUpload = async (resumableUploadsCache, cacheKey) => {\n const cachedUploads = await listCachedUploadTasks(resumableUploadsCache);\n delete cachedUploads[cacheKey];\n await resumableUploadsCache.setItem(constants_1.UPLOADS_STORAGE_KEY, JSON.stringify(cachedUploads));\n};\nexports.removeCachedUpload = removeCachedUpload;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,oCAAoC,GAAG,MAAM;AAC/K,MAAM,WAAW,GAAG,OAAO,CAAC,6BAA6B,CAAC;AAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,iCAAiC,CAAC;AAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,yBAAyB,CAAC;AAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE;AAC/B;AACA;AACA;AACA;AACA,MAAM,oCAAoC,GAAG,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,KAAK;AACzH,IAAI,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAAC,qBAAqB,CAAC;AAC/E;AACA,IAAI,MAAM,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,UAAU,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;AAChK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM;AAC9C,QAAQ,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE;AAC9C,QAAQ,MAAM,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;AAChH;AACA,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE;AACvC,QAAQ,OAAO,IAAI;AACnB;AACA,IAAI,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC;AACrD,IAAI,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE;AACzC,IAAI,MAAM,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;AAC5G,IAAI,IAAI;AACR,QAAQ,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE;AACvE,YAAY,MAAM,EAAE,MAAM;AAC1B,YAAY,GAAG,EAAE,QAAQ;AACzB,YAAY,QAAQ,EAAE,YAAY,CAAC,QAAQ;AAC3C,SAAS,CAAC;AACV,QAAQ,OAAO;AACf,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,QAAQ,EAAE,YAAY,CAAC,QAAQ;AAC3C,YAAY,UAAU,EAAE,YAAY,CAAC,UAAU;AAC/C,SAAS;AACT;AACA,IAAI,OAAO,CAAC,EAAE;AACd,QAAQ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC;AACpF,QAAQ,MAAM,IAAI,OAAO,CAAC,kBAAkB,EAAE,qBAAqB,EAAE,QAAQ,CAAC;AAC9E,QAAQ,OAAO,IAAI;AACnB;AACA,CAAC;AACD,OAAO,CAAC,oCAAoC,GAAG,oCAAoC;AACnF,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,KAAK;AAC/D,IAAI,IAAI;AACR,QAAQ,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;AACzG;AACA,IAAI,OAAO,CAAC,EAAE;AACd,QAAQ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC;AACtE,QAAQ,OAAO,EAAE;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA,MAAM,sBAAsB,GAAG,CAAC,OAAO,GAAG,EAAE,KAAK;AACjD,IAAI,MAAM,8BAA8B,GAAG;AAC3C,QAAQ,YAAY;AACpB,QAAQ,uBAAuB;AAC/B,QAAQ,6BAA6B;AACrC,KAAK;AACL,IAAI,MAAM,yBAAyB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC9H,IAAI,IAAI,OAAO,CAAC,iBAAiB,KAAK,QAAQ,EAAE;AAChD;AACA;AACA;AACA,QAAQ,yBAAyB,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;AACvE;AACA,IAAI,MAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAAC,yBAAyB,CAAC;AAC7E,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;AAC9C,CAAC;AACD,OAAO,CAAC,sBAAsB,GAAG,sBAAsB;AACvD;AACA;AACA;AACA;AACA;AACA,MAAM,kBAAkB,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,GAAG,KAAK;AACpG,IAAI,IAAI,QAAQ;AAChB,IAAI,MAAM,mBAAmB,GAAG,WAAW,IAAI,IAAI,EAAE,IAAI,IAAI,0BAA0B;AACvF;AACA,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE;AACnC,QAAQ,QAAQ,GAAG,QAAQ;AAC3B;AACA,SAAS;AACT,QAAQ,QAAQ,GAAG,WAAW,KAAK,OAAO,GAAG,QAAQ,GAAG,WAAW;AACnE;AACA,IAAI,MAAM,MAAM,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/F,IAAI,IAAI,IAAI,EAAE;AACd,QAAQ,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAC5D;AACA,SAAS;AACT,QAAQ,OAAO,MAAM;AACrB;AACA,CAAC;AACD,OAAO,CAAC,kBAAkB,GAAG,kBAAkB;AAC/C,MAAM,oBAAoB,GAAG,OAAO,qBAAqB,EAAE,QAAQ,EAAE,YAAY,KAAK;AACtF,IAAI,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,qBAAqB,CAAC;AAC5E,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG;AAC9B,QAAQ,GAAG,YAAY;AACvB,QAAQ,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;AAC/B,KAAK;AACL,IAAI,MAAM,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;AACvG,CAAC;AACD,OAAO,CAAC,oBAAoB,GAAG,oBAAoB;AACnD,MAAM,kBAAkB,GAAG,OAAO,qBAAqB,EAAE,QAAQ,KAAK;AACtE,IAAI,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,qBAAqB,CAAC;AAC5E,IAAI,OAAO,aAAa,CAAC,QAAQ,CAAC;AAClC,IAAI,MAAM,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;AACvG,CAAC;AACD,OAAO,CAAC,kBAAkB,GAAG,kBAAkB;;"}
1
+ {"version":3,"file":"uploadCache.js","sources":["../../../../../../../../src/providers/s3/apis/internal/uploadData/multipart/uploadCache.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.removeCachedUpload = exports.cacheMultipartUpload = exports.getUploadsCacheKey = exports.serializeUploadOptions = exports.findCachedUploadPartsAndEvictExpired = void 0;\nconst constants_1 = require(\"../../../../utils/constants\");\nconst s3data_1 = require(\"../../../../utils/client/s3data\");\nconst utils_1 = require(\"../../../../../../utils\");\nconst ONE_HOUR = 1000 * 60 * 60;\n/**\n * Find the cached multipart upload id and get the parts that have been uploaded\n * with ListParts API. If the cached upload is expired(1 hour), return null.\n */\nconst findCachedUploadPartsAndEvictExpired = async ({ resumableUploadsCache, cacheKey, s3Config, bucket, finalKey, }) => {\n const allCachedUploads = await listCachedUploadTasks(resumableUploadsCache);\n // Evict all outdated uploads.\n const validCachedUploads = Object.fromEntries(Object.entries(allCachedUploads).filter(([_, cacheValue]) => cacheValue.lastTouched >= Date.now() - ONE_HOUR));\n if (Object.keys(validCachedUploads).length !==\n Object.keys(allCachedUploads).length) {\n await resumableUploadsCache.setItem(constants_1.UPLOADS_STORAGE_KEY, JSON.stringify(validCachedUploads));\n }\n if (!validCachedUploads[cacheKey]) {\n return null;\n }\n const cachedUpload = validCachedUploads[cacheKey];\n cachedUpload.lastTouched = Date.now();\n await resumableUploadsCache.setItem(constants_1.UPLOADS_STORAGE_KEY, JSON.stringify(validCachedUploads));\n try {\n const { Parts = [] } = await (0, s3data_1.listParts)(s3Config, {\n Bucket: bucket,\n Key: finalKey,\n UploadId: cachedUpload.uploadId,\n });\n return {\n parts: Parts,\n uploadId: cachedUpload.uploadId,\n finalCrc32: cachedUpload.finalCrc32,\n };\n }\n catch (e) {\n utils_1.logger.debug('failed to list cached parts, removing cached upload.');\n await (0, exports.removeCachedUpload)(resumableUploadsCache, cacheKey);\n return null;\n }\n};\nexports.findCachedUploadPartsAndEvictExpired = findCachedUploadPartsAndEvictExpired;\nconst listCachedUploadTasks = async (resumableUploadsCache) => {\n try {\n return JSON.parse((await resumableUploadsCache.getItem(constants_1.UPLOADS_STORAGE_KEY)) ?? '{}');\n }\n catch (e) {\n utils_1.logger.debug('failed to parse cached uploads record.');\n return {};\n }\n};\n/**\n * Serialize the uploadData API options to string so it can be hashed.\n */\nconst serializeUploadOptions = (options = {}) => {\n const unserializableOptionProperties = [\n 'onProgress',\n 'resumableUploadsCache', // Internally injected implementation not set by customers\n 'locationCredentialsProvider', // Internally injected implementation not set by customers\n ];\n const serializableOptionEntries = Object.entries(options).filter(([key]) => !unserializableOptionProperties.includes(key));\n if (options.checksumAlgorithm === 'crc-32') {\n // Additional options to differentiate the upload cache created before introducing the full-object checksum and\n // after. If full-object checksum is enabled, the previous upload caches that created with composite checksum should\n // be ignored.\n serializableOptionEntries.push(['checksumType', 'FULL_OBJECT']);\n }\n const serializableOptions = Object.fromEntries(serializableOptionEntries);\n return JSON.stringify(serializableOptions);\n};\nexports.serializeUploadOptions = serializeUploadOptions;\n/**\n * Get the cache key of a multipart upload. Data source cached by different: size, content type, bucket, access level,\n * key. If the data source is a File instance, the upload is additionally indexed by file name and last modified time.\n * So the library always created a new multipart upload if the file is modified.\n */\nconst getUploadsCacheKey = ({ file, size, contentType, bucket, accessLevel, key, optionsHash, }) => {\n let levelStr;\n const resolvedContentType = contentType ?? file?.type ?? 'application/octet-stream';\n // If no access level is defined, we're using custom gen2 access rules\n if (accessLevel === undefined) {\n levelStr = 'custom';\n }\n else {\n levelStr = accessLevel === 'guest' ? 'public' : accessLevel;\n }\n const baseId = `${optionsHash}_${size}_${resolvedContentType}_${bucket}_${levelStr}_${key}`;\n if (file) {\n return `${file.name}_${file.lastModified}_${baseId}`;\n }\n else {\n return baseId;\n }\n};\nexports.getUploadsCacheKey = getUploadsCacheKey;\nconst cacheMultipartUpload = async (resumableUploadsCache, cacheKey, fileMetadata) => {\n const cachedUploads = await listCachedUploadTasks(resumableUploadsCache);\n cachedUploads[cacheKey] = {\n ...fileMetadata,\n lastTouched: Date.now(),\n };\n await resumableUploadsCache.setItem(constants_1.UPLOADS_STORAGE_KEY, JSON.stringify(cachedUploads));\n};\nexports.cacheMultipartUpload = cacheMultipartUpload;\nconst removeCachedUpload = async (resumableUploadsCache, cacheKey) => {\n const cachedUploads = await listCachedUploadTasks(resumableUploadsCache);\n delete cachedUploads[cacheKey];\n await resumableUploadsCache.setItem(constants_1.UPLOADS_STORAGE_KEY, JSON.stringify(cachedUploads));\n};\nexports.removeCachedUpload = removeCachedUpload;\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"uploadHandlers.js","sources":["../../../../../../../../src/providers/s3/apis/internal/uploadData/multipart/uploadHandlers.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMultipartUploadHandlers = void 0;\nconst core_1 = require(\"@aws-amplify/core\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst utils_2 = require(\"../../../../utils\");\nconst constants_1 = require(\"../../../../utils/constants\");\nconst StorageError_1 = require(\"../../../../../../errors/StorageError\");\nconst CanceledError_1 = require(\"../../../../../../errors/CanceledError\");\nconst s3data_1 = require(\"../../../../utils/client/s3data\");\nconst userAgent_1 = require(\"../../../../utils/userAgent\");\nconst utils_3 = require(\"../../../../../../utils\");\nconst crc32_1 = require(\"../../../../utils/crc32\");\nconst IntegrityError_1 = require(\"../../../../../../errors/IntegrityError\");\nconst uploadPartExecutor_1 = require(\"./uploadPartExecutor\");\nconst uploadCache_1 = require(\"./uploadCache\");\nconst progressTracker_1 = require(\"./progressTracker\");\nconst initialUpload_1 = require(\"./initialUpload\");\nconst getDataChunker_1 = require(\"./getDataChunker\");\nconst calculatePartSize_1 = require(\"./calculatePartSize\");\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 */\nconst getMultipartUploadHandlers = (uploadDataInput, size) => {\n let resolveCallback;\n let rejectCallback;\n let inProgressUpload;\n let resolvedS3Config;\n let abortController;\n let resolvedAccessLevel;\n let resolvedBucket;\n let resolvedKeyPrefix;\n let resolvedIdentityId;\n let uploadCacheKey;\n let finalKey;\n let expectedBucketOwner;\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 { resumableUploadsCache } = uploadDataInput.options ?? {};\n const startUpload = async () => {\n const { options: uploadDataOptions, data } = uploadDataInput;\n const resolvedS3Options = await (0, utils_2.resolveS3ConfigAndInput)(core_1.Amplify, uploadDataInput);\n abortController = new AbortController();\n isAbortSignalFromPause = false;\n resolvedS3Config = resolvedS3Options.s3Config;\n resolvedBucket = resolvedS3Options.bucket;\n resolvedIdentityId = resolvedS3Options.identityId;\n expectedBucketOwner = uploadDataOptions?.expectedBucketOwner;\n const { inputType, objectKey } = (0, utils_2.validateStorageOperationInput)(uploadDataInput, resolvedIdentityId);\n const { contentDisposition, contentEncoding, contentType = 'application/octet-stream', metadata, preventOverwrite, onProgress, } = uploadDataOptions ?? {};\n finalKey = objectKey;\n // Resolve \"key\" specific options\n if (inputType === constants_1.STORAGE_INPUT_KEY) {\n const accessLevel = uploadDataOptions\n ?.accessLevel;\n resolvedKeyPrefix = resolvedS3Options.keyPrefix;\n finalKey = resolvedKeyPrefix + objectKey;\n resolvedAccessLevel = resolveAccessLevel(accessLevel);\n }\n const optionsHash = await (0, crc32_1.calculateContentCRC32)((0, uploadCache_1.serializeUploadOptions)(uploadDataOptions));\n if (!inProgressUpload) {\n const { uploadId, cachedParts, finalCrc32 } = await (0, initialUpload_1.loadOrCreateMultipartUpload)({\n s3Config: resolvedS3Config,\n accessLevel: resolvedAccessLevel,\n bucket: resolvedBucket,\n keyPrefix: resolvedKeyPrefix,\n key: objectKey,\n contentType,\n contentDisposition,\n contentEncoding,\n metadata,\n data,\n size,\n abortSignal: abortController.signal,\n checksumAlgorithm: uploadDataOptions?.checksumAlgorithm,\n optionsHash,\n resumableUploadsCache,\n expectedBucketOwner,\n });\n inProgressUpload = {\n uploadId,\n completedParts: cachedParts,\n finalCrc32,\n };\n }\n uploadCacheKey = size\n ? (0, uploadCache_1.getUploadsCacheKey)({\n file: data instanceof File ? data : undefined,\n accessLevel: resolvedAccessLevel,\n contentType: uploadDataOptions?.contentType,\n bucket: resolvedBucket,\n size,\n key: objectKey,\n optionsHash,\n })\n : undefined;\n const dataChunker = (0, getDataChunker_1.getDataChunker)(data, size);\n const completedPartNumberSet = new Set(inProgressUpload.completedParts.map(({ PartNumber }) => PartNumber));\n const onPartUploadCompletion = (partNumber, eTag, crc32) => {\n inProgressUpload?.completedParts.push({\n PartNumber: partNumber,\n ETag: eTag,\n // TODO: crc32 can always be added once RN also has an implementation\n ...(crc32 ? { ChecksumCRC32: crc32 } : {}),\n });\n };\n const concurrentUploadsProgressTracker = (0, progressTracker_1.getConcurrentUploadsProgressTracker)({\n size,\n onProgress,\n });\n const concurrentUploadPartExecutors = [];\n for (let index = 0; index < constants_1.DEFAULT_QUEUE_SIZE; index++) {\n concurrentUploadPartExecutors.push((0, uploadPartExecutor_1.uploadPartExecutor)({\n dataChunkerGenerator: dataChunker,\n completedPartNumberSet,\n s3Config: resolvedS3Config,\n abortSignal: abortController.signal,\n bucket: resolvedBucket,\n finalKey,\n uploadId: inProgressUpload.uploadId,\n onPartUploadCompletion,\n onProgress: concurrentUploadsProgressTracker.getOnProgressListener(),\n isObjectLockEnabled: resolvedS3Options.isObjectLockEnabled,\n useCRC32Checksum: Boolean(inProgressUpload.finalCrc32),\n expectedBucketOwner,\n }));\n }\n await Promise.all(concurrentUploadPartExecutors);\n validateCompletedParts(inProgressUpload.completedParts, size);\n const { ETag: eTag } = await (0, s3data_1.completeMultipartUpload)({\n ...resolvedS3Config,\n abortSignal: abortController.signal,\n userAgentValue: (0, userAgent_1.getStorageUserAgentValue)(utils_1.StorageAction.UploadData),\n }, {\n Bucket: resolvedBucket,\n Key: finalKey,\n UploadId: inProgressUpload.uploadId,\n ChecksumCRC32: inProgressUpload.finalCrc32,\n ChecksumType: inProgressUpload.finalCrc32 ? 'FULL_OBJECT' : undefined,\n IfNoneMatch: preventOverwrite ? '*' : undefined,\n MultipartUpload: {\n Parts: sortUploadParts(inProgressUpload.completedParts),\n },\n ExpectedBucketOwner: expectedBucketOwner,\n });\n // If full-object CRC32 checksum is NOT enabled, we need to ensure the upload integrity by making extra HEAD call\n // to verify the uploaded object size.\n if (!inProgressUpload.finalCrc32) {\n const { ContentLength: uploadedObjectSize, $metadata } = await (0, s3data_1.headObject)(resolvedS3Config, {\n Bucket: resolvedBucket,\n Key: finalKey,\n ExpectedBucketOwner: expectedBucketOwner,\n });\n if (uploadedObjectSize && uploadedObjectSize !== size) {\n throw new StorageError_1.StorageError({\n name: 'Error',\n message: `Upload failed. Expected object size ${size}, but got ${uploadedObjectSize}.`,\n metadata: $metadata,\n });\n }\n }\n if (resumableUploadsCache && uploadCacheKey) {\n await (0, uploadCache_1.removeCachedUpload)(resumableUploadsCache, uploadCacheKey);\n }\n const result = {\n eTag,\n contentType,\n metadata,\n };\n return inputType === constants_1.STORAGE_INPUT_KEY\n ? { key: objectKey, ...result }\n : { path: objectKey, ...result };\n };\n const startUploadWithResumability = () => startUpload()\n .then(resolveCallback)\n .catch(error => {\n const abortSignal = abortController?.signal;\n if (abortSignal?.aborted && isAbortSignalFromPause) {\n utils_3.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 && resumableUploadsCache) {\n await (0, uploadCache_1.removeCachedUpload)(resumableUploadsCache, uploadCacheKey);\n }\n // 3. clear multipart upload on server side.\n await (0, s3data_1.abortMultipartUpload)(resolvedS3Config, {\n Bucket: resolvedBucket,\n Key: finalKey,\n UploadId: inProgressUpload?.uploadId,\n ExpectedBucketOwner: expectedBucketOwner,\n });\n };\n cancelUpload().catch(e => {\n utils_3.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_1.CanceledError(message ? { message } : undefined));\n };\n return {\n multipartUploadJob,\n onPause,\n onResume,\n onCancel,\n };\n};\nexports.getMultipartUploadHandlers = getMultipartUploadHandlers;\nconst resolveAccessLevel = (accessLevel) => accessLevel ??\n core_1.Amplify.libraryOptions.Storage?.S3?.defaultAccessLevel ??\n constants_1.DEFAULT_ACCESS_LEVEL;\nconst validateCompletedParts = (completedParts, size) => {\n const partsExpected = Math.ceil(size / (0, calculatePartSize_1.calculatePartSize)(size));\n const validPartCount = completedParts.length === partsExpected;\n const sorted = sortUploadParts(completedParts);\n const validPartNumbers = sorted.every((part, index) => part.PartNumber === index + 1);\n if (!validPartCount || !validPartNumbers) {\n throw new IntegrityError_1.IntegrityError();\n }\n};\nconst sortUploadParts = (parts) => {\n return [...parts].sort((partA, partB) => partA.PartNumber - partB.PartNumber);\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uploadHandlers.js","sources":["../../../../../../../../src/providers/s3/apis/internal/uploadData/multipart/uploadHandlers.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMultipartUploadHandlers = void 0;\nconst core_1 = require(\"@aws-amplify/core\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst utils_2 = require(\"../../../../utils\");\nconst constants_1 = require(\"../../../../utils/constants\");\nconst StorageError_1 = require(\"../../../../../../errors/StorageError\");\nconst CanceledError_1 = require(\"../../../../../../errors/CanceledError\");\nconst s3data_1 = require(\"../../../../utils/client/s3data\");\nconst userAgent_1 = require(\"../../../../utils/userAgent\");\nconst utils_3 = require(\"../../../../../../utils\");\nconst crc32_1 = require(\"../../../../utils/crc32\");\nconst IntegrityError_1 = require(\"../../../../../../errors/IntegrityError\");\nconst uploadPartExecutor_1 = require(\"./uploadPartExecutor\");\nconst uploadCache_1 = require(\"./uploadCache\");\nconst progressTracker_1 = require(\"./progressTracker\");\nconst initialUpload_1 = require(\"./initialUpload\");\nconst getDataChunker_1 = require(\"./getDataChunker\");\nconst calculatePartSize_1 = require(\"./calculatePartSize\");\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 */\nconst getMultipartUploadHandlers = (uploadDataInput, size) => {\n let resolveCallback;\n let rejectCallback;\n let inProgressUpload;\n let resolvedS3Config;\n let abortController;\n let resolvedAccessLevel;\n let resolvedBucket;\n let resolvedKeyPrefix;\n let resolvedIdentityId;\n let uploadCacheKey;\n let finalKey;\n let expectedBucketOwner;\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 { resumableUploadsCache } = uploadDataInput.options ?? {};\n const startUpload = async () => {\n const { options: uploadDataOptions, data } = uploadDataInput;\n const resolvedS3Options = await (0, utils_2.resolveS3ConfigAndInput)(core_1.Amplify, uploadDataInput);\n abortController = new AbortController();\n isAbortSignalFromPause = false;\n resolvedS3Config = resolvedS3Options.s3Config;\n resolvedBucket = resolvedS3Options.bucket;\n resolvedIdentityId = resolvedS3Options.identityId;\n expectedBucketOwner = uploadDataOptions?.expectedBucketOwner;\n const { inputType, objectKey } = (0, utils_2.validateStorageOperationInput)(uploadDataInput, resolvedIdentityId);\n const { contentDisposition, contentEncoding, contentType = 'application/octet-stream', metadata, preventOverwrite, onProgress, } = uploadDataOptions ?? {};\n finalKey = objectKey;\n // Resolve \"key\" specific options\n if (inputType === constants_1.STORAGE_INPUT_KEY) {\n const accessLevel = uploadDataOptions\n ?.accessLevel;\n resolvedKeyPrefix = resolvedS3Options.keyPrefix;\n finalKey = resolvedKeyPrefix + objectKey;\n resolvedAccessLevel = resolveAccessLevel(accessLevel);\n }\n const optionsHash = await (0, crc32_1.calculateContentCRC32)((0, uploadCache_1.serializeUploadOptions)(uploadDataOptions));\n if (!inProgressUpload) {\n const { uploadId, cachedParts, finalCrc32 } = await (0, initialUpload_1.loadOrCreateMultipartUpload)({\n s3Config: resolvedS3Config,\n accessLevel: resolvedAccessLevel,\n bucket: resolvedBucket,\n keyPrefix: resolvedKeyPrefix,\n key: objectKey,\n contentType,\n contentDisposition,\n contentEncoding,\n metadata,\n data,\n size,\n abortSignal: abortController.signal,\n checksumAlgorithm: uploadDataOptions?.checksumAlgorithm,\n optionsHash,\n resumableUploadsCache,\n expectedBucketOwner,\n });\n inProgressUpload = {\n uploadId,\n completedParts: cachedParts,\n finalCrc32,\n };\n }\n uploadCacheKey = size\n ? (0, uploadCache_1.getUploadsCacheKey)({\n file: data instanceof File ? data : undefined,\n accessLevel: resolvedAccessLevel,\n contentType: uploadDataOptions?.contentType,\n bucket: resolvedBucket,\n size,\n key: objectKey,\n optionsHash,\n })\n : undefined;\n const dataChunker = (0, getDataChunker_1.getDataChunker)(data, size);\n const completedPartNumberSet = new Set(inProgressUpload.completedParts.map(({ PartNumber }) => PartNumber));\n const onPartUploadCompletion = (partNumber, eTag, crc32) => {\n inProgressUpload?.completedParts.push({\n PartNumber: partNumber,\n ETag: eTag,\n // TODO: crc32 can always be added once RN also has an implementation\n ...(crc32 ? { ChecksumCRC32: crc32 } : {}),\n });\n };\n const concurrentUploadsProgressTracker = (0, progressTracker_1.getConcurrentUploadsProgressTracker)({\n size,\n onProgress,\n });\n const concurrentUploadPartExecutors = [];\n for (let index = 0; index < constants_1.DEFAULT_QUEUE_SIZE; index++) {\n concurrentUploadPartExecutors.push((0, uploadPartExecutor_1.uploadPartExecutor)({\n dataChunkerGenerator: dataChunker,\n completedPartNumberSet,\n s3Config: resolvedS3Config,\n abortSignal: abortController.signal,\n bucket: resolvedBucket,\n finalKey,\n uploadId: inProgressUpload.uploadId,\n onPartUploadCompletion,\n onProgress: concurrentUploadsProgressTracker.getOnProgressListener(),\n isObjectLockEnabled: resolvedS3Options.isObjectLockEnabled,\n useCRC32Checksum: Boolean(inProgressUpload.finalCrc32),\n expectedBucketOwner,\n }));\n }\n await Promise.all(concurrentUploadPartExecutors);\n validateCompletedParts(inProgressUpload.completedParts, size);\n const { ETag: eTag } = await (0, s3data_1.completeMultipartUpload)({\n ...resolvedS3Config,\n abortSignal: abortController.signal,\n userAgentValue: (0, userAgent_1.getStorageUserAgentValue)(utils_1.StorageAction.UploadData),\n }, {\n Bucket: resolvedBucket,\n Key: finalKey,\n UploadId: inProgressUpload.uploadId,\n ChecksumCRC32: inProgressUpload.finalCrc32,\n ChecksumType: inProgressUpload.finalCrc32 ? 'FULL_OBJECT' : undefined,\n IfNoneMatch: preventOverwrite ? '*' : undefined,\n MultipartUpload: {\n Parts: sortUploadParts(inProgressUpload.completedParts),\n },\n ExpectedBucketOwner: expectedBucketOwner,\n });\n // If full-object CRC32 checksum is NOT enabled, we need to ensure the upload integrity by making extra HEAD call\n // to verify the uploaded object size.\n if (!inProgressUpload.finalCrc32) {\n const { ContentLength: uploadedObjectSize, $metadata } = await (0, s3data_1.headObject)(resolvedS3Config, {\n Bucket: resolvedBucket,\n Key: finalKey,\n ExpectedBucketOwner: expectedBucketOwner,\n });\n if (uploadedObjectSize && uploadedObjectSize !== size) {\n throw new StorageError_1.StorageError({\n name: 'Error',\n message: `Upload failed. Expected object size ${size}, but got ${uploadedObjectSize}.`,\n metadata: $metadata,\n });\n }\n }\n if (resumableUploadsCache && uploadCacheKey) {\n await (0, uploadCache_1.removeCachedUpload)(resumableUploadsCache, uploadCacheKey);\n }\n const result = {\n eTag,\n contentType,\n metadata,\n };\n return inputType === constants_1.STORAGE_INPUT_KEY\n ? { key: objectKey, ...result }\n : { path: objectKey, ...result };\n };\n const startUploadWithResumability = () => startUpload()\n .then(resolveCallback)\n .catch(error => {\n const abortSignal = abortController?.signal;\n if (abortSignal?.aborted && isAbortSignalFromPause) {\n utils_3.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 && resumableUploadsCache) {\n await (0, uploadCache_1.removeCachedUpload)(resumableUploadsCache, uploadCacheKey);\n }\n // 3. clear multipart upload on server side.\n await (0, s3data_1.abortMultipartUpload)(resolvedS3Config, {\n Bucket: resolvedBucket,\n Key: finalKey,\n UploadId: inProgressUpload?.uploadId,\n ExpectedBucketOwner: expectedBucketOwner,\n });\n };\n cancelUpload().catch(e => {\n utils_3.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_1.CanceledError(message ? { message } : undefined));\n };\n return {\n multipartUploadJob,\n onPause,\n onResume,\n onCancel,\n };\n};\nexports.getMultipartUploadHandlers = getMultipartUploadHandlers;\nconst resolveAccessLevel = (accessLevel) => accessLevel ??\n core_1.Amplify.libraryOptions.Storage?.S3?.defaultAccessLevel ??\n constants_1.DEFAULT_ACCESS_LEVEL;\nconst validateCompletedParts = (completedParts, size) => {\n const partsExpected = Math.ceil(size / (0, calculatePartSize_1.calculatePartSize)(size));\n const validPartCount = completedParts.length === partsExpected;\n const sorted = sortUploadParts(completedParts);\n const validPartNumbers = sorted.every((part, index) => part.PartNumber === index + 1);\n if (!validPartCount || !validPartNumbers) {\n throw new IntegrityError_1.IntegrityError();\n }\n};\nconst sortUploadParts = (parts) => {\n return [...parts].sort((partA, partB) => partA.PartNumber - partB.PartNumber);\n};\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"uploadPartExecutor.js","sources":["../../../../../../../../src/providers/s3/apis/internal/uploadData/multipart/uploadPartExecutor.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uploadPartExecutor = void 0;\nconst s3data_1 = require(\"../../../../utils/client/s3data\");\nconst utils_1 = require(\"../../../../../../utils\");\nconst crc32_1 = require(\"../../../../utils/crc32\");\nconst utils_2 = require(\"../../../../utils\");\nconst uploadPartExecutor = async ({ dataChunkerGenerator, completedPartNumberSet, s3Config, abortSignal, bucket, finalKey, uploadId, onPartUploadCompletion, onProgress, isObjectLockEnabled, useCRC32Checksum, expectedBucketOwner, }) => {\n let transferredBytes = 0;\n for (const { data, partNumber, size } of dataChunkerGenerator) {\n if (abortSignal.aborted) {\n utils_1.logger.debug('upload executor aborted.');\n break;\n }\n if (completedPartNumberSet.has(partNumber)) {\n utils_1.logger.debug(`part ${partNumber} already uploaded.`);\n transferredBytes += size;\n onProgress?.({\n transferredBytes,\n });\n }\n else {\n // handle cancel error\n let checksumCRC32;\n if (useCRC32Checksum) {\n checksumCRC32 = await (0, crc32_1.calculateContentCRC32)(data);\n }\n const contentMD5 = \n // check if checksum exists. ex: should not exist in react native\n !checksumCRC32 && isObjectLockEnabled\n ? await (0, utils_2.calculateContentMd5)(data)\n : undefined;\n const { ETag: eTag } = await (0, s3data_1.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 ChecksumCRC32: checksumCRC32,\n ContentMD5: contentMD5,\n ExpectedBucketOwner: expectedBucketOwner,\n });\n transferredBytes += size;\n // eTag will always be set even the S3 model interface marks it as optional.\n onPartUploadCompletion(partNumber, eTag, checksumCRC32);\n }\n }\n};\nexports.uploadPartExecutor = uploadPartExecutor;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,kBAAkB,GAAG,MAAM;AACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,iCAAiC,CAAC;AAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,yBAAyB,CAAC;AAClD,MAAM,OAAO,GAAG,OAAO,CAAC,yBAAyB,CAAC;AAClD,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;AAC5C,MAAM,kBAAkB,GAAG,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,sBAAsB,EAAE,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB,GAAG,KAAK;AAC3O,IAAI,IAAI,gBAAgB,GAAG,CAAC;AAC5B,IAAI,KAAK,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,oBAAoB,EAAE;AACnE,QAAQ,IAAI,WAAW,CAAC,OAAO,EAAE;AACjC,YAAY,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC;AAC5D,YAAY;AACZ;AACA,QAAQ,IAAI,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;AACpD,YAAY,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;AACxE,YAAY,gBAAgB,IAAI,IAAI;AACpC,YAAY,UAAU,GAAG;AACzB,gBAAgB,gBAAgB;AAChC,aAAa,CAAC;AACd;AACA,aAAa;AACb;AACA,YAAY,IAAI,aAAa;AAC7B,YAAY,IAAI,gBAAgB,EAAE;AAClC,gBAAgB,aAAa,GAAG,MAAM,IAAI,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC;AAC9E;AACA,YAAY,MAAM,UAAU;AAC5B;AACA,YAAY,CAAC,aAAa,IAAI;AAC9B,kBAAkB,MAAM,IAAI,OAAO,CAAC,mBAAmB,EAAE,IAAI;AAC7D,kBAAkB,SAAS;AAC3B,YAAY,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE;AAClE,gBAAgB,GAAG,QAAQ;AAC3B,gBAAgB,WAAW;AAC3B,gBAAgB,gBAAgB,EAAE,CAAC,KAAK,KAAK;AAC7C,oBAAoB,MAAM,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,GAAG,KAAK;AACnF,oBAAoB,UAAU,GAAG;AACjC,wBAAwB,gBAAgB,EAAE,gBAAgB,GAAG,2BAA2B;AACxF,qBAAqB,CAAC;AACtB,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,aAAa,EAAE,aAAa;AAC5C,gBAAgB,UAAU,EAAE,UAAU;AACtC,gBAAgB,mBAAmB,EAAE,mBAAmB;AACxD,aAAa,CAAC;AACd,YAAY,gBAAgB,IAAI,IAAI;AACpC;AACA,YAAY,sBAAsB,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,CAAC;AACnE;AACA;AACA,CAAC;AACD,OAAO,CAAC,kBAAkB,GAAG,kBAAkB;;"}
1
+ {"version":3,"file":"uploadPartExecutor.js","sources":["../../../../../../../../src/providers/s3/apis/internal/uploadData/multipart/uploadPartExecutor.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uploadPartExecutor = void 0;\nconst s3data_1 = require(\"../../../../utils/client/s3data\");\nconst utils_1 = require(\"../../../../../../utils\");\nconst crc32_1 = require(\"../../../../utils/crc32\");\nconst utils_2 = require(\"../../../../utils\");\nconst uploadPartExecutor = async ({ dataChunkerGenerator, completedPartNumberSet, s3Config, abortSignal, bucket, finalKey, uploadId, onPartUploadCompletion, onProgress, isObjectLockEnabled, useCRC32Checksum, expectedBucketOwner, }) => {\n let transferredBytes = 0;\n for (const { data, partNumber, size } of dataChunkerGenerator) {\n if (abortSignal.aborted) {\n utils_1.logger.debug('upload executor aborted.');\n break;\n }\n if (completedPartNumberSet.has(partNumber)) {\n utils_1.logger.debug(`part ${partNumber} already uploaded.`);\n transferredBytes += size;\n onProgress?.({\n transferredBytes,\n });\n }\n else {\n // handle cancel error\n let checksumCRC32;\n if (useCRC32Checksum) {\n checksumCRC32 = await (0, crc32_1.calculateContentCRC32)(data);\n }\n const contentMD5 = \n // check if checksum exists. ex: should not exist in react native\n !checksumCRC32 && isObjectLockEnabled\n ? await (0, utils_2.calculateContentMd5)(data)\n : undefined;\n const { ETag: eTag } = await (0, s3data_1.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 ChecksumCRC32: checksumCRC32,\n ContentMD5: contentMD5,\n ExpectedBucketOwner: expectedBucketOwner,\n });\n transferredBytes += size;\n // eTag will always be set even the S3 model interface marks it as optional.\n onPartUploadCompletion(partNumber, eTag, checksumCRC32);\n }\n }\n};\nexports.uploadPartExecutor = uploadPartExecutor;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,kBAAkB,GAAG,MAAM;AACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,iCAAiC,CAAC;AAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,yBAAyB,CAAC;AAClD,MAAM,OAAO,GAAG,OAAO,CAAC,yBAAyB,CAAC;AAClD,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;AAC5C,MAAM,kBAAkB,GAAG,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,sBAAsB,EAAE,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB,GAAG,KAAK;AAC3O,IAAI,IAAI,gBAAgB,GAAG,CAAC;AAC5B,IAAI,KAAK,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,oBAAoB,EAAE;AACnE,QAAQ,IAAI,WAAW,CAAC,OAAO,EAAE;AACjC,YAAY,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC;AAC5D,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;AACpD,YAAY,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;AACxE,YAAY,gBAAgB,IAAI,IAAI;AACpC,YAAY,UAAU,GAAG;AACzB,gBAAgB,gBAAgB;AAChC,aAAa,CAAC;AACd,QAAQ;AACR,aAAa;AACb;AACA,YAAY,IAAI,aAAa;AAC7B,YAAY,IAAI,gBAAgB,EAAE;AAClC,gBAAgB,aAAa,GAAG,MAAM,IAAI,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC;AAC9E,YAAY;AACZ,YAAY,MAAM,UAAU;AAC5B;AACA,YAAY,CAAC,aAAa,IAAI;AAC9B,kBAAkB,MAAM,IAAI,OAAO,CAAC,mBAAmB,EAAE,IAAI;AAC7D,kBAAkB,SAAS;AAC3B,YAAY,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE;AAClE,gBAAgB,GAAG,QAAQ;AAC3B,gBAAgB,WAAW;AAC3B,gBAAgB,gBAAgB,EAAE,CAAC,KAAK,KAAK;AAC7C,oBAAoB,MAAM,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,GAAG,KAAK;AACnF,oBAAoB,UAAU,GAAG;AACjC,wBAAwB,gBAAgB,EAAE,gBAAgB,GAAG,2BAA2B;AACxF,qBAAqB,CAAC;AACtB,gBAAgB,CAAC;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,aAAa,EAAE,aAAa;AAC5C,gBAAgB,UAAU,EAAE,UAAU;AACtC,gBAAgB,mBAAmB,EAAE,mBAAmB;AACxD,aAAa,CAAC;AACd,YAAY,gBAAgB,IAAI,IAAI;AACpC;AACA,YAAY,sBAAsB,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,CAAC;AACnE,QAAQ;AACR,IAAI;AACJ,CAAC;AACD,OAAO,CAAC,kBAAkB,GAAG,kBAAkB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/providers/s3/apis/server/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.copy = exports.remove = exports.list = exports.getUrl = exports.getProperties = void 0;\nvar getProperties_1 = require(\"./getProperties\");\nObject.defineProperty(exports, \"getProperties\", { enumerable: true, get: function () { return getProperties_1.getProperties; } });\nvar getUrl_1 = require(\"./getUrl\");\nObject.defineProperty(exports, \"getUrl\", { enumerable: true, get: function () { return getUrl_1.getUrl; } });\nvar list_1 = require(\"./list\");\nObject.defineProperty(exports, \"list\", { enumerable: true, get: function () { return list_1.list; } });\nvar remove_1 = require(\"./remove\");\nObject.defineProperty(exports, \"remove\", { enumerable: true, get: function () { return remove_1.remove; } });\nvar copy_1 = require(\"./copy\");\nObject.defineProperty(exports, \"copy\", { enumerable: true, get: function () { return copy_1.copy; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,MAAM;AAC9F,IAAI,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;AAChD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,eAAe,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;AACjI,IAAI,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;AAClC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;AAC5G,IAAI,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC9B,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;AACtG,IAAI,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;AAClC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;AAC5G,IAAI,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC9B,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/providers/s3/apis/server/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.copy = exports.remove = exports.list = exports.getUrl = exports.getProperties = void 0;\nvar getProperties_1 = require(\"./getProperties\");\nObject.defineProperty(exports, \"getProperties\", { enumerable: true, get: function () { return getProperties_1.getProperties; } });\nvar getUrl_1 = require(\"./getUrl\");\nObject.defineProperty(exports, \"getUrl\", { enumerable: true, get: function () { return getUrl_1.getUrl; } });\nvar list_1 = require(\"./list\");\nObject.defineProperty(exports, \"list\", { enumerable: true, get: function () { return list_1.list; } });\nvar remove_1 = require(\"./remove\");\nObject.defineProperty(exports, \"remove\", { enumerable: true, get: function () { return remove_1.remove; } });\nvar copy_1 = require(\"./copy\");\nObject.defineProperty(exports, \"copy\", { enumerable: true, get: function () { return copy_1.copy; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,MAAM;AAC9F,IAAI,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;AAChD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;AACjI,IAAI,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;AAClC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5G,IAAI,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC9B,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACtG,IAAI,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;AAClC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5G,IAAI,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC9B,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/providers/s3/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DEFAULT_PART_SIZE = exports.getUrl = exports.copy = exports.getProperties = exports.list = exports.remove = exports.downloadData = exports.uploadData = void 0;\nvar apis_1 = require(\"./apis\");\nObject.defineProperty(exports, \"uploadData\", { enumerable: true, get: function () { return apis_1.uploadData; } });\nObject.defineProperty(exports, \"downloadData\", { enumerable: true, get: function () { return apis_1.downloadData; } });\nObject.defineProperty(exports, \"remove\", { enumerable: true, get: function () { return apis_1.remove; } });\nObject.defineProperty(exports, \"list\", { enumerable: true, get: function () { return apis_1.list; } });\nObject.defineProperty(exports, \"getProperties\", { enumerable: true, get: function () { return apis_1.getProperties; } });\nObject.defineProperty(exports, \"copy\", { enumerable: true, get: function () { return apis_1.copy; } });\nObject.defineProperty(exports, \"getUrl\", { enumerable: true, get: function () { return apis_1.getUrl; } });\nvar constants_1 = require(\"./utils/constants\");\nObject.defineProperty(exports, \"DEFAULT_PART_SIZE\", { enumerable: true, get: function () { return constants_1.DEFAULT_PART_SIZE; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,MAAM;AACtK,IAAI,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC9B,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;AAClH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;AACtH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;AAC1G,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;AACtG,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;AACxH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;AACtG,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;AAC1G,IAAI,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;AAC9C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/providers/s3/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DEFAULT_PART_SIZE = exports.getUrl = exports.copy = exports.getProperties = exports.list = exports.remove = exports.downloadData = exports.uploadData = void 0;\nvar apis_1 = require(\"./apis\");\nObject.defineProperty(exports, \"uploadData\", { enumerable: true, get: function () { return apis_1.uploadData; } });\nObject.defineProperty(exports, \"downloadData\", { enumerable: true, get: function () { return apis_1.downloadData; } });\nObject.defineProperty(exports, \"remove\", { enumerable: true, get: function () { return apis_1.remove; } });\nObject.defineProperty(exports, \"list\", { enumerable: true, get: function () { return apis_1.list; } });\nObject.defineProperty(exports, \"getProperties\", { enumerable: true, get: function () { return apis_1.getProperties; } });\nObject.defineProperty(exports, \"copy\", { enumerable: true, get: function () { return apis_1.copy; } });\nObject.defineProperty(exports, \"getUrl\", { enumerable: true, get: function () { return apis_1.getUrl; } });\nvar constants_1 = require(\"./utils/constants\");\nObject.defineProperty(exports, \"DEFAULT_PART_SIZE\", { enumerable: true, get: function () { return constants_1.DEFAULT_PART_SIZE; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,MAAM;AACtK,IAAI,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC9B,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;AAClH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;AACtH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1G,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACtG,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;AACxH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACtG,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1G,IAAI,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;AAC9C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.browser.js","sources":["../../../../../../../../src/providers/s3/utils/client/runtime/base64/index.browser.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toBase64 = toBase64;\nfunction bytesToBase64(bytes) {\n const base64Str = Array.from(bytes, x => String.fromCodePoint(x)).join('');\n return btoa(base64Str);\n}\nfunction toBase64(input) {\n if (typeof input === 'string') {\n return bytesToBase64(new TextEncoder().encode(input));\n }\n return bytesToBase64(new Uint8Array(input.buffer, input.byteOffset, input.byteLength));\n}\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,QAAQ,GAAG,QAAQ;AAC3B,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;AAC9E,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC;AAC1B;AACA,SAAS,QAAQ,CAAC,KAAK,EAAE;AACzB,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,QAAQ,OAAO,aAAa,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7D;AACA,IAAI,OAAO,aAAa,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AAC1F;;"}
1
+ {"version":3,"file":"index.browser.js","sources":["../../../../../../../../src/providers/s3/utils/client/runtime/base64/index.browser.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toBase64 = toBase64;\nfunction bytesToBase64(bytes) {\n const base64Str = Array.from(bytes, x => String.fromCodePoint(x)).join('');\n return btoa(base64Str);\n}\nfunction toBase64(input) {\n if (typeof input === 'string') {\n return bytesToBase64(new TextEncoder().encode(input));\n }\n return bytesToBase64(new Uint8Array(input.buffer, input.byteOffset, input.byteLength));\n}\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,QAAQ,GAAG,QAAQ;AAC3B,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;AAC9E,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC;AAC1B;AACA,SAAS,QAAQ,CAAC,KAAK,EAAE;AACzB,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,QAAQ,OAAO,aAAa,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7D,IAAI;AACJ,IAAI,OAAO,aAAa,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AAC1F;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","sources":["../../../../../../../../src/providers/s3/utils/client/runtime/base64/index.native.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toBase64 = toBase64;\nconst buffer_1 = require(\"buffer\");\nfunction toBase64(input) {\n if (typeof input === 'string') {\n return buffer_1.Buffer.from(input, 'utf-8').toString('base64');\n }\n return buffer_1.Buffer.from(input.buffer).toString('base64');\n}\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,QAAQ,GAAG,QAAQ;AAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAClC,SAAS,QAAQ,CAAC,KAAK,EAAE;AACzB,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,QAAQ,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACtE;AACA,IAAI,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAChE;;"}
1
+ {"version":3,"file":"index.native.js","sources":["../../../../../../../../src/providers/s3/utils/client/runtime/base64/index.native.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toBase64 = toBase64;\nconst buffer_1 = require(\"buffer\");\nfunction toBase64(input) {\n if (typeof input === 'string') {\n return buffer_1.Buffer.from(input, 'utf-8').toString('base64');\n }\n return buffer_1.Buffer.from(input.buffer).toString('base64');\n}\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,QAAQ,GAAG,QAAQ;AAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAClC,SAAS,QAAQ,CAAC,KAAK,EAAE;AACzB,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,QAAQ,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACtE,IAAI;AACJ,IAAI,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAChE;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"contentSha256middleware.js","sources":["../../../../../../../src/providers/s3/utils/client/runtime/contentSha256middleware.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.contentSha256MiddlewareFactory = void 0;\nconst aws_client_utils_1 = require(\"@aws-amplify/core/internals/aws-client-utils\");\nconst constants_1 = require(\"./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 */\nconst contentSha256MiddlewareFactory = () => (next) => async function contentSha256Middleware(request) {\n if (request.headers[constants_1.CONTENT_SHA256_HEADER]) {\n return next(request);\n }\n else {\n const hash = await (0, aws_client_utils_1.getHashedPayload)(request.body);\n request.headers[constants_1.CONTENT_SHA256_HEADER] = hash;\n return next(request);\n }\n};\nexports.contentSha256MiddlewareFactory = contentSha256MiddlewareFactory;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,8BAA8B,GAAG,MAAM;AAC/C,MAAM,kBAAkB,GAAG,OAAO,CAAC,8CAA8C,CAAC;AAClF,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,8BAA8B,GAAG,MAAM,CAAC,IAAI,KAAK,eAAe,uBAAuB,CAAC,OAAO,EAAE;AACvG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE;AAC5D,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC;AAC5B;AACA,SAAS;AACT,QAAQ,MAAM,IAAI,GAAG,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC;AACjF,QAAQ,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,GAAG,IAAI;AACjE,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC;AAC5B;AACA,CAAC;AACD,OAAO,CAAC,8BAA8B,GAAG,8BAA8B;;"}
1
+ {"version":3,"file":"contentSha256middleware.js","sources":["../../../../../../../src/providers/s3/utils/client/runtime/contentSha256middleware.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.contentSha256MiddlewareFactory = void 0;\nconst aws_client_utils_1 = require(\"@aws-amplify/core/internals/aws-client-utils\");\nconst constants_1 = require(\"./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 */\nconst contentSha256MiddlewareFactory = () => (next) => async function contentSha256Middleware(request) {\n if (request.headers[constants_1.CONTENT_SHA256_HEADER]) {\n return next(request);\n }\n else {\n const hash = await (0, aws_client_utils_1.getHashedPayload)(request.body);\n request.headers[constants_1.CONTENT_SHA256_HEADER] = hash;\n return next(request);\n }\n};\nexports.contentSha256MiddlewareFactory = contentSha256MiddlewareFactory;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,8BAA8B,GAAG,MAAM;AAC/C,MAAM,kBAAkB,GAAG,OAAO,CAAC,8CAA8C,CAAC;AAClF,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,8BAA8B,GAAG,MAAM,CAAC,IAAI,KAAK,eAAe,uBAAuB,CAAC,OAAO,EAAE;AACvG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE;AAC5D,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC;AAC5B,IAAI;AACJ,SAAS;AACT,QAAQ,MAAM,IAAI,GAAG,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC;AACjF,QAAQ,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,GAAG,IAAI;AACjE,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC;AAC5B,IAAI;AACJ,CAAC;AACD,OAAO,CAAC,8BAA8B,GAAG,8BAA8B;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.browser.js","sources":["../../../../../../../src/providers/s3/utils/client/runtime/index.browser.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toBase64 = exports.parser = exports.s3TransferHandler = exports.CONTENT_SHA256_HEADER = exports.CANCELED_ERROR_MESSAGE = exports.SEND_UPLOAD_PROGRESS_EVENT = exports.SEND_DOWNLOAD_PROGRESS_EVENT = void 0;\n// Entry point for browser-specific S3 client utilities. It's used where DOMParser is available.\nvar constants_1 = require(\"./constants\");\nObject.defineProperty(exports, \"SEND_DOWNLOAD_PROGRESS_EVENT\", { enumerable: true, get: function () { return constants_1.SEND_DOWNLOAD_PROGRESS_EVENT; } });\nObject.defineProperty(exports, \"SEND_UPLOAD_PROGRESS_EVENT\", { enumerable: true, get: function () { return constants_1.SEND_UPLOAD_PROGRESS_EVENT; } });\nObject.defineProperty(exports, \"CANCELED_ERROR_MESSAGE\", { enumerable: true, get: function () { return constants_1.CANCELED_ERROR_MESSAGE; } });\nObject.defineProperty(exports, \"CONTENT_SHA256_HEADER\", { enumerable: true, get: function () { return constants_1.CONTENT_SHA256_HEADER; } });\nvar xhr_1 = require(\"./s3TransferHandler/xhr\");\nObject.defineProperty(exports, \"s3TransferHandler\", { enumerable: true, get: function () { return xhr_1.s3TransferHandler; } });\nvar dom_1 = require(\"./xmlParser/dom\");\nObject.defineProperty(exports, \"parser\", { enumerable: true, get: function () { return dom_1.parser; } });\nvar index_browser_1 = require(\"./base64/index.browser\");\nObject.defineProperty(exports, \"toBase64\", { enumerable: true, get: function () { return index_browser_1.toBase64; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,0BAA0B,GAAG,OAAO,CAAC,4BAA4B,GAAG,MAAM;AACnN;AACA,IAAI,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;AACxC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,8BAA8B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,4BAA4B,CAAC,EAAE,EAAE,CAAC;AAC3J,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,0BAA0B,CAAC,EAAE,EAAE,CAAC;AACvJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,wBAAwB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,sBAAsB,CAAC,EAAE,EAAE,CAAC;AAC/I,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,uBAAuB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,qBAAqB,CAAC,EAAE,EAAE,CAAC;AAC7I,IAAI,KAAK,GAAG,OAAO,CAAC,yBAAyB,CAAC;AAC9C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,KAAK,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC;AAC/H,IAAI,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC;AACtC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;AACzG,IAAI,eAAe,GAAG,OAAO,CAAC,wBAAwB,CAAC;AACvD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,eAAe,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;;"}
1
+ {"version":3,"file":"index.browser.js","sources":["../../../../../../../src/providers/s3/utils/client/runtime/index.browser.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toBase64 = exports.parser = exports.s3TransferHandler = exports.CONTENT_SHA256_HEADER = exports.CANCELED_ERROR_MESSAGE = exports.SEND_UPLOAD_PROGRESS_EVENT = exports.SEND_DOWNLOAD_PROGRESS_EVENT = void 0;\n// Entry point for browser-specific S3 client utilities. It's used where DOMParser is available.\nvar constants_1 = require(\"./constants\");\nObject.defineProperty(exports, \"SEND_DOWNLOAD_PROGRESS_EVENT\", { enumerable: true, get: function () { return constants_1.SEND_DOWNLOAD_PROGRESS_EVENT; } });\nObject.defineProperty(exports, \"SEND_UPLOAD_PROGRESS_EVENT\", { enumerable: true, get: function () { return constants_1.SEND_UPLOAD_PROGRESS_EVENT; } });\nObject.defineProperty(exports, \"CANCELED_ERROR_MESSAGE\", { enumerable: true, get: function () { return constants_1.CANCELED_ERROR_MESSAGE; } });\nObject.defineProperty(exports, \"CONTENT_SHA256_HEADER\", { enumerable: true, get: function () { return constants_1.CONTENT_SHA256_HEADER; } });\nvar xhr_1 = require(\"./s3TransferHandler/xhr\");\nObject.defineProperty(exports, \"s3TransferHandler\", { enumerable: true, get: function () { return xhr_1.s3TransferHandler; } });\nvar dom_1 = require(\"./xmlParser/dom\");\nObject.defineProperty(exports, \"parser\", { enumerable: true, get: function () { return dom_1.parser; } });\nvar index_browser_1 = require(\"./base64/index.browser\");\nObject.defineProperty(exports, \"toBase64\", { enumerable: true, get: function () { return index_browser_1.toBase64; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,0BAA0B,GAAG,OAAO,CAAC,4BAA4B,GAAG,MAAM;AACnN;AACA,IAAI,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;AACxC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,8BAA8B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3J,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC;AACvJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,wBAAwB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/I,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,uBAAuB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7I,IAAI,KAAK,GAAG,OAAO,CAAC,yBAAyB,CAAC;AAC9C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/H,IAAI,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC;AACtC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AACzG,IAAI,eAAe,GAAG,OAAO,CAAC,wBAAwB,CAAC;AACvD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../src/providers/s3/utils/client/runtime/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toBase64 = exports.parser = exports.s3TransferHandler = exports.CONTENT_SHA256_HEADER = exports.CANCELED_ERROR_MESSAGE = exports.SEND_UPLOAD_PROGRESS_EVENT = exports.SEND_DOWNLOAD_PROGRESS_EVENT = void 0;\n// Entry point for Node.js-specific S3 client utilities\n// This behavior is not guaranteed in v5.\nvar constants_1 = require(\"./constants\");\nObject.defineProperty(exports, \"SEND_DOWNLOAD_PROGRESS_EVENT\", { enumerable: true, get: function () { return constants_1.SEND_DOWNLOAD_PROGRESS_EVENT; } });\nObject.defineProperty(exports, \"SEND_UPLOAD_PROGRESS_EVENT\", { enumerable: true, get: function () { return constants_1.SEND_UPLOAD_PROGRESS_EVENT; } });\nObject.defineProperty(exports, \"CANCELED_ERROR_MESSAGE\", { enumerable: true, get: function () { return constants_1.CANCELED_ERROR_MESSAGE; } });\nObject.defineProperty(exports, \"CONTENT_SHA256_HEADER\", { enumerable: true, get: function () { return constants_1.CONTENT_SHA256_HEADER; } });\nvar fetch_1 = require(\"./s3TransferHandler/fetch\");\nObject.defineProperty(exports, \"s3TransferHandler\", { enumerable: true, get: function () { return fetch_1.s3TransferHandler; } });\nvar pureJs_1 = require(\"./xmlParser/pureJs\");\nObject.defineProperty(exports, \"parser\", { enumerable: true, get: function () { return pureJs_1.parser; } });\nvar index_native_1 = require(\"./index.native\");\nObject.defineProperty(exports, \"toBase64\", { enumerable: true, get: function () { return index_native_1.toBase64; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,0BAA0B,GAAG,OAAO,CAAC,4BAA4B,GAAG,MAAM;AACnN;AACA;AACA,IAAI,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;AACxC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,8BAA8B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,4BAA4B,CAAC,EAAE,EAAE,CAAC;AAC3J,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,0BAA0B,CAAC,EAAE,EAAE,CAAC;AACvJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,wBAAwB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,sBAAsB,CAAC,EAAE,EAAE,CAAC;AAC/I,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,uBAAuB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,qBAAqB,CAAC,EAAE,EAAE,CAAC;AAC7I,IAAI,OAAO,GAAG,OAAO,CAAC,2BAA2B,CAAC;AAClD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,OAAO,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC;AACjI,IAAI,QAAQ,GAAG,OAAO,CAAC,oBAAoB,CAAC;AAC5C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;AAC5G,IAAI,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;AAC9C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../src/providers/s3/utils/client/runtime/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toBase64 = exports.parser = exports.s3TransferHandler = exports.CONTENT_SHA256_HEADER = exports.CANCELED_ERROR_MESSAGE = exports.SEND_UPLOAD_PROGRESS_EVENT = exports.SEND_DOWNLOAD_PROGRESS_EVENT = void 0;\n// Entry point for Node.js-specific S3 client utilities\n// This behavior is not guaranteed in v5.\nvar constants_1 = require(\"./constants\");\nObject.defineProperty(exports, \"SEND_DOWNLOAD_PROGRESS_EVENT\", { enumerable: true, get: function () { return constants_1.SEND_DOWNLOAD_PROGRESS_EVENT; } });\nObject.defineProperty(exports, \"SEND_UPLOAD_PROGRESS_EVENT\", { enumerable: true, get: function () { return constants_1.SEND_UPLOAD_PROGRESS_EVENT; } });\nObject.defineProperty(exports, \"CANCELED_ERROR_MESSAGE\", { enumerable: true, get: function () { return constants_1.CANCELED_ERROR_MESSAGE; } });\nObject.defineProperty(exports, \"CONTENT_SHA256_HEADER\", { enumerable: true, get: function () { return constants_1.CONTENT_SHA256_HEADER; } });\nvar fetch_1 = require(\"./s3TransferHandler/fetch\");\nObject.defineProperty(exports, \"s3TransferHandler\", { enumerable: true, get: function () { return fetch_1.s3TransferHandler; } });\nvar pureJs_1 = require(\"./xmlParser/pureJs\");\nObject.defineProperty(exports, \"parser\", { enumerable: true, get: function () { return pureJs_1.parser; } });\nvar index_native_1 = require(\"./index.native\");\nObject.defineProperty(exports, \"toBase64\", { enumerable: true, get: function () { return index_native_1.toBase64; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,0BAA0B,GAAG,OAAO,CAAC,4BAA4B,GAAG,MAAM;AACnN;AACA;AACA,IAAI,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;AACxC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,8BAA8B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3J,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC;AACvJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,wBAAwB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/I,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,uBAAuB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7I,IAAI,OAAO,GAAG,OAAO,CAAC,2BAA2B,CAAC;AAClD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;AACjI,IAAI,QAAQ,GAAG,OAAO,CAAC,oBAAoB,CAAC;AAC5C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5G,IAAI,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;AAC9C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","sources":["../../../../../../../src/providers/s3/utils/client/runtime/index.native.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toBase64 = exports.parser = exports.s3TransferHandler = exports.CONTENT_SHA256_HEADER = exports.CANCELED_ERROR_MESSAGE = exports.SEND_UPLOAD_PROGRESS_EVENT = exports.SEND_DOWNLOAD_PROGRESS_EVENT = void 0;\n// Entry point for ReactNative-specific S3 client utilities\nvar constants_1 = require(\"./constants\");\nObject.defineProperty(exports, \"SEND_DOWNLOAD_PROGRESS_EVENT\", { enumerable: true, get: function () { return constants_1.SEND_DOWNLOAD_PROGRESS_EVENT; } });\nObject.defineProperty(exports, \"SEND_UPLOAD_PROGRESS_EVENT\", { enumerable: true, get: function () { return constants_1.SEND_UPLOAD_PROGRESS_EVENT; } });\nObject.defineProperty(exports, \"CANCELED_ERROR_MESSAGE\", { enumerable: true, get: function () { return constants_1.CANCELED_ERROR_MESSAGE; } });\nObject.defineProperty(exports, \"CONTENT_SHA256_HEADER\", { enumerable: true, get: function () { return constants_1.CONTENT_SHA256_HEADER; } });\nvar xhr_1 = require(\"./s3TransferHandler/xhr\");\nObject.defineProperty(exports, \"s3TransferHandler\", { enumerable: true, get: function () { return xhr_1.s3TransferHandler; } });\nvar pureJs_1 = require(\"./xmlParser/pureJs\");\nObject.defineProperty(exports, \"parser\", { enumerable: true, get: function () { return pureJs_1.parser; } });\nvar index_native_1 = require(\"./base64/index.native\");\nObject.defineProperty(exports, \"toBase64\", { enumerable: true, get: function () { return index_native_1.toBase64; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,0BAA0B,GAAG,OAAO,CAAC,4BAA4B,GAAG,MAAM;AACnN;AACA,IAAI,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;AACxC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,8BAA8B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,4BAA4B,CAAC,EAAE,EAAE,CAAC;AAC3J,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,0BAA0B,CAAC,EAAE,EAAE,CAAC;AACvJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,wBAAwB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,sBAAsB,CAAC,EAAE,EAAE,CAAC;AAC/I,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,uBAAuB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,qBAAqB,CAAC,EAAE,EAAE,CAAC;AAC7I,IAAI,KAAK,GAAG,OAAO,CAAC,yBAAyB,CAAC;AAC9C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,KAAK,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC;AAC/H,IAAI,QAAQ,GAAG,OAAO,CAAC,oBAAoB,CAAC;AAC5C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;AAC5G,IAAI,cAAc,GAAG,OAAO,CAAC,uBAAuB,CAAC;AACrD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;;"}
1
+ {"version":3,"file":"index.native.js","sources":["../../../../../../../src/providers/s3/utils/client/runtime/index.native.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toBase64 = exports.parser = exports.s3TransferHandler = exports.CONTENT_SHA256_HEADER = exports.CANCELED_ERROR_MESSAGE = exports.SEND_UPLOAD_PROGRESS_EVENT = exports.SEND_DOWNLOAD_PROGRESS_EVENT = void 0;\n// Entry point for ReactNative-specific S3 client utilities\nvar constants_1 = require(\"./constants\");\nObject.defineProperty(exports, \"SEND_DOWNLOAD_PROGRESS_EVENT\", { enumerable: true, get: function () { return constants_1.SEND_DOWNLOAD_PROGRESS_EVENT; } });\nObject.defineProperty(exports, \"SEND_UPLOAD_PROGRESS_EVENT\", { enumerable: true, get: function () { return constants_1.SEND_UPLOAD_PROGRESS_EVENT; } });\nObject.defineProperty(exports, \"CANCELED_ERROR_MESSAGE\", { enumerable: true, get: function () { return constants_1.CANCELED_ERROR_MESSAGE; } });\nObject.defineProperty(exports, \"CONTENT_SHA256_HEADER\", { enumerable: true, get: function () { return constants_1.CONTENT_SHA256_HEADER; } });\nvar xhr_1 = require(\"./s3TransferHandler/xhr\");\nObject.defineProperty(exports, \"s3TransferHandler\", { enumerable: true, get: function () { return xhr_1.s3TransferHandler; } });\nvar pureJs_1 = require(\"./xmlParser/pureJs\");\nObject.defineProperty(exports, \"parser\", { enumerable: true, get: function () { return pureJs_1.parser; } });\nvar index_native_1 = require(\"./base64/index.native\");\nObject.defineProperty(exports, \"toBase64\", { enumerable: true, get: function () { return index_native_1.toBase64; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,0BAA0B,GAAG,OAAO,CAAC,4BAA4B,GAAG,MAAM;AACnN;AACA,IAAI,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;AACxC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,8BAA8B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3J,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC;AACvJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,wBAAwB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/I,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,uBAAuB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,WAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7I,IAAI,KAAK,GAAG,OAAO,CAAC,yBAAyB,CAAC;AAC9C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/H,IAAI,QAAQ,GAAG,OAAO,CAAC,oBAAoB,CAAC;AAC5C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5G,IAAI,cAAc,GAAG,OAAO,CAAC,uBAAuB,CAAC;AACrD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"xhrTransferHandler.js","sources":["../../../../../../../src/providers/s3/utils/client/runtime/xhrTransferHandler.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.xhrTransferHandler = void 0;\nconst aws_client_utils_1 = require(\"@aws-amplify/core/internals/aws-client-utils\");\nconst core_1 = require(\"@aws-amplify/core\");\nconst CanceledError_1 = require(\"../../../../../errors/CanceledError\");\nconst StorageError_1 = require(\"../../../../../errors/StorageError\");\nconst constants_1 = require(\"./constants\");\nconst logger = new core_1.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 */\nconst 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 = new StorageError_1.StorageError({\n message: constants_1.NETWORK_ERROR_MESSAGE,\n name: constants_1.NETWORK_ERROR_CODE,\n });\n logger.error(constants_1.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(constants_1.ABORT_ERROR_MESSAGE, constants_1.ABORT_ERROR_CODE);\n logger.error(constants_1.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: loadEndResponseType } = xhr;\n const responseBlob = xhr.response;\n const responseText = loadEndResponseType === 'text' ? xhr.responseText : '';\n const bodyMixIn = {\n blob: () => Promise.resolve(responseBlob),\n text: (0, aws_client_utils_1.withMemoization)(() => loadEndResponseType === '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_1.CanceledError({\n name: constants_1.CANCELED_ERROR_CODE,\n message: constants_1.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};\nexports.xhrTransferHandler = xhrTransferHandler;\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
+ {"version":3,"file":"xhrTransferHandler.js","sources":["../../../../../../../src/providers/s3/utils/client/runtime/xhrTransferHandler.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.xhrTransferHandler = void 0;\nconst aws_client_utils_1 = require(\"@aws-amplify/core/internals/aws-client-utils\");\nconst core_1 = require(\"@aws-amplify/core\");\nconst CanceledError_1 = require(\"../../../../../errors/CanceledError\");\nconst StorageError_1 = require(\"../../../../../errors/StorageError\");\nconst constants_1 = require(\"./constants\");\nconst logger = new core_1.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 */\nconst 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 = new StorageError_1.StorageError({\n message: constants_1.NETWORK_ERROR_MESSAGE,\n name: constants_1.NETWORK_ERROR_CODE,\n });\n logger.error(constants_1.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(constants_1.ABORT_ERROR_MESSAGE, constants_1.ABORT_ERROR_CODE);\n logger.error(constants_1.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: loadEndResponseType } = xhr;\n const responseBlob = xhr.response;\n const responseText = loadEndResponseType === 'text' ? xhr.responseText : '';\n const bodyMixIn = {\n blob: () => Promise.resolve(responseBlob),\n text: (0, aws_client_utils_1.withMemoization)(() => loadEndResponseType === '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_1.CanceledError({\n name: constants_1.CANCELED_ERROR_CODE,\n message: constants_1.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};\nexports.xhrTransferHandler = xhrTransferHandler;\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.js","sources":["../../../../../../../../src/providers/s3/utils/client/runtime/xmlParser/dom.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parser = void 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 */\nexports.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 (const attr of node.attributes) {\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 (const child of node.children) {\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 (const attr of node.attributes) {\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
+ {"version":3,"file":"dom.js","sources":["../../../../../../../../src/providers/s3/utils/client/runtime/xmlParser/dom.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parser = void 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 */\nexports.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 (const attr of node.attributes) {\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 (const child of node.children) {\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 (const attr of node.attributes) {\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":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,MAAM,GAAG,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC,MAAM,GAAG;AACjB,IAAI,KAAK,EAAE,CAAC,MAAM,KAAK;AACvB,QAAQ,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE;AACzC,QAAQ,MAAM,GAAG,GAAG,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC;AACjE,QAAQ,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC;AAC3C,QAAQ,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACjD,QAAQ,OAAO,SAAS,CAAC,OAAO,CAAC;AACjC,IAAI,CAAC;AACL,CAAC;AACD,MAAM,YAAY,GAAG,CAAC,IAAI,KAAK;AAC/B,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;AAC9B,QAAQ,OAAO;AACf,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC;AAC/E,SAAS;AACT,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;AAC1C,QAAQ,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE;AACrC,IAAI;AACJ,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE;AAC7B;AACA;AACA,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE;AACzC,YAAY,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;AAC/C,QAAQ;AACR,QAAQ,MAAM,SAAS,GAAG,EAAE;AAC5B;AACA,QAAQ,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AAC5C,YAAY,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAC1D,gBAAgB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,SAAS;AACzD,YAAY;AACZ,QAAQ;AACR;AACA,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACtC,YAAY,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC/C,gBAAgB,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC;AACtD,gBAAgB,IAAI,UAAU,KAAK,SAAS,EAAE;AAC9C,oBAAoB;AACpB,gBAAgB;AAChB,gBAAgB,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ;AAChD,gBAAgB,IAAI,SAAS,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE;AACxD,oBAAoB,SAAS,CAAC,SAAS,CAAC,GAAG,UAAU;AACrD,gBAAgB;AAChB,qBAAqB,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE;AAC9D,oBAAoB,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;AACzD,gBAAgB;AAChB,qBAAqB;AACrB,oBAAoB,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;AAC7E,gBAAgB;AAChB,YAAY;AACZ,QAAQ;AACR;AACA,QAAQ,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,SAAS;AACnE,IAAI;AACJ,CAAC;AACD,MAAM,aAAa,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY;AACnE,MAAM,cAAc,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,aAAa;AACrE,MAAM,qBAAqB,GAAG,CAAC,IAAI,KAAK,0BAA0B,CAAC,IAAI,CAAC;AACxE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;AAC9B,IAAI,IAAI,CAAC,UAAU,EAAE,QAAQ,KAAK,IAAI,CAAC,SAAS;AAChD,MAAM,0BAA0B,GAAG,CAAC,IAAI,KAAK;AAC7C,IAAI,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACxC,QAAQ,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACtD,YAAY,OAAO,KAAK;AACxB,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,IAAI;AACf,CAAC;AACD,MAAM,wBAAwB,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"pureJs.js","sources":["../../../../../../../../src/providers/s3/utils/client/runtime/xmlParser/pureJs.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parser = void 0;\nconst fast_xml_parser_1 = require(\"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 */\nexports.parser = {\n parse: (xmlStr) => {\n const xmlParser = new fast_xml_parser_1.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 xmlParser.addEntity('#xD', '\\r');\n xmlParser.addEntity('#10', '\\n');\n const parsedObj = xmlParser.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 (Object.prototype.hasOwnProperty.call(obj, key) &&\n 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":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,MAAM,GAAG,MAAM;AACvB,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC,MAAM,GAAG;AACjB,IAAI,KAAK,EAAE,CAAC,MAAM,KAAK;AACvB,QAAQ,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,SAAS,CAAC;AAC1D,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;AACV,QAAQ,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;AACxC,QAAQ,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;AACxC,QAAQ,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;AACjD,QAAQ,MAAM,YAAY,GAAG,OAAO;AACpC,QAAQ,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7C,QAAQ,MAAM,iBAAiB,GAAG,SAAS,CAAC,GAAG,CAAC;AAChD,QAAQ,IAAI,iBAAiB,CAAC,YAAY,CAAC,EAAE;AAC7C,YAAY,iBAAiB,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,YAAY,CAAC;AACpE,YAAY,OAAO,iBAAiB,CAAC,YAAY,CAAC;AAClD;AACA,QAAQ,OAAO,oBAAoB,CAAC,iBAAiB,CAAC;AACtD,KAAK;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,MAAM,oBAAoB,GAAG,CAAC,GAAG,KAAK;AACtC,IAAI,MAAM,YAAY,GAAG,OAAO;AAChC,IAAI,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;AAC3B,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;AAC1D,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE;AAClD,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC;AAC7C;AACA,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;AACrD;AACA;AACA,IAAI,OAAO,GAAG;AACd,CAAC;;"}
1
+ {"version":3,"file":"pureJs.js","sources":["../../../../../../../../src/providers/s3/utils/client/runtime/xmlParser/pureJs.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parser = void 0;\nconst fast_xml_parser_1 = require(\"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 */\nexports.parser = {\n parse: (xmlStr) => {\n const xmlParser = new fast_xml_parser_1.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 xmlParser.addEntity('#xD', '\\r');\n xmlParser.addEntity('#10', '\\n');\n const parsedObj = xmlParser.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 (Object.prototype.hasOwnProperty.call(obj, key) &&\n 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":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,MAAM,GAAG,MAAM;AACvB,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC,MAAM,GAAG;AACjB,IAAI,KAAK,EAAE,CAAC,MAAM,KAAK;AACvB,QAAQ,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,SAAS,CAAC;AAC1D,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;AACV,QAAQ,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;AACxC,QAAQ,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;AACxC,QAAQ,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;AACjD,QAAQ,MAAM,YAAY,GAAG,OAAO;AACpC,QAAQ,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7C,QAAQ,MAAM,iBAAiB,GAAG,SAAS,CAAC,GAAG,CAAC;AAChD,QAAQ,IAAI,iBAAiB,CAAC,YAAY,CAAC,EAAE;AAC7C,YAAY,iBAAiB,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,YAAY,CAAC;AACpE,YAAY,OAAO,iBAAiB,CAAC,YAAY,CAAC;AAClD,QAAQ;AACR,QAAQ,OAAO,oBAAoB,CAAC,iBAAiB,CAAC;AACtD,IAAI,CAAC;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,MAAM,oBAAoB,GAAG,CAAC,GAAG,KAAK;AACtC,IAAI,MAAM,YAAY,GAAG,OAAO;AAChC,IAAI,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;AAC3B,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;AAC1D,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE;AAClD,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC;AAC7C,QAAQ;AACR,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;AACrD,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,CAAC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sources":["../../../../../../../src/providers/s3/utils/client/s3control/base.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultConfig = exports.retryDecider = exports.parseXmlError = exports.SERVICE_NAME = void 0;\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst aws_client_utils_1 = require(\"@aws-amplify/core/internals/aws-client-utils\");\nconst utils_2 = require(\"../utils\");\nconst assertValidationError_1 = require(\"../../../../../errors/utils/assertValidationError\");\nconst validation_1 = require(\"../../../../../errors/types/validation\");\n/**\n * The service name used to sign requests if the API requires authentication.\n */\nexports.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, customEndpoint } = options;\n const { AccountId: accountId } = apiInput;\n let endpoint;\n if (customEndpoint) {\n (0, assertValidationError_1.assertValidationError)(!customEndpoint.includes('://'), validation_1.StorageValidationErrorCode.InvalidCustomEndpoint);\n endpoint = new utils_1.AmplifyUrl(`https://${accountId}.${customEndpoint}`);\n }\n else {\n endpoint = new utils_1.AmplifyUrl(`https://${accountId}.s3-control.${region}.${(0, aws_client_utils_1.getDnsSuffix)(region)}`);\n }\n return { url: endpoint };\n};\n/**\n * Error parser for the XML payload of S3 control plane error response. The\n * error's `Code` and `Message` locates at the nested `Error` element instead of\n * the XML root element.\n *\n * @example\n * ```\n * \t<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n * \t<ErrorResponse>\n * \t <Error>\n * \t\t <Code>AccessDenied</Code>\n * \t\t <Message>Access Denied</Message>\n * \t\t</Error>\n * \t\t<RequestId>656c76696e6727732072657175657374</RequestId>\n * \t\t<HostId>Uuag1LuByRx9e6j5Onimru9pO4ZVKnJ2Qz7/C1NPcfTWAtRPfTaOFg==</HostId>\n * \t</ErrorResponse>\n * \t```\n *\n * @internal\n */\nexports.parseXmlError = (0, utils_2.createXmlErrorParser)();\n/**\n * @internal\n */\nexports.retryDecider = (0, utils_2.createRetryDecider)(exports.parseXmlError);\n/**\n * @internal\n */\nexports.defaultConfig = {\n service: exports.SERVICE_NAME,\n endpointResolver,\n retryDecider: exports.retryDecider,\n computeDelay: aws_client_utils_1.jitteredBackoff,\n get userAgentValue() {\n return (0, utils_1.getAmplifyUserAgent)();\n },\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":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,GAAG,MAAM;AACpG,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC;AAC5D,MAAM,kBAAkB,GAAG,OAAO,CAAC,8CAA8C,CAAC;AAClF,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;AACnC,MAAM,uBAAuB,GAAG,OAAO,CAAC,mDAAmD,CAAC;AAC5F,MAAM,YAAY,GAAG,OAAO,CAAC,wCAAwC,CAAC;AACtE;AACA;AACA;AACA,OAAO,CAAC,YAAY,GAAG,IAAI;AAC3B;AACA;AACA;AACA,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,QAAQ,KAAK;AAChD,IAAI,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO;AAC9C,IAAI,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,QAAQ;AAC7C,IAAI,IAAI,QAAQ;AAChB,IAAI,IAAI,cAAc,EAAE;AACxB,QAAQ,IAAI,uBAAuB,CAAC,qBAAqB,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,0BAA0B,CAAC,qBAAqB,CAAC;AAC1J,QAAQ,QAAQ,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;AACnF;AACA,SAAS;AACT,QAAQ,QAAQ,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,EAAE,IAAI,kBAAkB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AACtI;AACA,IAAI,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE;AAC5B,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC,aAAa,GAAG,IAAI,OAAO,CAAC,oBAAoB,GAAG;AAC3D;AACA;AACA;AACA,OAAO,CAAC,YAAY,GAAG,IAAI,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,aAAa,CAAC;AAC7E;AACA;AACA;AACA,OAAO,CAAC,aAAa,GAAG;AACxB,IAAI,OAAO,EAAE,OAAO,CAAC,YAAY;AACjC,IAAI,gBAAgB;AACpB,IAAI,YAAY,EAAE,OAAO,CAAC,YAAY;AACtC,IAAI,YAAY,EAAE,kBAAkB,CAAC,eAAe;AACpD,IAAI,IAAI,cAAc,GAAG;AACzB,QAAQ,OAAO,IAAI,OAAO,CAAC,mBAAmB,GAAG;AACjD,KAAK;AACL,IAAI,aAAa,EAAE,KAAK;AACxB,CAAC;;"}
1
+ {"version":3,"file":"base.js","sources":["../../../../../../../src/providers/s3/utils/client/s3control/base.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultConfig = exports.retryDecider = exports.parseXmlError = exports.SERVICE_NAME = void 0;\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst aws_client_utils_1 = require(\"@aws-amplify/core/internals/aws-client-utils\");\nconst utils_2 = require(\"../utils\");\nconst assertValidationError_1 = require(\"../../../../../errors/utils/assertValidationError\");\nconst validation_1 = require(\"../../../../../errors/types/validation\");\n/**\n * The service name used to sign requests if the API requires authentication.\n */\nexports.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, customEndpoint } = options;\n const { AccountId: accountId } = apiInput;\n let endpoint;\n if (customEndpoint) {\n (0, assertValidationError_1.assertValidationError)(!customEndpoint.includes('://'), validation_1.StorageValidationErrorCode.InvalidCustomEndpoint);\n endpoint = new utils_1.AmplifyUrl(`https://${accountId}.${customEndpoint}`);\n }\n else {\n endpoint = new utils_1.AmplifyUrl(`https://${accountId}.s3-control.${region}.${(0, aws_client_utils_1.getDnsSuffix)(region)}`);\n }\n return { url: endpoint };\n};\n/**\n * Error parser for the XML payload of S3 control plane error response. The\n * error's `Code` and `Message` locates at the nested `Error` element instead of\n * the XML root element.\n *\n * @example\n * ```\n * \t<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n * \t<ErrorResponse>\n * \t <Error>\n * \t\t <Code>AccessDenied</Code>\n * \t\t <Message>Access Denied</Message>\n * \t\t</Error>\n * \t\t<RequestId>656c76696e6727732072657175657374</RequestId>\n * \t\t<HostId>Uuag1LuByRx9e6j5Onimru9pO4ZVKnJ2Qz7/C1NPcfTWAtRPfTaOFg==</HostId>\n * \t</ErrorResponse>\n * \t```\n *\n * @internal\n */\nexports.parseXmlError = (0, utils_2.createXmlErrorParser)();\n/**\n * @internal\n */\nexports.retryDecider = (0, utils_2.createRetryDecider)(exports.parseXmlError);\n/**\n * @internal\n */\nexports.defaultConfig = {\n service: exports.SERVICE_NAME,\n endpointResolver,\n retryDecider: exports.retryDecider,\n computeDelay: aws_client_utils_1.jitteredBackoff,\n get userAgentValue() {\n return (0, utils_1.getAmplifyUserAgent)();\n },\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":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,GAAG,MAAM;AACpG,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC;AAC5D,MAAM,kBAAkB,GAAG,OAAO,CAAC,8CAA8C,CAAC;AAClF,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;AACnC,MAAM,uBAAuB,GAAG,OAAO,CAAC,mDAAmD,CAAC;AAC5F,MAAM,YAAY,GAAG,OAAO,CAAC,wCAAwC,CAAC;AACtE;AACA;AACA;AACA,OAAO,CAAC,YAAY,GAAG,IAAI;AAC3B;AACA;AACA;AACA,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,QAAQ,KAAK;AAChD,IAAI,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO;AAC9C,IAAI,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,QAAQ;AAC7C,IAAI,IAAI,QAAQ;AAChB,IAAI,IAAI,cAAc,EAAE;AACxB,QAAQ,IAAI,uBAAuB,CAAC,qBAAqB,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,0BAA0B,CAAC,qBAAqB,CAAC;AAC1J,QAAQ,QAAQ,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;AACnF,IAAI;AACJ,SAAS;AACT,QAAQ,QAAQ,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,EAAE,IAAI,kBAAkB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AACtI,IAAI;AACJ,IAAI,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE;AAC5B,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC,aAAa,GAAG,IAAI,OAAO,CAAC,oBAAoB,GAAG;AAC3D;AACA;AACA;AACA,OAAO,CAAC,YAAY,GAAG,IAAI,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,aAAa,CAAC;AAC7E;AACA;AACA;AACA,OAAO,CAAC,aAAa,GAAG;AACxB,IAAI,OAAO,EAAE,OAAO,CAAC,YAAY;AACjC,IAAI,gBAAgB;AACpB,IAAI,YAAY,EAAE,OAAO,CAAC,YAAY;AACtC,IAAI,YAAY,EAAE,kBAAkB,CAAC,eAAe;AACpD,IAAI,IAAI,cAAc,GAAG;AACzB,QAAQ,OAAO,IAAI,OAAO,CAAC,mBAAmB,GAAG;AACjD,IAAI,CAAC;AACL,IAAI,aAAa,EAAE,KAAK;AACxB,CAAC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getDataAccess.js","sources":["../../../../../../../src/providers/s3/utils/client/s3control/getDataAccess.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDataAccess = void 0;\nconst aws_client_utils_1 = require(\"@aws-amplify/core/internals/aws-client-utils\");\nconst composers_1 = require(\"@aws-amplify/core/internals/aws-client-utils/composers\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst utils_2 = require(\"../utils\");\nconst base_1 = require(\"./base\");\nconst getDataAccessSerializer = (input, endpoint) => {\n const headers = (0, utils_2.assignStringVariables)({\n 'x-amz-account-id': input.AccountId,\n });\n const query = (0, utils_2.assignStringVariables)({\n durationSeconds: input.DurationSeconds,\n permission: input.Permission,\n privilege: input.Privilege,\n target: input.Target,\n targetType: input.TargetType,\n });\n const url = new utils_1.AmplifyUrl(endpoint.url.toString());\n url.search = new utils_1.AmplifyUrlSearchParams(query).toString();\n // Ref: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetDataAccess.html\n url.pathname = '/v20180820/accessgrantsinstance/dataaccess';\n return {\n method: 'GET',\n headers,\n url,\n };\n};\nconst getDataAccessDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n // error is always set when statusCode >= 300\n throw (0, utils_2.buildStorageServiceError)((await (0, base_1.parseXmlError)(response)));\n }\n else {\n const parsed = await (0, utils_2.parseXmlBody)(response);\n const contents = (0, utils_2.map)(parsed, {\n Credentials: ['Credentials', deserializeCredentials],\n MatchedGrantTarget: 'MatchedGrantTarget',\n });\n return {\n $metadata: (0, aws_client_utils_1.parseMetadata)(response),\n ...contents,\n };\n }\n};\nconst deserializeCredentials = (output) => (0, utils_2.map)(output, {\n AccessKeyId: 'AccessKeyId',\n Expiration: ['Expiration', utils_2.deserializeTimestamp],\n SecretAccessKey: 'SecretAccessKey',\n SessionToken: 'SessionToken',\n});\nexports.getDataAccess = (0, composers_1.composeServiceApi)(utils_2.s3TransferHandler, getDataAccessSerializer, getDataAccessDeserializer, { ...base_1.defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,aAAa,GAAG,MAAM;AAC9B,MAAM,kBAAkB,GAAG,OAAO,CAAC,8CAA8C,CAAC;AAClF,MAAM,WAAW,GAAG,OAAO,CAAC,wDAAwD,CAAC;AACrF,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC;AAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;AACnC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;AAChC,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK;AACrD,IAAI,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,qBAAqB,EAAE;AACvD,QAAQ,kBAAkB,EAAE,KAAK,CAAC,SAAS;AAC3C,KAAK,CAAC;AACN,IAAI,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,qBAAqB,EAAE;AACrD,QAAQ,eAAe,EAAE,KAAK,CAAC,eAAe;AAC9C,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU;AACpC,QAAQ,SAAS,EAAE,KAAK,CAAC,SAAS;AAClC,QAAQ,MAAM,EAAE,KAAK,CAAC,MAAM;AAC5B,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU;AACpC,KAAK,CAAC;AACN,IAAI,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC/D,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;AACrE;AACA,IAAI,GAAG,CAAC,QAAQ,GAAG,4CAA4C;AAC/D,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,KAAK;AACL,CAAC;AACD,MAAM,yBAAyB,GAAG,OAAO,QAAQ,KAAK;AACtD,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC;AACA,QAAQ,MAAM,IAAI,OAAO,CAAC,wBAAwB,GAAG,MAAM,IAAI,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE;AAChG;AACA,SAAS;AACT,QAAQ,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC;AAChE,QAAQ,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE;AAClD,YAAY,WAAW,EAAE,CAAC,aAAa,EAAE,sBAAsB,CAAC;AAChE,YAAY,kBAAkB,EAAE,oBAAoB;AACpD,SAAS,CAAC;AACV,QAAQ,OAAO;AACf,YAAY,SAAS,EAAE,IAAI,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC;AACtE,YAAY,GAAG,QAAQ;AACvB,SAAS;AACT;AACA,CAAC;AACD,MAAM,sBAAsB,GAAG,CAAC,MAAM,KAAK,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE;AACpE,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,UAAU,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,oBAAoB,CAAC;AAC5D,IAAI,eAAe,EAAE,iBAAiB;AACtC,IAAI,YAAY,EAAE,cAAc;AAChC,CAAC,CAAC;AACF,OAAO,CAAC,aAAa,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;;"}
1
+ {"version":3,"file":"getDataAccess.js","sources":["../../../../../../../src/providers/s3/utils/client/s3control/getDataAccess.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDataAccess = void 0;\nconst aws_client_utils_1 = require(\"@aws-amplify/core/internals/aws-client-utils\");\nconst composers_1 = require(\"@aws-amplify/core/internals/aws-client-utils/composers\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst utils_2 = require(\"../utils\");\nconst base_1 = require(\"./base\");\nconst getDataAccessSerializer = (input, endpoint) => {\n const headers = (0, utils_2.assignStringVariables)({\n 'x-amz-account-id': input.AccountId,\n });\n const query = (0, utils_2.assignStringVariables)({\n durationSeconds: input.DurationSeconds,\n permission: input.Permission,\n privilege: input.Privilege,\n target: input.Target,\n targetType: input.TargetType,\n });\n const url = new utils_1.AmplifyUrl(endpoint.url.toString());\n url.search = new utils_1.AmplifyUrlSearchParams(query).toString();\n // Ref: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetDataAccess.html\n url.pathname = '/v20180820/accessgrantsinstance/dataaccess';\n return {\n method: 'GET',\n headers,\n url,\n };\n};\nconst getDataAccessDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n // error is always set when statusCode >= 300\n throw (0, utils_2.buildStorageServiceError)((await (0, base_1.parseXmlError)(response)));\n }\n else {\n const parsed = await (0, utils_2.parseXmlBody)(response);\n const contents = (0, utils_2.map)(parsed, {\n Credentials: ['Credentials', deserializeCredentials],\n MatchedGrantTarget: 'MatchedGrantTarget',\n });\n return {\n $metadata: (0, aws_client_utils_1.parseMetadata)(response),\n ...contents,\n };\n }\n};\nconst deserializeCredentials = (output) => (0, utils_2.map)(output, {\n AccessKeyId: 'AccessKeyId',\n Expiration: ['Expiration', utils_2.deserializeTimestamp],\n SecretAccessKey: 'SecretAccessKey',\n SessionToken: 'SessionToken',\n});\nexports.getDataAccess = (0, composers_1.composeServiceApi)(utils_2.s3TransferHandler, getDataAccessSerializer, getDataAccessDeserializer, { ...base_1.defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,aAAa,GAAG,MAAM;AAC9B,MAAM,kBAAkB,GAAG,OAAO,CAAC,8CAA8C,CAAC;AAClF,MAAM,WAAW,GAAG,OAAO,CAAC,wDAAwD,CAAC;AACrF,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC;AAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;AACnC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;AAChC,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK;AACrD,IAAI,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,qBAAqB,EAAE;AACvD,QAAQ,kBAAkB,EAAE,KAAK,CAAC,SAAS;AAC3C,KAAK,CAAC;AACN,IAAI,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,qBAAqB,EAAE;AACrD,QAAQ,eAAe,EAAE,KAAK,CAAC,eAAe;AAC9C,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU;AACpC,QAAQ,SAAS,EAAE,KAAK,CAAC,SAAS;AAClC,QAAQ,MAAM,EAAE,KAAK,CAAC,MAAM;AAC5B,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU;AACpC,KAAK,CAAC;AACN,IAAI,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC/D,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;AACrE;AACA,IAAI,GAAG,CAAC,QAAQ,GAAG,4CAA4C;AAC/D,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,KAAK;AACL,CAAC;AACD,MAAM,yBAAyB,GAAG,OAAO,QAAQ,KAAK;AACtD,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC;AACA,QAAQ,MAAM,IAAI,OAAO,CAAC,wBAAwB,GAAG,MAAM,IAAI,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE;AAChG,IAAI;AACJ,SAAS;AACT,QAAQ,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC;AAChE,QAAQ,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE;AAClD,YAAY,WAAW,EAAE,CAAC,aAAa,EAAE,sBAAsB,CAAC;AAChE,YAAY,kBAAkB,EAAE,oBAAoB;AACpD,SAAS,CAAC;AACV,QAAQ,OAAO;AACf,YAAY,SAAS,EAAE,IAAI,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC;AACtE,YAAY,GAAG,QAAQ;AACvB,SAAS;AACT,IAAI;AACJ,CAAC;AACD,MAAM,sBAAsB,GAAG,CAAC,MAAM,KAAK,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE;AACpE,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,UAAU,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,oBAAoB,CAAC;AAC5D,IAAI,eAAe,EAAE,iBAAiB;AACtC,IAAI,YAAY,EAAE,cAAc;AAChC,CAAC,CAAC;AACF,OAAO,CAAC,aAAa,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../src/providers/s3/utils/client/s3control/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.listCallerAccessGrants = exports.getDataAccess = void 0;\nvar getDataAccess_1 = require(\"../s3control/getDataAccess\");\nObject.defineProperty(exports, \"getDataAccess\", { enumerable: true, get: function () { return getDataAccess_1.getDataAccess; } });\nvar listCallerAccessGrants_1 = require(\"../s3control/listCallerAccessGrants\");\nObject.defineProperty(exports, \"listCallerAccessGrants\", { enumerable: true, get: function () { return listCallerAccessGrants_1.listCallerAccessGrants; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,aAAa,GAAG,MAAM;AAC/D,IAAI,eAAe,GAAG,OAAO,CAAC,4BAA4B,CAAC;AAC3D,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,eAAe,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;AACjI,IAAI,wBAAwB,GAAG,OAAO,CAAC,qCAAqC,CAAC;AAC7E,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,wBAAwB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,wBAAwB,CAAC,sBAAsB,CAAC,EAAE,EAAE,CAAC;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../src/providers/s3/utils/client/s3control/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.listCallerAccessGrants = exports.getDataAccess = void 0;\nvar getDataAccess_1 = require(\"../s3control/getDataAccess\");\nObject.defineProperty(exports, \"getDataAccess\", { enumerable: true, get: function () { return getDataAccess_1.getDataAccess; } });\nvar listCallerAccessGrants_1 = require(\"../s3control/listCallerAccessGrants\");\nObject.defineProperty(exports, \"listCallerAccessGrants\", { enumerable: true, get: function () { return listCallerAccessGrants_1.listCallerAccessGrants; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,aAAa,GAAG,MAAM;AAC/D,IAAI,eAAe,GAAG,OAAO,CAAC,4BAA4B,CAAC;AAC3D,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;AACjI,IAAI,wBAAwB,GAAG,OAAO,CAAC,qCAAqC,CAAC;AAC7E,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,wBAAwB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,wBAAwB,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"listCallerAccessGrants.js","sources":["../../../../../../../src/providers/s3/utils/client/s3control/listCallerAccessGrants.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.listCallerAccessGrants = void 0;\nconst aws_client_utils_1 = require(\"@aws-amplify/core/internals/aws-client-utils\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst composers_1 = require(\"@aws-amplify/core/internals/aws-client-utils/composers\");\nconst utils_2 = require(\"../utils\");\nconst deserializeHelpers_1 = require(\"../utils/deserializeHelpers\");\nconst base_1 = require(\"./base\");\nconst listCallerAccessGrantsSerializer = (input, endpoint) => {\n const headers = (0, utils_2.assignStringVariables)({\n 'x-amz-account-id': input.AccountId,\n });\n const query = (0, utils_2.assignStringVariables)({\n grantscope: input.GrantScope,\n maxResults: input.MaxResults,\n nextToken: input.NextToken,\n allowedByApplication: input.AllowedByApplication,\n });\n const url = new utils_1.AmplifyUrl(endpoint.url.toString());\n url.search = new utils_1.AmplifyUrlSearchParams(query).toString();\n // Ref: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListCallerAccessGrants.html\n url.pathname = '/v20180820/accessgrantsinstance/caller/grants';\n return {\n method: 'GET',\n headers,\n url,\n };\n};\nconst listCallerAccessGrantsDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n // error is always set when statusCode >= 300\n throw (0, utils_2.buildStorageServiceError)((await (0, base_1.parseXmlError)(response)));\n }\n else {\n const parsed = await (0, utils_2.parseXmlBody)(response);\n const contents = (0, utils_2.map)(parsed, {\n CallerAccessGrantsList: [\n 'CallerAccessGrantsList',\n value => (0, utils_2.emptyArrayGuard)(value.AccessGrant, deserializeAccessGrantsList),\n ],\n NextToken: 'NextToken',\n });\n return {\n $metadata: (0, aws_client_utils_1.parseMetadata)(response),\n ...contents,\n };\n }\n};\nconst deserializeAccessGrantsList = (output) => output.map(deserializeCallerAccessGrant);\nconst deserializeCallerAccessGrant = (output) => (0, utils_2.map)(output, {\n ApplicationArn: 'ApplicationArn',\n GrantScope: 'GrantScope',\n Permission: [\n 'Permission',\n (0, deserializeHelpers_1.createStringEnumDeserializer)(['READ', 'READWRITE', 'WRITE'], 'Permission'),\n ],\n});\nexports.listCallerAccessGrants = (0, composers_1.composeServiceApi)(utils_2.s3TransferHandler, listCallerAccessGrantsSerializer, listCallerAccessGrantsDeserializer, { ...base_1.defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listCallerAccessGrants.js","sources":["../../../../../../../src/providers/s3/utils/client/s3control/listCallerAccessGrants.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.listCallerAccessGrants = void 0;\nconst aws_client_utils_1 = require(\"@aws-amplify/core/internals/aws-client-utils\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst composers_1 = require(\"@aws-amplify/core/internals/aws-client-utils/composers\");\nconst utils_2 = require(\"../utils\");\nconst deserializeHelpers_1 = require(\"../utils/deserializeHelpers\");\nconst base_1 = require(\"./base\");\nconst listCallerAccessGrantsSerializer = (input, endpoint) => {\n const headers = (0, utils_2.assignStringVariables)({\n 'x-amz-account-id': input.AccountId,\n });\n const query = (0, utils_2.assignStringVariables)({\n grantscope: input.GrantScope,\n maxResults: input.MaxResults,\n nextToken: input.NextToken,\n allowedByApplication: input.AllowedByApplication,\n });\n const url = new utils_1.AmplifyUrl(endpoint.url.toString());\n url.search = new utils_1.AmplifyUrlSearchParams(query).toString();\n // Ref: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListCallerAccessGrants.html\n url.pathname = '/v20180820/accessgrantsinstance/caller/grants';\n return {\n method: 'GET',\n headers,\n url,\n };\n};\nconst listCallerAccessGrantsDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n // error is always set when statusCode >= 300\n throw (0, utils_2.buildStorageServiceError)((await (0, base_1.parseXmlError)(response)));\n }\n else {\n const parsed = await (0, utils_2.parseXmlBody)(response);\n const contents = (0, utils_2.map)(parsed, {\n CallerAccessGrantsList: [\n 'CallerAccessGrantsList',\n value => (0, utils_2.emptyArrayGuard)(value.AccessGrant, deserializeAccessGrantsList),\n ],\n NextToken: 'NextToken',\n });\n return {\n $metadata: (0, aws_client_utils_1.parseMetadata)(response),\n ...contents,\n };\n }\n};\nconst deserializeAccessGrantsList = (output) => output.map(deserializeCallerAccessGrant);\nconst deserializeCallerAccessGrant = (output) => (0, utils_2.map)(output, {\n ApplicationArn: 'ApplicationArn',\n GrantScope: 'GrantScope',\n Permission: [\n 'Permission',\n (0, deserializeHelpers_1.createStringEnumDeserializer)(['READ', 'READWRITE', 'WRITE'], 'Permission'),\n ],\n});\nexports.listCallerAccessGrants = (0, composers_1.composeServiceApi)(utils_2.s3TransferHandler, listCallerAccessGrantsSerializer, listCallerAccessGrantsDeserializer, { ...base_1.defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,sBAAsB,GAAG,MAAM;AACvC,MAAM,kBAAkB,GAAG,OAAO,CAAC,8CAA8C,CAAC;AAClF,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC;AAC5D,MAAM,WAAW,GAAG,OAAO,CAAC,wDAAwD,CAAC;AACrF,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;AACnC,MAAM,oBAAoB,GAAG,OAAO,CAAC,6BAA6B,CAAC;AACnE,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;AAChC,MAAM,gCAAgC,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK;AAC9D,IAAI,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,qBAAqB,EAAE;AACvD,QAAQ,kBAAkB,EAAE,KAAK,CAAC,SAAS;AAC3C,KAAK,CAAC;AACN,IAAI,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,qBAAqB,EAAE;AACrD,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU;AACpC,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU;AACpC,QAAQ,SAAS,EAAE,KAAK,CAAC,SAAS;AAClC,QAAQ,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;AACxD,KAAK,CAAC;AACN,IAAI,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC/D,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;AACrE;AACA,IAAI,GAAG,CAAC,QAAQ,GAAG,+CAA+C;AAClE,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,KAAK;AACL,CAAC;AACD,MAAM,kCAAkC,GAAG,OAAO,QAAQ,KAAK;AAC/D,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC;AACA,QAAQ,MAAM,IAAI,OAAO,CAAC,wBAAwB,GAAG,MAAM,IAAI,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE;AAChG,IAAI;AACJ,SAAS;AACT,QAAQ,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC;AAChE,QAAQ,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE;AAClD,YAAY,sBAAsB,EAAE;AACpC,gBAAgB,wBAAwB;AACxC,gBAAgB,KAAK,IAAI,IAAI,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,WAAW,EAAE,2BAA2B,CAAC;AACrG,aAAa;AACb,YAAY,SAAS,EAAE,WAAW;AAClC,SAAS,CAAC;AACV,QAAQ,OAAO;AACf,YAAY,SAAS,EAAE,IAAI,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC;AACtE,YAAY,GAAG,QAAQ;AACvB,SAAS;AACT,IAAI;AACJ,CAAC;AACD,MAAM,2BAA2B,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC;AACxF,MAAM,4BAA4B,GAAG,CAAC,MAAM,KAAK,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE;AAC1E,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,UAAU,EAAE;AAChB,QAAQ,YAAY;AACpB,QAAQ,IAAI,oBAAoB,CAAC,4BAA4B,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC;AAC5G,KAAK;AACL,CAAC,CAAC;AACF,OAAO,CAAC,sBAAsB,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,gCAAgC,EAAE,kCAAkC,EAAE,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"abortMultipartUpload.js","sources":["../../../../../../../src/providers/s3/utils/client/s3data/abortMultipartUpload.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.abortMultipartUpload = void 0;\nconst aws_client_utils_1 = require(\"@aws-amplify/core/internals/aws-client-utils\");\nconst composers_1 = require(\"@aws-amplify/core/internals/aws-client-utils/composers\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst utils_2 = require(\"../utils\");\nconst validateObjectUrl_1 = require(\"../../validateObjectUrl\");\nconst base_1 = require(\"./base\");\nconst abortMultipartUploadSerializer = (input, endpoint) => {\n const url = new utils_1.AmplifyUrl(endpoint.url.toString());\n (0, utils_2.validateS3RequiredParameter)(!!input.Key, 'Key');\n url.pathname = (0, utils_2.serializePathnameObjectKey)(url, input.Key);\n (0, utils_2.validateS3RequiredParameter)(!!input.UploadId, 'UploadId');\n url.search = new utils_1.AmplifyUrlSearchParams({\n 'x-id': 'AbortMultipartUpload',\n uploadId: input.UploadId,\n }).toString();\n (0, validateObjectUrl_1.validateObjectUrl)({\n bucketName: input.Bucket,\n key: input.Key,\n objectURL: url,\n });\n const headers = {\n ...(0, utils_2.assignStringVariables)({\n 'x-amz-expected-bucket-owner': input.ExpectedBucketOwner,\n }),\n };\n return {\n method: 'DELETE',\n headers,\n url,\n };\n};\nconst abortMultipartUploadDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n // error is always set when statusCode >= 300\n throw (0, utils_2.buildStorageServiceError)((await (0, base_1.parseXmlError)(response)));\n }\n else {\n return {\n $metadata: (0, aws_client_utils_1.parseMetadata)(response),\n };\n }\n};\nexports.abortMultipartUpload = (0, composers_1.composeServiceApi)(utils_2.s3TransferHandler, abortMultipartUploadSerializer, abortMultipartUploadDeserializer, { ...base_1.defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,oBAAoB,GAAG,MAAM;AACrC,MAAM,kBAAkB,GAAG,OAAO,CAAC,8CAA8C,CAAC;AAClF,MAAM,WAAW,GAAG,OAAO,CAAC,wDAAwD,CAAC;AACrF,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC;AAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;AACnC,MAAM,mBAAmB,GAAG,OAAO,CAAC,yBAAyB,CAAC;AAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;AAChC,MAAM,8BAA8B,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK;AAC5D,IAAI,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC/D,IAAI,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC;AAChE,IAAI,GAAG,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,0BAA0B,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;AAC1E,IAAI,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC;AAC1E,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,sBAAsB,CAAC;AACpD,QAAQ,MAAM,EAAE,sBAAsB;AACtC,QAAQ,QAAQ,EAAE,KAAK,CAAC,QAAQ;AAChC,KAAK,CAAC,CAAC,QAAQ,EAAE;AACjB,IAAI,IAAI,mBAAmB,CAAC,iBAAiB,EAAE;AAC/C,QAAQ,UAAU,EAAE,KAAK,CAAC,MAAM;AAChC,QAAQ,GAAG,EAAE,KAAK,CAAC,GAAG;AACtB,QAAQ,SAAS,EAAE,GAAG;AACtB,KAAK,CAAC;AACN,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,GAAG,IAAI,OAAO,CAAC,qBAAqB,EAAE;AAC9C,YAAY,6BAA6B,EAAE,KAAK,CAAC,mBAAmB;AACpE,SAAS,CAAC;AACV,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,QAAQ;AACxB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,KAAK;AACL,CAAC;AACD,MAAM,gCAAgC,GAAG,OAAO,QAAQ,KAAK;AAC7D,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC;AACA,QAAQ,MAAM,IAAI,OAAO,CAAC,wBAAwB,GAAG,MAAM,IAAI,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE;AAChG;AACA,SAAS;AACT,QAAQ,OAAO;AACf,YAAY,SAAS,EAAE,IAAI,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC;AACtE,SAAS;AACT;AACA,CAAC;AACD,OAAO,CAAC,oBAAoB,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,8BAA8B,EAAE,gCAAgC,EAAE,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;;"}
1
+ {"version":3,"file":"abortMultipartUpload.js","sources":["../../../../../../../src/providers/s3/utils/client/s3data/abortMultipartUpload.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.abortMultipartUpload = void 0;\nconst aws_client_utils_1 = require(\"@aws-amplify/core/internals/aws-client-utils\");\nconst composers_1 = require(\"@aws-amplify/core/internals/aws-client-utils/composers\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst utils_2 = require(\"../utils\");\nconst validateObjectUrl_1 = require(\"../../validateObjectUrl\");\nconst base_1 = require(\"./base\");\nconst abortMultipartUploadSerializer = (input, endpoint) => {\n const url = new utils_1.AmplifyUrl(endpoint.url.toString());\n (0, utils_2.validateS3RequiredParameter)(!!input.Key, 'Key');\n url.pathname = (0, utils_2.serializePathnameObjectKey)(url, input.Key);\n (0, utils_2.validateS3RequiredParameter)(!!input.UploadId, 'UploadId');\n url.search = new utils_1.AmplifyUrlSearchParams({\n 'x-id': 'AbortMultipartUpload',\n uploadId: input.UploadId,\n }).toString();\n (0, validateObjectUrl_1.validateObjectUrl)({\n bucketName: input.Bucket,\n key: input.Key,\n objectURL: url,\n });\n const headers = {\n ...(0, utils_2.assignStringVariables)({\n 'x-amz-expected-bucket-owner': input.ExpectedBucketOwner,\n }),\n };\n return {\n method: 'DELETE',\n headers,\n url,\n };\n};\nconst abortMultipartUploadDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n // error is always set when statusCode >= 300\n throw (0, utils_2.buildStorageServiceError)((await (0, base_1.parseXmlError)(response)));\n }\n else {\n return {\n $metadata: (0, aws_client_utils_1.parseMetadata)(response),\n };\n }\n};\nexports.abortMultipartUpload = (0, composers_1.composeServiceApi)(utils_2.s3TransferHandler, abortMultipartUploadSerializer, abortMultipartUploadDeserializer, { ...base_1.defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,oBAAoB,GAAG,MAAM;AACrC,MAAM,kBAAkB,GAAG,OAAO,CAAC,8CAA8C,CAAC;AAClF,MAAM,WAAW,GAAG,OAAO,CAAC,wDAAwD,CAAC;AACrF,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC;AAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;AACnC,MAAM,mBAAmB,GAAG,OAAO,CAAC,yBAAyB,CAAC;AAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;AAChC,MAAM,8BAA8B,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK;AAC5D,IAAI,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC/D,IAAI,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC;AAChE,IAAI,GAAG,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,0BAA0B,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;AAC1E,IAAI,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC;AAC1E,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,sBAAsB,CAAC;AACpD,QAAQ,MAAM,EAAE,sBAAsB;AACtC,QAAQ,QAAQ,EAAE,KAAK,CAAC,QAAQ;AAChC,KAAK,CAAC,CAAC,QAAQ,EAAE;AACjB,IAAI,IAAI,mBAAmB,CAAC,iBAAiB,EAAE;AAC/C,QAAQ,UAAU,EAAE,KAAK,CAAC,MAAM;AAChC,QAAQ,GAAG,EAAE,KAAK,CAAC,GAAG;AACtB,QAAQ,SAAS,EAAE,GAAG;AACtB,KAAK,CAAC;AACN,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,GAAG,IAAI,OAAO,CAAC,qBAAqB,EAAE;AAC9C,YAAY,6BAA6B,EAAE,KAAK,CAAC,mBAAmB;AACpE,SAAS,CAAC;AACV,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,QAAQ;AACxB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,KAAK;AACL,CAAC;AACD,MAAM,gCAAgC,GAAG,OAAO,QAAQ,KAAK;AAC7D,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC;AACA,QAAQ,MAAM,IAAI,OAAO,CAAC,wBAAwB,GAAG,MAAM,IAAI,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE;AAChG,IAAI;AACJ,SAAS;AACT,QAAQ,OAAO;AACf,YAAY,SAAS,EAAE,IAAI,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC;AACtE,SAAS;AACT,IAAI;AACJ,CAAC;AACD,OAAO,CAAC,oBAAoB,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,8BAA8B,EAAE,gCAAgC,EAAE,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;;"}