@aws-amplify/storage 5.9.2 → 6.0.1-console-preview.f63250a.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/README.md +3 -0
  2. package/lib/AwsClients/S3/abortMultipartUpload.d.ts +14 -14
  3. package/lib/AwsClients/S3/abortMultipartUpload.js +2 -0
  4. package/lib/AwsClients/S3/base.d.ts +1 -1
  5. package/lib/AwsClients/S3/completeMultipartUpload.d.ts +14 -14
  6. package/lib/AwsClients/S3/completeMultipartUpload.js +6 -0
  7. package/lib/AwsClients/S3/copyObject.d.ts +14 -14
  8. package/lib/AwsClients/S3/copyObject.js +1 -0
  9. package/lib/AwsClients/S3/createMultipartUpload.d.ts +14 -14
  10. package/lib/AwsClients/S3/createMultipartUpload.js +1 -0
  11. package/lib/AwsClients/S3/deleteObject.d.ts +14 -14
  12. package/lib/AwsClients/S3/deleteObject.js +3 -1
  13. package/lib/AwsClients/S3/getObject.d.ts +17 -17
  14. package/lib/AwsClients/S3/getObject.js +25 -24
  15. package/lib/AwsClients/S3/headObject.d.ts +16 -16
  16. package/lib/AwsClients/S3/headObject.js +12 -14
  17. package/lib/AwsClients/S3/listObjectsV2.d.ts +14 -14
  18. package/lib/AwsClients/S3/listObjectsV2.js +3 -2
  19. package/lib/AwsClients/S3/listParts.d.ts +14 -14
  20. package/lib/AwsClients/S3/listParts.js +2 -0
  21. package/lib/AwsClients/S3/putObject.d.ts +14 -14
  22. package/lib/AwsClients/S3/putObject.js +1 -0
  23. package/lib/AwsClients/S3/runtime/xhrTransferHandler.d.ts +1 -1
  24. package/lib/AwsClients/S3/runtime/xhrTransferHandler.js +3 -1
  25. package/lib/AwsClients/S3/uploadPart.d.ts +14 -14
  26. package/lib/AwsClients/S3/uploadPart.js +3 -0
  27. package/lib/AwsClients/S3/utils/deserializeHelpers.d.ts +3 -3
  28. package/lib/AwsClients/S3/utils/index.d.ts +1 -1
  29. package/lib/AwsClients/S3/utils/index.js +2 -1
  30. package/lib/AwsClients/S3/utils/serializeHelpers.d.ts +1 -0
  31. package/lib/AwsClients/S3/utils/serializeHelpers.js +14 -1
  32. package/lib/Storage.js +1 -0
  33. package/lib/common/S3ClientUtils.d.ts +3 -3
  34. package/lib/common/StorageUtils.d.ts +1 -1
  35. package/lib/errors/StorageError.d.ts +5 -0
  36. package/lib/errors/StorageError.js +44 -0
  37. package/lib/errors/types/validation.d.ts +10 -0
  38. package/lib/errors/types/validation.js +35 -0
  39. package/lib/errors/utils/assertValidationError.d.ts +2 -0
  40. package/lib/errors/utils/assertValidationError.js +14 -0
  41. package/lib/internals/InternalStorage.d.ts +4 -3
  42. package/lib/internals/InternalStorage.js +1 -1
  43. package/lib/providers/AWSS3Provider.d.ts +2 -1
  44. package/lib/providers/AWSS3Provider.js +60 -75
  45. package/lib/providers/AWSS3ProviderManagedUpload.d.ts +4 -3
  46. package/lib/providers/AWSS3ProviderManagedUpload.js +0 -2
  47. package/lib/providers/AWSS3UploadTask.d.ts +1 -1
  48. package/lib/providers/AWSS3UploadTask.js +3 -1
  49. package/lib/providers/s3/apis/copy.d.ts +1 -0
  50. package/lib/providers/s3/apis/copy.js +4 -0
  51. package/lib/providers/s3/apis/downloadData.d.ts +3 -0
  52. package/lib/providers/s3/apis/downloadData.js +4 -0
  53. package/lib/providers/s3/apis/downloadFile.d.ts +3 -0
  54. package/lib/providers/s3/apis/downloadFile.js +4 -0
  55. package/lib/providers/s3/apis/getProperties.d.ts +12 -0
  56. package/lib/providers/s3/apis/getProperties.js +97 -0
  57. package/lib/providers/s3/apis/getUrl.d.ts +15 -0
  58. package/lib/providers/s3/apis/getUrl.js +119 -0
  59. package/lib/providers/s3/apis/index.d.ts +9 -0
  60. package/lib/providers/s3/apis/index.js +23 -0
  61. package/lib/providers/s3/apis/list.d.ts +23 -0
  62. package/lib/providers/s3/apis/list.js +171 -0
  63. package/lib/providers/s3/apis/remove.d.ts +9 -0
  64. package/lib/providers/s3/apis/remove.js +89 -0
  65. package/lib/providers/s3/apis/uploadData.d.ts +3 -0
  66. package/lib/providers/s3/apis/uploadData.js +4 -0
  67. package/lib/providers/s3/apis/uploadFile.d.ts +3 -0
  68. package/lib/providers/s3/apis/uploadFile.js +4 -0
  69. package/lib/providers/s3/index.d.ts +1 -0
  70. package/lib/providers/s3/index.js +19 -0
  71. package/lib/providers/s3/types/errors.d.ts +5 -0
  72. package/lib/providers/s3/types/errors.js +11 -0
  73. package/lib/providers/s3/types/index.d.ts +3 -0
  74. package/lib/providers/s3/types/index.js +7 -0
  75. package/lib/providers/s3/types/options.d.ts +53 -0
  76. package/lib/providers/s3/types/options.js +4 -0
  77. package/lib/providers/s3/types/results.d.ts +22 -0
  78. package/lib/providers/s3/types/results.js +4 -0
  79. package/lib/providers/s3/utils/getKeyWithPrefix.d.ts +8 -0
  80. package/lib/providers/s3/utils/getKeyWithPrefix.js +17 -0
  81. package/lib/providers/s3/utils/index.d.ts +4 -0
  82. package/lib/providers/s3/utils/index.js +11 -0
  83. package/lib/providers/s3/utils/resolveCredentials.d.ts +9 -0
  84. package/lib/providers/s3/utils/resolveCredentials.js +63 -0
  85. package/lib/providers/s3/utils/resolveStorageConfig.d.ts +5 -0
  86. package/lib/providers/s3/utils/resolveStorageConfig.js +22 -0
  87. package/lib/tsconfig.tsbuildinfo +1 -1
  88. package/lib/types/AWSS3Provider.d.ts +1 -9
  89. package/lib/types/Provider.d.ts +8 -0
  90. package/lib/types/common.d.ts +20 -0
  91. package/lib/types/common.js +13 -0
  92. package/lib/types/index.d.ts +4 -0
  93. package/lib/types/params.d.ts +45 -0
  94. package/lib/types/params.js +5 -0
  95. package/lib/types/results.d.ts +48 -0
  96. package/lib/types/results.js +4 -0
  97. package/lib/utils/prefixResolver.d.ts +7 -0
  98. package/lib/utils/prefixResolver.js +22 -0
  99. package/lib-esm/AwsClients/S3/abortMultipartUpload.d.ts +14 -14
  100. package/lib-esm/AwsClients/S3/abortMultipartUpload.js +3 -1
  101. package/lib-esm/AwsClients/S3/base.d.ts +1 -1
  102. package/lib-esm/AwsClients/S3/completeMultipartUpload.d.ts +14 -14
  103. package/lib-esm/AwsClients/S3/completeMultipartUpload.js +7 -1
  104. package/lib-esm/AwsClients/S3/copyObject.d.ts +14 -14
  105. package/lib-esm/AwsClients/S3/copyObject.js +2 -1
  106. package/lib-esm/AwsClients/S3/createMultipartUpload.d.ts +14 -14
  107. package/lib-esm/AwsClients/S3/createMultipartUpload.js +2 -1
  108. package/lib-esm/AwsClients/S3/deleteObject.d.ts +14 -14
  109. package/lib-esm/AwsClients/S3/deleteObject.js +4 -2
  110. package/lib-esm/AwsClients/S3/getObject.d.ts +17 -17
  111. package/lib-esm/AwsClients/S3/getObject.js +26 -25
  112. package/lib-esm/AwsClients/S3/headObject.d.ts +16 -16
  113. package/lib-esm/AwsClients/S3/headObject.js +13 -15
  114. package/lib-esm/AwsClients/S3/listObjectsV2.d.ts +14 -14
  115. package/lib-esm/AwsClients/S3/listObjectsV2.js +4 -3
  116. package/lib-esm/AwsClients/S3/listParts.d.ts +14 -14
  117. package/lib-esm/AwsClients/S3/listParts.js +3 -1
  118. package/lib-esm/AwsClients/S3/putObject.d.ts +14 -14
  119. package/lib-esm/AwsClients/S3/putObject.js +2 -1
  120. package/lib-esm/AwsClients/S3/runtime/xhrTransferHandler.d.ts +1 -1
  121. package/lib-esm/AwsClients/S3/runtime/xhrTransferHandler.js +3 -1
  122. package/lib-esm/AwsClients/S3/uploadPart.d.ts +14 -14
  123. package/lib-esm/AwsClients/S3/uploadPart.js +4 -1
  124. package/lib-esm/AwsClients/S3/utils/deserializeHelpers.d.ts +3 -3
  125. package/lib-esm/AwsClients/S3/utils/index.d.ts +1 -1
  126. package/lib-esm/AwsClients/S3/utils/index.js +1 -1
  127. package/lib-esm/AwsClients/S3/utils/serializeHelpers.d.ts +1 -0
  128. package/lib-esm/AwsClients/S3/utils/serializeHelpers.js +12 -0
  129. package/lib-esm/Storage.js +1 -0
  130. package/lib-esm/common/S3ClientUtils.d.ts +3 -3
  131. package/lib-esm/common/StorageUtils.d.ts +1 -1
  132. package/lib-esm/errors/StorageError.d.ts +5 -0
  133. package/lib-esm/errors/StorageError.js +41 -0
  134. package/lib-esm/errors/types/validation.d.ts +10 -0
  135. package/lib-esm/errors/types/validation.js +32 -0
  136. package/lib-esm/errors/utils/assertValidationError.d.ts +2 -0
  137. package/lib-esm/errors/utils/assertValidationError.js +10 -0
  138. package/lib-esm/internals/InternalStorage.d.ts +4 -3
  139. package/lib-esm/internals/InternalStorage.js +1 -1
  140. package/lib-esm/providers/AWSS3Provider.d.ts +2 -1
  141. package/lib-esm/providers/AWSS3Provider.js +61 -76
  142. package/lib-esm/providers/AWSS3ProviderManagedUpload.d.ts +4 -3
  143. package/lib-esm/providers/AWSS3ProviderManagedUpload.js +0 -2
  144. package/lib-esm/providers/AWSS3UploadTask.d.ts +1 -1
  145. package/lib-esm/providers/AWSS3UploadTask.js +3 -1
  146. package/lib-esm/providers/s3/apis/copy.d.ts +1 -0
  147. package/lib-esm/providers/s3/apis/copy.js +3 -0
  148. package/lib-esm/providers/s3/apis/downloadData.d.ts +3 -0
  149. package/lib-esm/providers/s3/apis/downloadData.js +3 -0
  150. package/lib-esm/providers/s3/apis/downloadFile.d.ts +3 -0
  151. package/lib-esm/providers/s3/apis/downloadFile.js +3 -0
  152. package/lib-esm/providers/s3/apis/getProperties.d.ts +12 -0
  153. package/lib-esm/providers/s3/apis/getProperties.js +93 -0
  154. package/lib-esm/providers/s3/apis/getUrl.d.ts +15 -0
  155. package/lib-esm/providers/s3/apis/getUrl.js +115 -0
  156. package/lib-esm/providers/s3/apis/index.d.ts +9 -0
  157. package/lib-esm/providers/s3/apis/index.js +11 -0
  158. package/lib-esm/providers/s3/apis/list.d.ts +23 -0
  159. package/lib-esm/providers/s3/apis/list.js +167 -0
  160. package/lib-esm/providers/s3/apis/remove.d.ts +9 -0
  161. package/lib-esm/providers/s3/apis/remove.js +85 -0
  162. package/lib-esm/providers/s3/apis/uploadData.d.ts +3 -0
  163. package/lib-esm/providers/s3/apis/uploadData.js +3 -0
  164. package/lib-esm/providers/s3/apis/uploadFile.d.ts +3 -0
  165. package/lib-esm/providers/s3/apis/uploadFile.js +3 -0
  166. package/lib-esm/providers/s3/index.d.ts +1 -0
  167. package/lib-esm/providers/s3/index.js +3 -0
  168. package/lib-esm/providers/s3/types/errors.d.ts +5 -0
  169. package/lib-esm/providers/s3/types/errors.js +8 -0
  170. package/lib-esm/providers/s3/types/index.d.ts +3 -0
  171. package/lib-esm/providers/s3/types/index.js +3 -0
  172. package/lib-esm/providers/s3/types/options.d.ts +53 -0
  173. package/lib-esm/providers/s3/types/options.js +3 -0
  174. package/lib-esm/providers/s3/types/results.d.ts +22 -0
  175. package/lib-esm/providers/s3/types/results.js +3 -0
  176. package/lib-esm/providers/s3/utils/getKeyWithPrefix.d.ts +8 -0
  177. package/lib-esm/providers/s3/utils/getKeyWithPrefix.js +13 -0
  178. package/lib-esm/providers/s3/utils/index.d.ts +4 -0
  179. package/lib-esm/providers/s3/utils/index.js +6 -0
  180. package/lib-esm/providers/s3/utils/resolveCredentials.d.ts +9 -0
  181. package/lib-esm/providers/s3/utils/resolveCredentials.js +59 -0
  182. package/lib-esm/providers/s3/utils/resolveStorageConfig.d.ts +5 -0
  183. package/lib-esm/providers/s3/utils/resolveStorageConfig.js +18 -0
  184. package/lib-esm/tsconfig.tsbuildinfo +1 -1
  185. package/lib-esm/types/AWSS3Provider.d.ts +1 -9
  186. package/lib-esm/types/Provider.d.ts +8 -0
  187. package/lib-esm/types/common.d.ts +20 -0
  188. package/lib-esm/types/common.js +10 -0
  189. package/lib-esm/types/index.d.ts +4 -0
  190. package/lib-esm/types/params.d.ts +45 -0
  191. package/lib-esm/types/params.js +4 -0
  192. package/lib-esm/types/results.d.ts +48 -0
  193. package/lib-esm/types/results.js +3 -0
  194. package/lib-esm/utils/prefixResolver.d.ts +7 -0
  195. package/lib-esm/utils/prefixResolver.js +18 -0
  196. package/package.json +11 -8
  197. package/src/AwsClients/S3/abortMultipartUpload.ts +3 -0
  198. package/src/AwsClients/S3/completeMultipartUpload.ts +10 -3
  199. package/src/AwsClients/S3/copyObject.ts +2 -0
  200. package/src/AwsClients/S3/createMultipartUpload.ts +2 -0
  201. package/src/AwsClients/S3/deleteObject.ts +6 -2
  202. package/src/AwsClients/S3/getObject.ts +18 -26
  203. package/src/AwsClients/S3/headObject.ts +10 -6
  204. package/src/AwsClients/S3/listObjectsV2.ts +3 -2
  205. package/src/AwsClients/S3/listParts.ts +3 -0
  206. package/src/AwsClients/S3/putObject.ts +2 -0
  207. package/src/AwsClients/S3/runtime/s3TransferHandler/fetch.ts +6 -4
  208. package/src/AwsClients/S3/runtime/xhrTransferHandler.ts +4 -2
  209. package/src/AwsClients/S3/runtime/xmlParser/dom.ts +1 -1
  210. package/src/AwsClients/S3/uploadPart.ts +4 -0
  211. package/src/AwsClients/S3/utils/deserializeHelpers.ts +5 -6
  212. package/src/AwsClients/S3/utils/index.ts +1 -0
  213. package/src/AwsClients/S3/utils/serializeHelpers.ts +20 -1
  214. package/src/Storage.ts +4 -3
  215. package/src/common/StorageUtils.ts +5 -2
  216. package/src/errors/StorageError.ts +24 -0
  217. package/src/errors/types/validation.ts +35 -0
  218. package/src/errors/utils/assertValidationError.ts +19 -0
  219. package/src/internals/InternalStorage.ts +7 -6
  220. package/src/providers/AWSS3Provider.ts +31 -55
  221. package/src/providers/AWSS3ProviderManagedUpload.ts +11 -10
  222. package/src/providers/AWSS3UploadTask.ts +22 -16
  223. package/src/providers/s3/apis/copy.ts +5 -0
  224. package/src/providers/s3/apis/downloadData.ts +10 -0
  225. package/src/providers/s3/apis/downloadFile.ts +10 -0
  226. package/src/providers/s3/apis/getProperties.ts +62 -0
  227. package/src/providers/s3/apis/getUrl.ts +86 -0
  228. package/src/providers/s3/apis/index.ts +12 -0
  229. package/src/providers/s3/apis/list.ts +137 -0
  230. package/src/providers/s3/apis/remove.ts +61 -0
  231. package/src/providers/s3/apis/uploadData.ts +10 -0
  232. package/src/providers/s3/apis/uploadFile.ts +10 -0
  233. package/src/providers/s3/index.ts +4 -0
  234. package/src/providers/s3/types/errors.ts +8 -0
  235. package/src/providers/s3/types/index.ts +16 -0
  236. package/src/providers/s3/types/options.ts +59 -0
  237. package/src/providers/s3/types/results.ts +41 -0
  238. package/src/providers/s3/utils/getKeyWithPrefix.ts +26 -0
  239. package/src/providers/s3/utils/index.ts +8 -0
  240. package/src/providers/s3/utils/resolveCredentials.ts +20 -0
  241. package/src/providers/s3/utils/resolveStorageConfig.ts +21 -0
  242. package/src/types/AWSS3Provider.ts +0 -9
  243. package/src/types/Provider.ts +22 -9
  244. package/src/types/common.ts +29 -0
  245. package/src/types/index.ts +23 -0
  246. package/src/types/params.ts +68 -0
  247. package/src/types/results.ts +59 -0
  248. package/src/utils/prefixResolver.ts +32 -0
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ > INTERNAL USE ONLY
2
+
3
+ This package contains the AWS Amplify Storage category and is intended for internal use only. To integrate Amplify into your app, please use [aws-amplify](https://www.npmjs.com/package/aws-amplify).
@@ -4,18 +4,18 @@ import { MetadataBearer } from '@aws-sdk/types';
4
4
  import type { AbortMultipartUploadCommandInput } from './types';
5
5
  export type AbortMultipartUploadInput = Pick<AbortMultipartUploadCommandInput, 'Bucket' | 'Key' | 'UploadId'>;
6
6
  export type AbortMultipartUploadOutput = MetadataBearer;
7
- export declare const abortMultipartUpload: (config: Omit<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions & Partial<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions>, "region" | "maxAttempts" | "credentials" | "retryDecider" | "computeDelay" | "abortSignal" | "service" | "uriEscapePath" | "endpointResolver" | "emitter" | "responseType" | "userAgentHeader" | "userAgentValue"> & {
8
- region?: string;
9
- maxAttempts?: number;
10
- credentials?: import("@aws-sdk/types").Credentials | (() => Promise<import("@aws-sdk/types").Credentials>);
11
- retryDecider?: (response?: HttpResponse, error?: unknown) => Promise<boolean>;
12
- computeDelay?: (attempt: number) => number;
13
- abortSignal?: AbortSignal;
14
- service?: string;
15
- uriEscapePath?: boolean;
16
- endpointResolver?: (options: import("@aws-amplify/core/internals/aws-client-utils").EndpointResolverOptions, input?: any) => Endpoint;
17
- emitter?: import("events").EventEmitter;
18
- responseType?: "blob" | "text";
19
- userAgentHeader?: string;
20
- userAgentValue?: string;
7
+ export declare const abortMultipartUpload: (config: Omit<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions & Partial<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions>, "region" | "maxAttempts" | "credentials" | "retryDecider" | "computeDelay" | "abortSignal" | "service" | "uriEscapePath" | "endpointResolver" | "userAgentHeader" | "userAgentValue" | "emitter" | "responseType"> & {
8
+ region?: string | undefined;
9
+ maxAttempts?: number | undefined;
10
+ credentials?: ((import("@aws-sdk/types").Credentials | (() => Promise<import("@aws-sdk/types").Credentials>)) & (import("@aws-sdk/types").Credentials | (() => Promise<import("@aws-sdk/types").Credentials>) | undefined)) | undefined;
11
+ retryDecider?: ((response?: HttpResponse | undefined, error?: unknown) => Promise<boolean>) | undefined;
12
+ computeDelay?: ((attempt: number) => number) | undefined;
13
+ abortSignal?: AbortSignal | undefined;
14
+ service?: string | undefined;
15
+ uriEscapePath?: boolean | undefined;
16
+ endpointResolver?: ((options: import("@aws-amplify/core/internals/aws-client-utils").EndpointResolverOptions, input?: any) => Endpoint) | undefined;
17
+ userAgentHeader?: string | undefined;
18
+ userAgentValue?: string | undefined;
19
+ emitter?: import("events").EventEmitter | undefined;
20
+ responseType?: "blob" | "text" | undefined;
21
21
  }, input: AbortMultipartUploadInput) => Promise<MetadataBearer>;
@@ -56,7 +56,9 @@ var base_1 = require("./base");
56
56
  var utils_1 = require("./utils");
57
57
  var abortMultipartUploadSerializer = function (input, endpoint) {
58
58
  var url = new URL(endpoint.url.toString());
59
+ (0, utils_1.validateS3RequiredParameter)(!!input.Key, 'Key');
59
60
  url.pathname = (0, utils_1.serializePathnameObjectKey)(url, input.Key);
61
+ (0, utils_1.validateS3RequiredParameter)(!!input.UploadId, 'UploadId');
60
62
  url.search = new URLSearchParams({
61
63
  uploadId: input.UploadId,
62
64
  }).toString();
@@ -46,7 +46,7 @@ export declare const defaultConfig: {
46
46
  }) => {
47
47
  url: URL;
48
48
  };
49
- retryDecider: (response?: import("@aws-amplify/core/internals/aws-client-utils").HttpResponse, error?: Error) => Promise<boolean>;
49
+ retryDecider: (response?: import("@aws-amplify/core/internals/aws-client-utils").HttpResponse | undefined, error?: unknown) => Promise<boolean>;
50
50
  computeDelay: (attempt: number) => number;
51
51
  userAgentValue: string;
52
52
  useAccelerateEndpoint: boolean;
@@ -3,18 +3,18 @@ import { Endpoint, HttpResponse } from '@aws-amplify/core/internals/aws-client-u
3
3
  import type { CompleteMultipartUploadCommandInput, CompleteMultipartUploadCommandOutput } from './types';
4
4
  export type CompleteMultipartUploadInput = Pick<CompleteMultipartUploadCommandInput, 'Bucket' | 'Key' | 'UploadId' | 'MultipartUpload' | 'SSECustomerAlgorithm' | 'SSECustomerKey' | 'SSECustomerKeyMD5'>;
5
5
  export type CompleteMultipartUploadOutput = Pick<CompleteMultipartUploadCommandOutput, '$metadata' | 'Key' | 'ETag' | 'Location'>;
6
- export declare const completeMultipartUpload: (config: Omit<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions & Partial<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions>, "region" | "maxAttempts" | "credentials" | "retryDecider" | "computeDelay" | "abortSignal" | "service" | "uriEscapePath" | "endpointResolver" | "emitter" | "responseType" | "userAgentHeader" | "userAgentValue"> & {
7
- region?: string;
8
- maxAttempts?: number;
9
- credentials?: import("@aws-sdk/types/types/credentials").Credentials | (() => Promise<import("@aws-sdk/types/types/credentials").Credentials>);
10
- retryDecider?: (response?: HttpResponse, error?: unknown) => Promise<boolean>;
11
- computeDelay?: (attempt: number) => number;
12
- abortSignal?: AbortSignal;
13
- service?: string;
14
- uriEscapePath?: boolean;
15
- endpointResolver?: (options: import("@aws-amplify/core/internals/aws-client-utils").EndpointResolverOptions, input?: any) => Endpoint;
16
- emitter?: import("events").EventEmitter;
17
- responseType?: "blob" | "text";
18
- userAgentHeader?: string;
19
- userAgentValue?: string;
6
+ export declare const completeMultipartUpload: (config: Omit<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions & Partial<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions>, "region" | "maxAttempts" | "credentials" | "retryDecider" | "computeDelay" | "abortSignal" | "service" | "uriEscapePath" | "endpointResolver" | "userAgentHeader" | "userAgentValue" | "emitter" | "responseType"> & {
7
+ region?: string | undefined;
8
+ maxAttempts?: number | undefined;
9
+ credentials?: ((import("@aws-amplify/core/internals/aws-client-utils").Credentials | (() => Promise<import("@aws-amplify/core/internals/aws-client-utils").Credentials>)) & (import("@aws-amplify/core/internals/aws-client-utils").Credentials | (() => Promise<import("@aws-amplify/core/internals/aws-client-utils").Credentials>) | undefined)) | undefined;
10
+ retryDecider?: ((response?: HttpResponse | undefined, error?: unknown) => Promise<boolean>) | undefined;
11
+ computeDelay?: ((attempt: number) => number) | undefined;
12
+ abortSignal?: AbortSignal | undefined;
13
+ service?: string | undefined;
14
+ uriEscapePath?: boolean | undefined;
15
+ endpointResolver?: ((options: import("@aws-amplify/core/internals/aws-client-utils").EndpointResolverOptions, input?: any) => Endpoint) | undefined;
16
+ userAgentHeader?: string | undefined;
17
+ userAgentValue?: string | undefined;
18
+ emitter?: import("events").EventEmitter | undefined;
19
+ responseType?: "blob" | "text" | undefined;
20
20
  }, input: CompleteMultipartUploadInput) => Promise<CompleteMultipartUploadOutput>;
@@ -64,8 +64,11 @@ var completeMultipartUploadSerializer = function (input, endpoint) { return __aw
64
64
  headers = _a.sent();
65
65
  headers['content-type'] = 'application/xml';
66
66
  url = new URL(endpoint.url.toString());
67
+ (0, utils_1.validateS3RequiredParameter)(!!input.Key, 'Key');
67
68
  url.pathname = (0, utils_1.serializePathnameObjectKey)(url, input.Key);
69
+ (0, utils_1.validateS3RequiredParameter)(!!input.UploadId, 'UploadId');
68
70
  url.search = new URLSearchParams({ uploadId: input.UploadId }).toString();
71
+ (0, utils_1.validateS3RequiredParameter)(!!input.MultipartUpload, 'MultipartUpload');
69
72
  return [2 /*return*/, {
70
73
  method: 'POST',
71
74
  headers: headers,
@@ -142,6 +145,9 @@ var retryWhenErrorWith200StatusCode = function (response, error) { return __awai
142
145
  return __generator(this, function (_a) {
143
146
  switch (_a.label) {
144
147
  case 0:
148
+ if (!response) {
149
+ return [2 /*return*/, false];
150
+ }
145
151
  if (!(response.statusCode === 200)) return [3 /*break*/, 2];
146
152
  if (!response.body) {
147
153
  return [2 /*return*/, true];
@@ -7,18 +7,18 @@ import type { CopyObjectCommandInput } from './types';
7
7
  */
8
8
  export type CopyObjectInput = Pick<CopyObjectCommandInput, 'Bucket' | 'CopySource' | 'Key' | 'MetadataDirective' | 'CacheControl' | 'ContentType' | 'ContentDisposition' | 'ContentLanguage' | 'Expires' | 'ACL' | 'ServerSideEncryption' | 'SSECustomerAlgorithm' | 'SSECustomerKey' | 'SSECustomerKeyMD5' | 'SSEKMSKeyId' | 'Tagging' | 'Metadata'>;
9
9
  export type CopyObjectOutput = MetadataBearer;
10
- export declare const copyObject: (config: Omit<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions & Partial<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions>, "region" | "maxAttempts" | "credentials" | "retryDecider" | "computeDelay" | "abortSignal" | "service" | "uriEscapePath" | "endpointResolver" | "emitter" | "responseType" | "userAgentHeader" | "userAgentValue"> & {
11
- region?: string;
12
- maxAttempts?: number;
13
- credentials?: import("@aws-sdk/types").Credentials | (() => Promise<import("@aws-sdk/types").Credentials>);
14
- retryDecider?: (response?: HttpResponse, error?: unknown) => Promise<boolean>;
15
- computeDelay?: (attempt: number) => number;
16
- abortSignal?: AbortSignal;
17
- service?: string;
18
- uriEscapePath?: boolean;
19
- endpointResolver?: (options: import("@aws-amplify/core/internals/aws-client-utils").EndpointResolverOptions, input?: any) => Endpoint;
20
- emitter?: import("events").EventEmitter;
21
- responseType?: "blob" | "text";
22
- userAgentHeader?: string;
23
- userAgentValue?: string;
10
+ export declare const copyObject: (config: Omit<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions & Partial<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions>, "region" | "maxAttempts" | "credentials" | "retryDecider" | "computeDelay" | "abortSignal" | "service" | "uriEscapePath" | "endpointResolver" | "userAgentHeader" | "userAgentValue" | "emitter" | "responseType"> & {
11
+ region?: string | undefined;
12
+ maxAttempts?: number | undefined;
13
+ credentials?: ((import("@aws-sdk/types").Credentials | (() => Promise<import("@aws-sdk/types").Credentials>)) & (import("@aws-sdk/types").Credentials | (() => Promise<import("@aws-sdk/types").Credentials>) | undefined)) | undefined;
14
+ retryDecider?: ((response?: HttpResponse | undefined, error?: unknown) => Promise<boolean>) | undefined;
15
+ computeDelay?: ((attempt: number) => number) | undefined;
16
+ abortSignal?: AbortSignal | undefined;
17
+ service?: string | undefined;
18
+ uriEscapePath?: boolean | undefined;
19
+ endpointResolver?: ((options: import("@aws-amplify/core/internals/aws-client-utils").EndpointResolverOptions, input?: any) => Endpoint) | undefined;
20
+ userAgentHeader?: string | undefined;
21
+ userAgentValue?: string | undefined;
22
+ emitter?: import("events").EventEmitter | undefined;
23
+ responseType?: "blob" | "text" | undefined;
24
24
  }, input: CopyObjectInput) => Promise<MetadataBearer>;
@@ -67,6 +67,7 @@ var copyObjectSerializer = function (input, endpoint) { return __awaiter(void 0,
67
67
  'x-amz-metadata-directive': input.MetadataDirective,
68
68
  })]);
69
69
  url = new URL(endpoint.url.toString());
70
+ (0, utils_1.validateS3RequiredParameter)(!!input.Key, 'Key');
70
71
  url.pathname = (0, utils_1.serializePathnameObjectKey)(url, input.Key);
71
72
  return [2 /*return*/, {
72
73
  method: 'PUT',
@@ -4,18 +4,18 @@ import type { CreateMultipartUploadCommandInput, CreateMultipartUploadCommandOut
4
4
  import type { PutObjectInput } from './putObject';
5
5
  export type CreateMultipartUploadInput = Extract<CreateMultipartUploadCommandInput, PutObjectInput>;
6
6
  export type CreateMultipartUploadOutput = Pick<CreateMultipartUploadCommandOutput, 'UploadId' | '$metadata'>;
7
- export declare const createMultipartUpload: (config: Omit<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions & Partial<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions>, "region" | "maxAttempts" | "credentials" | "retryDecider" | "computeDelay" | "abortSignal" | "service" | "uriEscapePath" | "endpointResolver" | "emitter" | "responseType" | "userAgentHeader" | "userAgentValue"> & {
8
- region?: string;
9
- maxAttempts?: number;
10
- credentials?: import("@aws-sdk/types/types/credentials").Credentials | (() => Promise<import("@aws-sdk/types/types/credentials").Credentials>);
11
- retryDecider?: (response?: HttpResponse, error?: unknown) => Promise<boolean>;
12
- computeDelay?: (attempt: number) => number;
13
- abortSignal?: AbortSignal;
14
- service?: string;
15
- uriEscapePath?: boolean;
16
- endpointResolver?: (options: import("@aws-amplify/core/internals/aws-client-utils").EndpointResolverOptions, input?: any) => Endpoint;
17
- emitter?: import("events").EventEmitter;
18
- responseType?: "blob" | "text";
19
- userAgentHeader?: string;
20
- userAgentValue?: string;
7
+ export declare const createMultipartUpload: (config: Omit<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions & Partial<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions>, "region" | "maxAttempts" | "credentials" | "retryDecider" | "computeDelay" | "abortSignal" | "service" | "uriEscapePath" | "endpointResolver" | "userAgentHeader" | "userAgentValue" | "emitter" | "responseType"> & {
8
+ region?: string | undefined;
9
+ maxAttempts?: number | undefined;
10
+ credentials?: ((import("@aws-amplify/core/internals/aws-client-utils").Credentials | (() => Promise<import("@aws-amplify/core/internals/aws-client-utils").Credentials>)) & (import("@aws-amplify/core/internals/aws-client-utils").Credentials | (() => Promise<import("@aws-amplify/core/internals/aws-client-utils").Credentials>) | undefined)) | undefined;
11
+ retryDecider?: ((response?: HttpResponse | undefined, error?: unknown) => Promise<boolean>) | undefined;
12
+ computeDelay?: ((attempt: number) => number) | undefined;
13
+ abortSignal?: AbortSignal | undefined;
14
+ service?: string | undefined;
15
+ uriEscapePath?: boolean | undefined;
16
+ endpointResolver?: ((options: import("@aws-amplify/core/internals/aws-client-utils").EndpointResolverOptions, input?: any) => Endpoint) | undefined;
17
+ userAgentHeader?: string | undefined;
18
+ userAgentValue?: string | undefined;
19
+ emitter?: import("events").EventEmitter | undefined;
20
+ responseType?: "blob" | "text" | undefined;
21
21
  }, input: CreateMultipartUploadCommandInput) => Promise<CreateMultipartUploadOutput>;
@@ -62,6 +62,7 @@ var createMultipartUploadSerializer = function (input, endpoint) { return __awai
62
62
  case 1:
63
63
  headers = _a.sent();
64
64
  url = new URL(endpoint.url.toString());
65
+ (0, utils_1.validateS3RequiredParameter)(!!input.Key, 'Key');
65
66
  url.pathname = (0, utils_1.serializePathnameObjectKey)(url, input.Key);
66
67
  url.search = 'uploads';
67
68
  return [2 /*return*/, {
@@ -3,18 +3,18 @@ import { Endpoint, HttpResponse } from '@aws-amplify/core/internals/aws-client-u
3
3
  import type { DeleteObjectCommandInput, DeleteObjectCommandOutput } from './types';
4
4
  export type DeleteObjectInput = Pick<DeleteObjectCommandInput, 'Bucket' | 'Key'>;
5
5
  export type DeleteObjectOutput = DeleteObjectCommandOutput;
6
- export declare const deleteObject: (config: Omit<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions & Partial<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions>, "region" | "maxAttempts" | "credentials" | "retryDecider" | "computeDelay" | "abortSignal" | "service" | "uriEscapePath" | "endpointResolver" | "emitter" | "responseType" | "userAgentHeader" | "userAgentValue"> & {
7
- region?: string;
8
- maxAttempts?: number;
9
- credentials?: import("@aws-sdk/types/types/credentials").Credentials | (() => Promise<import("@aws-sdk/types/types/credentials").Credentials>);
10
- retryDecider?: (response?: HttpResponse, error?: unknown) => Promise<boolean>;
11
- computeDelay?: (attempt: number) => number;
12
- abortSignal?: AbortSignal;
13
- service?: string;
14
- uriEscapePath?: boolean;
15
- endpointResolver?: (options: import("@aws-amplify/core/internals/aws-client-utils").EndpointResolverOptions, input?: any) => Endpoint;
16
- emitter?: import("events").EventEmitter;
17
- responseType?: "blob" | "text";
18
- userAgentHeader?: string;
19
- userAgentValue?: string;
6
+ export declare const deleteObject: (config: Omit<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions & Partial<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions>, "region" | "maxAttempts" | "credentials" | "retryDecider" | "computeDelay" | "abortSignal" | "service" | "uriEscapePath" | "endpointResolver" | "userAgentHeader" | "userAgentValue" | "emitter" | "responseType"> & {
7
+ region?: string | undefined;
8
+ maxAttempts?: number | undefined;
9
+ credentials?: ((import("@aws-amplify/core/internals/aws-client-utils").Credentials | (() => Promise<import("@aws-amplify/core/internals/aws-client-utils").Credentials>)) & (import("@aws-amplify/core/internals/aws-client-utils").Credentials | (() => Promise<import("@aws-amplify/core/internals/aws-client-utils").Credentials>) | undefined)) | undefined;
10
+ retryDecider?: ((response?: HttpResponse | undefined, error?: unknown) => Promise<boolean>) | undefined;
11
+ computeDelay?: ((attempt: number) => number) | undefined;
12
+ abortSignal?: AbortSignal | undefined;
13
+ service?: string | undefined;
14
+ uriEscapePath?: boolean | undefined;
15
+ endpointResolver?: ((options: import("@aws-amplify/core/internals/aws-client-utils").EndpointResolverOptions, input?: any) => Endpoint) | undefined;
16
+ userAgentHeader?: string | undefined;
17
+ userAgentValue?: string | undefined;
18
+ emitter?: import("events").EventEmitter | undefined;
19
+ responseType?: "blob" | "text" | undefined;
20
20
  }, input: DeleteObjectInput) => Promise<DeleteObjectCommandOutput>;
@@ -52,10 +52,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
52
52
  exports.deleteObject = void 0;
53
53
  var aws_client_utils_1 = require("@aws-amplify/core/internals/aws-client-utils");
54
54
  var composers_1 = require("@aws-amplify/core/internals/aws-client-utils/composers");
55
+ var StorageError_1 = require("../../errors/StorageError");
55
56
  var base_1 = require("./base");
56
57
  var utils_1 = require("./utils");
57
58
  var deleteObjectSerializer = function (input, endpoint) {
58
59
  var url = new URL(endpoint.url.toString());
60
+ (0, utils_1.validateS3RequiredParameter)(!!input.Key, 'Key');
59
61
  url.pathname = (0, utils_1.serializePathnameObjectKey)(url, input.Key);
60
62
  return {
61
63
  method: 'DELETE',
@@ -72,7 +74,7 @@ var deleteObjectDeserializer = function (response) { return __awaiter(void 0, vo
72
74
  return [4 /*yield*/, (0, utils_1.parseXmlError)(response)];
73
75
  case 1:
74
76
  error = _a.sent();
75
- throw error;
77
+ throw StorageError_1.StorageError.fromServiceError(error, response.statusCode);
76
78
  case 2:
77
79
  content = (0, utils_1.map)(response.headers, {
78
80
  DeleteMarker: ['x-amz-delete-marker', utils_1.deserializeBoolean],
@@ -1,27 +1,27 @@
1
1
  /// <reference types="node" />
2
- import { Endpoint, UserAgentOptions, PresignUrlOptions } from '@aws-amplify/core/internals/aws-client-utils';
2
+ import { Endpoint, UserAgentOptions, PresignUrlOptions, HttpResponse } from '@aws-amplify/core/internals/aws-client-utils';
3
3
  import { S3EndpointResolverOptions } from './base';
4
4
  import type { GetObjectCommandInput, GetObjectCommandOutput } from './types';
5
- export type GetObjectInput = Pick<GetObjectCommandInput, 'Bucket' | 'Key' | 'ResponseCacheControl' | 'ResponseContentDisposition' | 'ResponseContentEncoding' | 'ResponseContentLanguage' | 'ResponseContentType' | 'SSECustomerAlgorithm' | 'SSECustomerKey' | 'SSECustomerKeyMD5'>;
5
+ export type GetObjectInput = Pick<GetObjectCommandInput, 'Bucket' | 'Key'>;
6
6
  export type GetObjectOutput = GetObjectCommandOutput;
7
- export declare const getObject: (config: Omit<UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<import("@aws-amplify/core/internals/aws-client-utils").HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions & Partial<UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<import("@aws-amplify/core/internals/aws-client-utils").HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions>, "region" | "maxAttempts" | "credentials" | "retryDecider" | "computeDelay" | "abortSignal" | "service" | "uriEscapePath" | "endpointResolver" | "emitter" | "responseType" | "userAgentHeader" | "userAgentValue"> & {
8
- region?: string;
9
- maxAttempts?: number;
10
- credentials?: import("@aws-sdk/types/types/credentials").Credentials | (() => Promise<import("@aws-sdk/types/types/credentials").Credentials>);
11
- retryDecider?: (response?: import("@aws-amplify/core/internals/aws-client-utils").HttpResponse, error?: unknown) => Promise<boolean>;
12
- computeDelay?: (attempt: number) => number;
13
- abortSignal?: AbortSignal;
14
- service?: string;
15
- uriEscapePath?: boolean;
16
- endpointResolver?: (options: import("@aws-amplify/core/internals/aws-client-utils").EndpointResolverOptions, input?: any) => Endpoint;
17
- emitter?: import("events").EventEmitter;
18
- responseType?: "blob" | "text";
19
- userAgentHeader?: string;
20
- userAgentValue?: string;
7
+ export declare const getObject: (config: Omit<UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions & Partial<UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions>, "region" | "maxAttempts" | "credentials" | "retryDecider" | "computeDelay" | "abortSignal" | "service" | "uriEscapePath" | "endpointResolver" | "userAgentHeader" | "userAgentValue" | "emitter" | "responseType"> & {
8
+ region?: string | undefined;
9
+ maxAttempts?: number | undefined;
10
+ credentials?: ((import("@aws-amplify/core/internals/aws-client-utils").Credentials | (() => Promise<import("@aws-amplify/core/internals/aws-client-utils").Credentials>)) & (import("@aws-amplify/core/internals/aws-client-utils").Credentials | (() => Promise<import("@aws-amplify/core/internals/aws-client-utils").Credentials>) | undefined)) | undefined;
11
+ retryDecider?: ((response?: HttpResponse | undefined, error?: unknown) => Promise<boolean>) | undefined;
12
+ computeDelay?: ((attempt: number) => number) | undefined;
13
+ abortSignal?: AbortSignal | undefined;
14
+ service?: string | undefined;
15
+ uriEscapePath?: boolean | undefined;
16
+ endpointResolver?: ((options: import("@aws-amplify/core/internals/aws-client-utils").EndpointResolverOptions, input?: any) => Endpoint) | undefined;
17
+ userAgentHeader?: string | undefined;
18
+ userAgentValue?: string | undefined;
19
+ emitter?: import("events").EventEmitter | undefined;
20
+ responseType?: "blob" | "text" | undefined;
21
21
  }, input: GetObjectInput) => Promise<GetObjectCommandOutput>;
22
22
  /**
23
23
  * Get a presigned URL for the `getObject` API.
24
24
  *
25
25
  * @internal
26
26
  */
27
- export declare const getPresignedGetObjectUrl: (config: UserAgentOptions & PresignUrlOptions & S3EndpointResolverOptions, input: GetObjectInput) => Promise<string>;
27
+ export declare const getPresignedGetObjectUrl: (config: UserAgentOptions & PresignUrlOptions & S3EndpointResolverOptions, input: GetObjectInput) => Promise<URL>;
@@ -83,28 +83,24 @@ var core_1 = require("@aws-amplify/core");
83
83
  var base_1 = require("./base");
84
84
  var utils_1 = require("./utils");
85
85
  var getObjectSerializer = function (input, endpoint) { return __awaiter(void 0, void 0, void 0, function () {
86
- var headers, query, url;
86
+ var query, url;
87
87
  return __generator(this, function (_a) {
88
- switch (_a.label) {
89
- case 0: return [4 /*yield*/, (0, utils_1.serializeObjectSsecOptionsToHeaders)(input)];
90
- case 1:
91
- headers = _a.sent();
92
- query = (0, utils_1.map)(input, {
93
- 'response-cache-control': 'ResponseCacheControl',
94
- 'response-content-disposition': 'ResponseContentDisposition',
95
- 'response-content-encoding': 'ResponseContentEncoding',
96
- 'response-content-language': 'ResponseContentLanguage',
97
- 'response-content-type': 'ResponseContentType',
98
- });
99
- url = new URL(endpoint.url.toString());
100
- url.pathname = (0, utils_1.serializePathnameObjectKey)(url, input.Key);
101
- url.search = new URLSearchParams(query).toString();
102
- return [2 /*return*/, {
103
- method: 'GET',
104
- headers: headers,
105
- url: url,
106
- }];
107
- }
88
+ query = (0, utils_1.map)(input, {
89
+ 'response-cache-control': 'ResponseCacheControl',
90
+ 'response-content-disposition': 'ResponseContentDisposition',
91
+ 'response-content-encoding': 'ResponseContentEncoding',
92
+ 'response-content-language': 'ResponseContentLanguage',
93
+ 'response-content-type': 'ResponseContentType',
94
+ });
95
+ url = new URL(endpoint.url.toString());
96
+ (0, utils_1.validateS3RequiredParameter)(!!input.Key, 'Key');
97
+ url.pathname = (0, utils_1.serializePathnameObjectKey)(url, input.Key);
98
+ url.search = new URLSearchParams(query).toString();
99
+ return [2 /*return*/, {
100
+ method: 'GET',
101
+ headers: {},
102
+ url: url,
103
+ }];
108
104
  });
109
105
  }); };
110
106
  var getObjectDeserializer = function (response) { return __awaiter(void 0, void 0, void 0, function () {
@@ -163,7 +159,10 @@ var getObjectDeserializer = function (response) { return __awaiter(void 0, void
163
159
  utils_1.deserializeTimestamp,
164
160
  ],
165
161
  ObjectLockLegalHoldStatus: 'x-amz-object-lock-legal-hold',
166
- })), { Metadata: (0, utils_1.deserializeMetadata)(response.headers), $metadata: (0, aws_client_utils_1.parseMetadata)(response), Body: response.body })];
162
+ })), { Metadata: (0, utils_1.deserializeMetadata)(response.headers), $metadata: (0, aws_client_utils_1.parseMetadata)(response),
163
+ // @ts-expect-error The body is a CompatibleHttpResponse type because the lower-level handler is XHR instead of
164
+ // fetch, which represents payload in Blob instread of ReadableStream.
165
+ Body: response.body })];
167
166
  }
168
167
  _a.label = 3;
169
168
  case 3: return [2 /*return*/];
@@ -191,7 +190,9 @@ var getPresignedGetObjectUrl = function (config, input) { return __awaiter(void
191
190
  // It requires changes in presignUrl. Without this change, the generated url still works,
192
191
  // but not the same as other tools like AWS SDK and CLI.
193
192
  url.searchParams.append(utils_1.CONTENT_SHA256_HEADER, aws_client_utils_1.EMPTY_SHA256_HASH);
194
- url.searchParams.append((_f = config.userAgentHeader) !== null && _f !== void 0 ? _f : core_1.USER_AGENT_HEADER, config.userAgentValue);
193
+ if (config.userAgentValue) {
194
+ url.searchParams.append((_f = config.userAgentHeader) !== null && _f !== void 0 ? _f : core_1.USER_AGENT_HEADER, config.userAgentValue);
195
+ }
195
196
  try {
196
197
  for (_b = __values(Object.entries(headers).sort(function (_a, _b) {
197
198
  var _c = __read(_a, 1), key1 = _c[0];
@@ -209,7 +210,7 @@ var getPresignedGetObjectUrl = function (config, input) { return __awaiter(void
209
210
  }
210
211
  finally { if (e_1) throw e_1.error; }
211
212
  }
212
- return [2 /*return*/, (0, aws_client_utils_1.presignUrl)({ method: method, url: url, body: null }, __assign(__assign({}, base_1.defaultConfig), config)).toString()];
213
+ return [2 /*return*/, (0, aws_client_utils_1.presignUrl)({ method: method, url: url, body: undefined }, __assign(__assign({}, base_1.defaultConfig), config))];
213
214
  }
214
215
  });
215
216
  }); };
@@ -1,20 +1,20 @@
1
1
  /// <reference types="node" />
2
- import { Endpoint } from '@aws-amplify/core/internals/aws-client-utils';
2
+ import { Endpoint, HttpResponse } from '@aws-amplify/core/internals/aws-client-utils';
3
3
  import type { HeadObjectCommandInput, HeadObjectCommandOutput } from './types';
4
4
  export type HeadObjectInput = Pick<HeadObjectCommandInput, 'Bucket' | 'Key' | 'SSECustomerKey' | 'SSECustomerKeyMD5' | 'SSECustomerAlgorithm'>;
5
- export type HeadObjectOutput = Pick<HeadObjectCommandOutput, '$metadata' | 'ContentLength' | 'ContentType' | 'ETag' | 'LastModified' | 'Metadata' | 'VersionId'>;
6
- export declare const headObject: (config: Omit<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<import("@aws-amplify/core/internals/aws-client-utils").HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions & Partial<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<import("@aws-amplify/core/internals/aws-client-utils").HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions>, "region" | "maxAttempts" | "credentials" | "retryDecider" | "computeDelay" | "abortSignal" | "service" | "uriEscapePath" | "endpointResolver" | "emitter" | "responseType" | "userAgentHeader" | "userAgentValue"> & {
7
- region?: string;
8
- maxAttempts?: number;
9
- credentials?: import("@aws-sdk/types/types/credentials").Credentials | (() => Promise<import("@aws-sdk/types/types/credentials").Credentials>);
10
- retryDecider?: (response?: import("@aws-amplify/core/internals/aws-client-utils").HttpResponse, error?: unknown) => Promise<boolean>;
11
- computeDelay?: (attempt: number) => number;
12
- abortSignal?: AbortSignal;
13
- service?: string;
14
- uriEscapePath?: boolean;
15
- endpointResolver?: (options: import("@aws-amplify/core/internals/aws-client-utils").EndpointResolverOptions, input?: any) => Endpoint;
16
- emitter?: import("events").EventEmitter;
17
- responseType?: "blob" | "text";
18
- userAgentHeader?: string;
19
- userAgentValue?: string;
5
+ export type HeadObjectOutput = Pick<HeadObjectCommandOutput, 'ContentLength' | 'ContentType' | 'ETag' | 'LastModified' | 'Metadata' | 'VersionId' | '$metadata'>;
6
+ export declare const headObject: (config: Omit<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions & Partial<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions>, "region" | "maxAttempts" | "credentials" | "retryDecider" | "computeDelay" | "abortSignal" | "service" | "uriEscapePath" | "endpointResolver" | "userAgentHeader" | "userAgentValue" | "emitter" | "responseType"> & {
7
+ region?: string | undefined;
8
+ maxAttempts?: number | undefined;
9
+ credentials?: ((import("@aws-amplify/core/internals/aws-client-utils").Credentials | (() => Promise<import("@aws-amplify/core/internals/aws-client-utils").Credentials>)) & (import("@aws-amplify/core/internals/aws-client-utils").Credentials | (() => Promise<import("@aws-amplify/core/internals/aws-client-utils").Credentials>) | undefined)) | undefined;
10
+ retryDecider?: ((response?: HttpResponse | undefined, error?: unknown) => Promise<boolean>) | undefined;
11
+ computeDelay?: ((attempt: number) => number) | undefined;
12
+ abortSignal?: AbortSignal | undefined;
13
+ service?: string | undefined;
14
+ uriEscapePath?: boolean | undefined;
15
+ endpointResolver?: ((options: import("@aws-amplify/core/internals/aws-client-utils").EndpointResolverOptions, input?: any) => Endpoint) | undefined;
16
+ userAgentHeader?: string | undefined;
17
+ userAgentValue?: string | undefined;
18
+ emitter?: import("events").EventEmitter | undefined;
19
+ responseType?: "blob" | "text" | undefined;
20
20
  }, input: HeadObjectInput) => Promise<HeadObjectOutput>;
@@ -54,21 +54,18 @@ var aws_client_utils_1 = require("@aws-amplify/core/internals/aws-client-utils")
54
54
  var composers_1 = require("@aws-amplify/core/internals/aws-client-utils/composers");
55
55
  var base_1 = require("./base");
56
56
  var utils_1 = require("./utils");
57
+ var StorageError_1 = require("../../errors/StorageError");
57
58
  var headObjectSerializer = function (input, endpoint) { return __awaiter(void 0, void 0, void 0, function () {
58
- var headers, url;
59
+ var url;
59
60
  return __generator(this, function (_a) {
60
- switch (_a.label) {
61
- case 0: return [4 /*yield*/, (0, utils_1.serializeObjectSsecOptionsToHeaders)(input)];
62
- case 1:
63
- headers = _a.sent();
64
- url = new URL(endpoint.url.toString());
65
- url.pathname = (0, utils_1.serializePathnameObjectKey)(url, input.Key);
66
- return [2 /*return*/, {
67
- method: 'HEAD',
68
- headers: headers,
69
- url: url,
70
- }];
71
- }
61
+ url = new URL(endpoint.url.toString());
62
+ (0, utils_1.validateS3RequiredParameter)(!!input.Key, 'Key');
63
+ url.pathname = (0, utils_1.serializePathnameObjectKey)(url, input.Key);
64
+ return [2 /*return*/, {
65
+ method: 'HEAD',
66
+ headers: {},
67
+ url: url,
68
+ }];
72
69
  });
73
70
  }); };
74
71
  var headObjectDeserializer = function (response) { return __awaiter(void 0, void 0, void 0, function () {
@@ -80,7 +77,8 @@ var headObjectDeserializer = function (response) { return __awaiter(void 0, void
80
77
  return [4 /*yield*/, (0, utils_1.parseXmlError)(response)];
81
78
  case 1:
82
79
  error = _a.sent();
83
- throw error;
80
+ // @ts-expect-error error is always set when statusCode >= 300
81
+ throw StorageError_1.StorageError.fromServiceError(error, response.statusCode);
84
82
  case 2:
85
83
  contents = __assign(__assign({}, (0, utils_1.map)(response.headers, {
86
84
  ContentLength: ['content-length', utils_1.deserializeNumber],
@@ -3,18 +3,18 @@ import { Endpoint, HttpResponse } from '@aws-amplify/core/internals/aws-client-u
3
3
  import type { ListObjectsV2CommandInput, ListObjectsV2CommandOutput } from './types';
4
4
  export type ListObjectsV2Input = ListObjectsV2CommandInput;
5
5
  export type ListObjectsV2Output = ListObjectsV2CommandOutput;
6
- export declare const listObjectsV2: (config: Omit<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions & Partial<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions>, "region" | "maxAttempts" | "credentials" | "retryDecider" | "computeDelay" | "abortSignal" | "service" | "uriEscapePath" | "endpointResolver" | "emitter" | "responseType" | "userAgentHeader" | "userAgentValue"> & {
7
- region?: string;
8
- maxAttempts?: number;
9
- credentials?: import("@aws-sdk/types/types/credentials").Credentials | (() => Promise<import("@aws-sdk/types/types/credentials").Credentials>);
10
- retryDecider?: (response?: HttpResponse, error?: unknown) => Promise<boolean>;
11
- computeDelay?: (attempt: number) => number;
12
- abortSignal?: AbortSignal;
13
- service?: string;
14
- uriEscapePath?: boolean;
15
- endpointResolver?: (options: import("@aws-amplify/core/internals/aws-client-utils").EndpointResolverOptions, input?: any) => Endpoint;
16
- emitter?: import("events").EventEmitter;
17
- responseType?: "blob" | "text";
18
- userAgentHeader?: string;
19
- userAgentValue?: string;
6
+ export declare const listObjectsV2: (config: Omit<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions & Partial<import("@aws-amplify/core/internals/aws-client-utils").UserAgentOptions & import("@aws-amplify/core/internals/aws-client-utils").RetryOptions<HttpResponse> & import("@aws-amplify/core/internals/aws-client-utils").SigningOptions & import("./runtime/xhrTransferHandler").XhrTransferHandlerOptions & import("@aws-amplify/core/internals/aws-client-utils").ServiceClientOptions>, "region" | "maxAttempts" | "credentials" | "retryDecider" | "computeDelay" | "abortSignal" | "service" | "uriEscapePath" | "endpointResolver" | "userAgentHeader" | "userAgentValue" | "emitter" | "responseType"> & {
7
+ region?: string | undefined;
8
+ maxAttempts?: number | undefined;
9
+ credentials?: ((import("@aws-amplify/core/internals/aws-client-utils").Credentials | (() => Promise<import("@aws-amplify/core/internals/aws-client-utils").Credentials>)) & (import("@aws-amplify/core/internals/aws-client-utils").Credentials | (() => Promise<import("@aws-amplify/core/internals/aws-client-utils").Credentials>) | undefined)) | undefined;
10
+ retryDecider?: ((response?: HttpResponse | undefined, error?: unknown) => Promise<boolean>) | undefined;
11
+ computeDelay?: ((attempt: number) => number) | undefined;
12
+ abortSignal?: AbortSignal | undefined;
13
+ service?: string | undefined;
14
+ uriEscapePath?: boolean | undefined;
15
+ endpointResolver?: ((options: import("@aws-amplify/core/internals/aws-client-utils").EndpointResolverOptions, input?: any) => Endpoint) | undefined;
16
+ userAgentHeader?: string | undefined;
17
+ userAgentValue?: string | undefined;
18
+ emitter?: import("events").EventEmitter | undefined;
19
+ responseType?: "blob" | "text" | undefined;
20
20
  }, input: ListObjectsV2CommandInput) => Promise<ListObjectsV2CommandOutput>;
@@ -51,6 +51,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
51
51
  Object.defineProperty(exports, "__esModule", { value: true });
52
52
  exports.listObjectsV2 = void 0;
53
53
  var aws_client_utils_1 = require("@aws-amplify/core/internals/aws-client-utils");
54
+ var StorageError_1 = require("../../errors/StorageError");
54
55
  var composers_1 = require("@aws-amplify/core/internals/aws-client-utils/composers");
55
56
  var base_1 = require("./base");
56
57
  var utils_1 = require("./utils");
@@ -86,7 +87,8 @@ var listObjectsV2Deserializer = function (response) { return __awaiter(void 0, v
86
87
  return [4 /*yield*/, (0, utils_1.parseXmlError)(response)];
87
88
  case 1:
88
89
  error = _a.sent();
89
- throw error;
90
+ // @ts-expect-error error is always set when statusCode >= 300
91
+ throw StorageError_1.StorageError.fromServiceError(error, response.statusCode);
90
92
  case 2: return [4 /*yield*/, (0, utils_1.parseXmlBody)(response)];
91
93
  case 3:
92
94
  parsed = _a.sent();
@@ -102,7 +104,6 @@ var listObjectsV2Deserializer = function (response) { return __awaiter(void 0, v
102
104
  ContinuationToken: 'ContinuationToken',
103
105
  Delimiter: 'Delimiter',
104
106
  EncodingType: 'EncodingType',
105
- IsTruncated: ['IsTruncated', utils_1.deserializeBoolean],
106
107
  KeyCount: ['KeyCount', utils_1.deserializeNumber],
107
108
  MaxKeys: ['MaxKeys', utils_1.deserializeNumber],
108
109
  Name: 'Name',