@aws-amplify/storage 6.0.17-unstable.e316a2e.0 → 6.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/providers/s3/apis/internal/getProperties.js +1 -1
- package/dist/cjs/providers/s3/apis/internal/getProperties.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/getUrl.js +6 -6
- package/dist/cjs/providers/s3/apis/internal/getUrl.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/list.js +2 -2
- package/dist/cjs/providers/s3/apis/internal/list.js.map +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/initialUpload.js +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/initialUpload.js.map +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadHandlers.js +25 -25
- package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadHandlers.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/base.js +1 -1
- package/dist/cjs/providers/s3/utils/client/base.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/base64/index.native.js +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/base64/index.native.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/contentSha256middleware.js +3 -3
- package/dist/cjs/providers/s3/utils/client/runtime/contentSha256middleware.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/s3TransferHandler/fetch.js +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/s3TransferHandler/fetch.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/s3TransferHandler/xhr.js +4 -4
- package/dist/cjs/providers/s3/utils/client/runtime/s3TransferHandler/xhr.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/xhrTransferHandler.js +4 -4
- package/dist/cjs/providers/s3/utils/client/runtime/xhrTransferHandler.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/xmlParser/dom.js +4 -7
- package/dist/cjs/providers/s3/utils/client/runtime/xmlParser/dom.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/runtime/xmlParser/pureJs.js +6 -5
- package/dist/cjs/providers/s3/utils/client/runtime/xmlParser/pureJs.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/utils/deserializeHelpers.js +1 -1
- package/dist/cjs/providers/s3/utils/client/utils/deserializeHelpers.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/utils/parsePayload.js +2 -2
- package/dist/cjs/providers/s3/utils/client/utils/parsePayload.js.map +1 -1
- package/dist/cjs/providers/s3/utils/md5.js +8 -3
- package/dist/cjs/providers/s3/utils/md5.js.map +1 -1
- package/dist/cjs/providers/s3/utils/md5.native.js +6 -2
- package/dist/cjs/providers/s3/utils/md5.native.js.map +1 -1
- package/dist/cjs/providers/s3/utils/resolveS3ConfigAndInput.js +1 -1
- package/dist/cjs/providers/s3/utils/resolveS3ConfigAndInput.js.map +1 -1
- package/dist/cjs/providers/s3/utils/transferTask.js +10 -4
- package/dist/cjs/providers/s3/utils/transferTask.js.map +1 -1
- package/dist/esm/providers/s3/apis/getProperties.d.ts +1 -1
- package/dist/esm/providers/s3/apis/internal/getProperties.mjs +1 -1
- package/dist/esm/providers/s3/apis/internal/getProperties.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/getUrl.mjs +3 -3
- package/dist/esm/providers/s3/apis/internal/getUrl.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/list.d.ts +1 -1
- package/dist/esm/providers/s3/apis/internal/list.mjs +2 -2
- package/dist/esm/providers/s3/apis/internal/list.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/list.d.ts +3 -3
- package/dist/esm/providers/s3/apis/server/list.d.ts +3 -3
- package/dist/esm/providers/s3/apis/uploadData/multipart/getDataChunker.d.ts +2 -2
- package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.d.ts +4 -4
- package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.mjs +1 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/progressTracker.d.ts +3 -3
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadCache.d.ts +6 -6
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadHandlers.mjs +25 -25
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadHandlers.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.d.ts +5 -5
- package/dist/esm/providers/s3/types/inputs.d.ts +2 -2
- package/dist/esm/providers/s3/types/options.d.ts +11 -11
- package/dist/esm/providers/s3/types/outputs.d.ts +1 -1
- package/dist/esm/providers/s3/utils/client/abortMultipartUpload.d.ts +2 -2
- package/dist/esm/providers/s3/utils/client/base.mjs +1 -1
- package/dist/esm/providers/s3/utils/client/base.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/completeMultipartUpload.d.ts +2 -2
- package/dist/esm/providers/s3/utils/client/copyObject.d.ts +2 -2
- package/dist/esm/providers/s3/utils/client/copyObject.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/createMultipartUpload.d.ts +3 -3
- package/dist/esm/providers/s3/utils/client/createMultipartUpload.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/deleteObject.d.ts +2 -2
- package/dist/esm/providers/s3/utils/client/getObject.d.ts +3 -3
- package/dist/esm/providers/s3/utils/client/getObject.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/headObject.d.ts +2 -2
- package/dist/esm/providers/s3/utils/client/listObjectsV2.d.ts +3 -3
- package/dist/esm/providers/s3/utils/client/listParts.d.ts +2 -2
- package/dist/esm/providers/s3/utils/client/listParts.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/putObject.d.ts +2 -2
- package/dist/esm/providers/s3/utils/client/putObject.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/runtime/base64/index.native.mjs +1 -1
- package/dist/esm/providers/s3/utils/client/runtime/base64/index.native.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/runtime/contentSha256middleware.d.ts +2 -2
- package/dist/esm/providers/s3/utils/client/runtime/contentSha256middleware.mjs +2 -2
- package/dist/esm/providers/s3/utils/client/runtime/contentSha256middleware.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/runtime/s3TransferHandler/fetch.d.ts +2 -2
- package/dist/esm/providers/s3/utils/client/runtime/s3TransferHandler/fetch.mjs +2 -2
- package/dist/esm/providers/s3/utils/client/runtime/s3TransferHandler/fetch.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/runtime/s3TransferHandler/xhr.d.ts +2 -2
- package/dist/esm/providers/s3/utils/client/runtime/s3TransferHandler/xhr.mjs +6 -6
- package/dist/esm/providers/s3/utils/client/runtime/s3TransferHandler/xhr.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/runtime/xhrTransferHandler.d.ts +2 -2
- package/dist/esm/providers/s3/utils/client/runtime/xhrTransferHandler.mjs +4 -4
- package/dist/esm/providers/s3/utils/client/runtime/xhrTransferHandler.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/runtime/xmlParser/dom.mjs +4 -7
- package/dist/esm/providers/s3/utils/client/runtime/xmlParser/dom.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/runtime/xmlParser/pureJs.mjs +6 -5
- package/dist/esm/providers/s3/utils/client/runtime/xmlParser/pureJs.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/types.d.ts +11 -22
- package/dist/esm/providers/s3/utils/client/uploadPart.d.ts +2 -2
- package/dist/esm/providers/s3/utils/client/uploadPart.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.d.ts +1 -3
- package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.mjs +1 -1
- package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/utils/parsePayload.mjs +2 -2
- package/dist/esm/providers/s3/utils/client/utils/parsePayload.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/utils/serializeHelpers.d.ts +1 -1
- package/dist/esm/providers/s3/utils/md5.mjs +8 -3
- package/dist/esm/providers/s3/utils/md5.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/md5.native.mjs +6 -2
- package/dist/esm/providers/s3/utils/md5.native.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.d.ts +4 -4
- package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.mjs +1 -1
- package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/transferTask.d.ts +10 -10
- package/dist/esm/providers/s3/utils/transferTask.mjs +10 -4
- package/dist/esm/providers/s3/utils/transferTask.mjs.map +1 -1
- package/dist/esm/types/common.d.ts +7 -7
- package/dist/esm/types/inputs.d.ts +9 -9
- package/dist/esm/types/options.d.ts +2 -2
- package/dist/esm/types/outputs.d.ts +6 -6
- package/dist/esm/utils/resolvePrefix.d.ts +2 -2
- package/package.json +107 -106
- package/src/errors/CanceledError.ts +1 -0
- package/src/errors/utils/assertValidationError.ts +1 -1
- package/src/providers/s3/apis/copy.ts +3 -1
- package/src/providers/s3/apis/downloadData.ts +5 -3
- package/src/providers/s3/apis/getProperties.ts +5 -2
- package/src/providers/s3/apis/getUrl.ts +3 -0
- package/src/providers/s3/apis/internal/copy.ts +5 -4
- package/src/providers/s3/apis/internal/getProperties.ts +8 -6
- package/src/providers/s3/apis/internal/getUrl.ts +11 -9
- package/src/providers/s3/apis/internal/list.ts +13 -10
- package/src/providers/s3/apis/internal/remove.ts +5 -3
- package/src/providers/s3/apis/list.ts +8 -4
- package/src/providers/s3/apis/remove.ts +4 -1
- package/src/providers/s3/apis/server/copy.ts +2 -1
- package/src/providers/s3/apis/server/getProperties.ts +3 -2
- package/src/providers/s3/apis/server/getUrl.ts +2 -1
- package/src/providers/s3/apis/server/list.ts +10 -7
- package/src/providers/s3/apis/server/remove.ts +2 -1
- package/src/providers/s3/apis/uploadData/byteLength.ts +1 -0
- package/src/providers/s3/apis/uploadData/index.ts +5 -2
- package/src/providers/s3/apis/uploadData/multipart/calculatePartSize.ts +1 -0
- package/src/providers/s3/apis/uploadData/multipart/getDataChunker.ts +6 -4
- package/src/providers/s3/apis/uploadData/multipart/initialUpload.ts +12 -9
- package/src/providers/s3/apis/uploadData/multipart/progressTracker.ts +5 -4
- package/src/providers/s3/apis/uploadData/multipart/uploadCache.ts +15 -12
- package/src/providers/s3/apis/uploadData/multipart/uploadHandlers.ts +42 -36
- package/src/providers/s3/apis/uploadData/multipart/uploadPartExecutor.ts +7 -6
- package/src/providers/s3/apis/uploadData/putObjectJob.ts +2 -2
- package/src/providers/s3/types/inputs.ts +4 -4
- package/src/providers/s3/types/options.ts +11 -11
- package/src/providers/s3/types/outputs.ts +1 -1
- package/src/providers/s3/utils/client/abortMultipartUpload.ts +5 -4
- package/src/providers/s3/utils/client/base.ts +8 -6
- package/src/providers/s3/utils/client/completeMultipartUpload.ts +14 -6
- package/src/providers/s3/utils/client/copyObject.ts +7 -4
- package/src/providers/s3/utils/client/createMultipartUpload.ts +7 -5
- package/src/providers/s3/utils/client/deleteObject.ts +6 -5
- package/src/providers/s3/utils/client/getObject.ts +14 -12
- package/src/providers/s3/utils/client/headObject.ts +6 -5
- package/src/providers/s3/utils/client/listObjectsV2.ts +6 -3
- package/src/providers/s3/utils/client/listParts.ts +9 -6
- package/src/providers/s3/utils/client/putObject.ts +6 -5
- package/src/providers/s3/utils/client/runtime/base64/index.browser.ts +2 -1
- package/src/providers/s3/utils/client/runtime/base64/index.native.ts +1 -1
- package/src/providers/s3/utils/client/runtime/contentSha256middleware.ts +6 -4
- package/src/providers/s3/utils/client/runtime/s3TransferHandler/fetch.ts +7 -5
- package/src/providers/s3/utils/client/runtime/s3TransferHandler/xhr.ts +11 -11
- package/src/providers/s3/utils/client/runtime/xhrTransferHandler.ts +21 -14
- package/src/providers/s3/utils/client/runtime/xmlParser/dom.ts +6 -7
- package/src/providers/s3/utils/client/runtime/xmlParser/pureJs.ts +10 -5
- package/src/providers/s3/utils/client/types.ts +12 -14
- package/src/providers/s3/utils/client/uploadPart.ts +6 -5
- package/src/providers/s3/utils/client/utils/deserializeHelpers.ts +13 -8
- package/src/providers/s3/utils/client/utils/parsePayload.ts +6 -4
- package/src/providers/s3/utils/client/utils/serializeHelpers.ts +8 -5
- package/src/providers/s3/utils/md5.native.ts +9 -3
- package/src/providers/s3/utils/md5.ts +12 -4
- package/src/providers/s3/utils/resolveS3ConfigAndInput.ts +10 -8
- package/src/providers/s3/utils/transferTask.ts +26 -14
- package/src/providers/s3/utils/userAgent.ts +1 -1
- package/src/types/common.ts +7 -7
- package/src/types/inputs.ts +11 -11
- package/src/types/options.ts +2 -2
- package/src/types/outputs.ts +6 -6
- package/src/utils/resolvePrefix.ts +7 -4
|
@@ -10,38 +10,38 @@ import {
|
|
|
10
10
|
StorageListPaginateOptions,
|
|
11
11
|
} from '../../../types/options';
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
interface CommonOptions {
|
|
14
14
|
/**
|
|
15
15
|
* Whether to use accelerate endpoint.
|
|
16
16
|
* @default false
|
|
17
17
|
*/
|
|
18
18
|
useAccelerateEndpoint?: boolean;
|
|
19
|
-
}
|
|
19
|
+
}
|
|
20
20
|
|
|
21
21
|
type ReadOptions =
|
|
22
22
|
| { accessLevel?: 'guest' | 'private' }
|
|
23
23
|
| { accessLevel: 'protected'; targetIdentityId?: string };
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
interface WriteOptions {
|
|
26
26
|
accessLevel?: StorageAccessLevel;
|
|
27
|
-
}
|
|
27
|
+
}
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
interface BytesRangeOptions {
|
|
30
30
|
bytesRange?: {
|
|
31
31
|
start: number;
|
|
32
32
|
end: number;
|
|
33
33
|
};
|
|
34
|
-
}
|
|
34
|
+
}
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
37
|
* Transfer-related options type for S3 downloadData, uploadData APIs.
|
|
38
38
|
*/
|
|
39
|
-
|
|
39
|
+
interface TransferOptions {
|
|
40
40
|
/**
|
|
41
41
|
* Callback function tracking the upload/download progress.
|
|
42
42
|
*/
|
|
43
|
-
onProgress
|
|
44
|
-
}
|
|
43
|
+
onProgress?(event: TransferProgressEvent): void;
|
|
44
|
+
}
|
|
45
45
|
|
|
46
46
|
/**
|
|
47
47
|
* Input options type for S3 getProperties API.
|
|
@@ -130,10 +130,10 @@ export type CopyDestinationOptions = WriteOptions & {
|
|
|
130
130
|
*
|
|
131
131
|
* @internal
|
|
132
132
|
*/
|
|
133
|
-
export
|
|
133
|
+
export interface ResolvedS3Config {
|
|
134
134
|
region: string;
|
|
135
135
|
credentials: AWSCredentials;
|
|
136
136
|
customEndpoint?: string;
|
|
137
137
|
forcePathStyle?: boolean;
|
|
138
138
|
useAccelerateEndpoint?: boolean;
|
|
139
|
-
}
|
|
139
|
+
}
|
|
@@ -13,8 +13,8 @@ import {
|
|
|
13
13
|
AmplifyUrlSearchParams,
|
|
14
14
|
} from '@aws-amplify/core/internals/utils';
|
|
15
15
|
import { MetadataBearer } from '@aws-sdk/types';
|
|
16
|
-
import type { AbortMultipartUploadCommandInput } from './types';
|
|
17
16
|
|
|
17
|
+
import type { AbortMultipartUploadCommandInput } from './types';
|
|
18
18
|
import { defaultConfig } from './base';
|
|
19
19
|
import {
|
|
20
20
|
buildStorageServiceError,
|
|
@@ -33,7 +33,7 @@ export type AbortMultipartUploadOutput = MetadataBearer;
|
|
|
33
33
|
|
|
34
34
|
const abortMultipartUploadSerializer = (
|
|
35
35
|
input: AbortMultipartUploadInput,
|
|
36
|
-
endpoint: Endpoint
|
|
36
|
+
endpoint: Endpoint,
|
|
37
37
|
): HttpRequest => {
|
|
38
38
|
const url = new AmplifyUrl(endpoint.url.toString());
|
|
39
39
|
validateS3RequiredParameter(!!input.Key, 'Key');
|
|
@@ -42,6 +42,7 @@ const abortMultipartUploadSerializer = (
|
|
|
42
42
|
url.search = new AmplifyUrlSearchParams({
|
|
43
43
|
uploadId: input.UploadId,
|
|
44
44
|
}).toString();
|
|
45
|
+
|
|
45
46
|
return {
|
|
46
47
|
method: 'DELETE',
|
|
47
48
|
headers: {},
|
|
@@ -50,7 +51,7 @@ const abortMultipartUploadSerializer = (
|
|
|
50
51
|
};
|
|
51
52
|
|
|
52
53
|
const abortMultipartUploadDeserializer = async (
|
|
53
|
-
response: HttpResponse
|
|
54
|
+
response: HttpResponse,
|
|
54
55
|
): Promise<AbortMultipartUploadOutput> => {
|
|
55
56
|
if (response.statusCode >= 300) {
|
|
56
57
|
const error = (await parseXmlError(response)) as Error;
|
|
@@ -66,5 +67,5 @@ export const abortMultipartUpload = composeServiceApi(
|
|
|
66
67
|
s3TransferHandler,
|
|
67
68
|
abortMultipartUploadSerializer,
|
|
68
69
|
abortMultipartUploadDeserializer,
|
|
69
|
-
{ ...defaultConfig, responseType: 'text' }
|
|
70
|
+
{ ...defaultConfig, responseType: 'text' },
|
|
70
71
|
);
|
|
@@ -2,18 +2,19 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
|
-
getAmplifyUserAgent,
|
|
6
5
|
AmplifyUrl,
|
|
6
|
+
getAmplifyUserAgent,
|
|
7
7
|
} from '@aws-amplify/core/internals/utils';
|
|
8
8
|
import {
|
|
9
|
+
EndpointResolverOptions,
|
|
9
10
|
getDnsSuffix,
|
|
10
|
-
jitteredBackoff,
|
|
11
11
|
getRetryDecider,
|
|
12
|
-
|
|
12
|
+
jitteredBackoff,
|
|
13
13
|
} from '@aws-amplify/core/internals/aws-client-utils';
|
|
14
|
+
|
|
14
15
|
import { parseXmlError } from './utils';
|
|
15
16
|
|
|
16
|
-
const DOMAIN_PATTERN = /^[a-z0-9][a-z0-9
|
|
17
|
+
const DOMAIN_PATTERN = /^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$/;
|
|
17
18
|
const IP_ADDRESS_PATTERN = /(\d+\.){3}\d+/;
|
|
18
19
|
const DOTS_PATTERN = /\.\./;
|
|
19
20
|
|
|
@@ -52,7 +53,7 @@ export type S3EndpointResolverOptions = EndpointResolverOptions & {
|
|
|
52
53
|
*/
|
|
53
54
|
const endpointResolver = (
|
|
54
55
|
options: S3EndpointResolverOptions,
|
|
55
|
-
apiInput?: { Bucket?: string }
|
|
56
|
+
apiInput?: { Bucket?: string },
|
|
56
57
|
) => {
|
|
57
58
|
const { region, useAccelerateEndpoint, customEndpoint, forcePathStyle } =
|
|
58
59
|
options;
|
|
@@ -63,7 +64,7 @@ const endpointResolver = (
|
|
|
63
64
|
} else if (useAccelerateEndpoint) {
|
|
64
65
|
if (forcePathStyle) {
|
|
65
66
|
throw new Error(
|
|
66
|
-
'Path style URLs are not supported with S3 Transfer Acceleration.'
|
|
67
|
+
'Path style URLs are not supported with S3 Transfer Acceleration.',
|
|
67
68
|
);
|
|
68
69
|
}
|
|
69
70
|
endpoint = new AmplifyUrl(`https://s3-accelerate.${getDnsSuffix(region)}`);
|
|
@@ -81,6 +82,7 @@ const endpointResolver = (
|
|
|
81
82
|
endpoint.host = `${apiInput.Bucket}.${endpoint.host}`;
|
|
82
83
|
}
|
|
83
84
|
}
|
|
85
|
+
|
|
84
86
|
return { url: endpoint };
|
|
85
87
|
};
|
|
86
88
|
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
AmplifyUrlSearchParams,
|
|
13
13
|
} from '@aws-amplify/core/internals/utils';
|
|
14
14
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
15
|
+
|
|
15
16
|
import type {
|
|
16
17
|
CompleteMultipartUploadCommandInput,
|
|
17
18
|
CompleteMultipartUploadCommandOutput,
|
|
@@ -44,7 +45,7 @@ export type CompleteMultipartUploadOutput = Pick<
|
|
|
44
45
|
|
|
45
46
|
const completeMultipartUploadSerializer = async (
|
|
46
47
|
input: CompleteMultipartUploadInput,
|
|
47
|
-
endpoint: Endpoint
|
|
48
|
+
endpoint: Endpoint,
|
|
48
49
|
): Promise<HttpRequest> => {
|
|
49
50
|
const headers = {
|
|
50
51
|
'content-type': 'application/xml',
|
|
@@ -57,6 +58,7 @@ const completeMultipartUploadSerializer = async (
|
|
|
57
58
|
uploadId: input.UploadId,
|
|
58
59
|
}).toString();
|
|
59
60
|
validateS3RequiredParameter(!!input.MultipartUpload, 'MultipartUpload');
|
|
61
|
+
|
|
60
62
|
return {
|
|
61
63
|
method: 'POST',
|
|
62
64
|
headers,
|
|
@@ -68,13 +70,14 @@ const completeMultipartUploadSerializer = async (
|
|
|
68
70
|
};
|
|
69
71
|
|
|
70
72
|
const serializeCompletedMultipartUpload = (
|
|
71
|
-
input: CompletedMultipartUpload
|
|
73
|
+
input: CompletedMultipartUpload,
|
|
72
74
|
): string => {
|
|
73
75
|
if (!input.Parts?.length) {
|
|
74
76
|
throw new Error(`${INVALID_PARAMETER_ERROR_MSG}: ${input}`);
|
|
75
77
|
}
|
|
78
|
+
|
|
76
79
|
return `<CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/">${input.Parts.map(
|
|
77
|
-
serializeCompletedPartList
|
|
80
|
+
serializeCompletedPartList,
|
|
78
81
|
).join('')}</CompleteMultipartUpload>`;
|
|
79
82
|
};
|
|
80
83
|
|
|
@@ -82,6 +85,7 @@ const serializeCompletedPartList = (input: CompletedPart): string => {
|
|
|
82
85
|
if (!input.ETag || input.PartNumber == null) {
|
|
83
86
|
throw new Error(`${INVALID_PARAMETER_ERROR_MSG}: ${input}`);
|
|
84
87
|
}
|
|
88
|
+
|
|
85
89
|
return `<Part><ETag>${input.ETag}</ETag><PartNumber>${input.PartNumber}</PartNumber></Part>`;
|
|
86
90
|
};
|
|
87
91
|
|
|
@@ -100,11 +104,12 @@ const parseXmlBodyOrThrow = async (response: HttpResponse): Promise<any> => {
|
|
|
100
104
|
})) as Error;
|
|
101
105
|
throw buildStorageServiceError(error, response.statusCode);
|
|
102
106
|
}
|
|
107
|
+
|
|
103
108
|
return parsed;
|
|
104
109
|
};
|
|
105
110
|
|
|
106
111
|
const completeMultipartUploadDeserializer = async (
|
|
107
|
-
response: HttpResponse
|
|
112
|
+
response: HttpResponse,
|
|
108
113
|
): Promise<CompleteMultipartUploadOutput> => {
|
|
109
114
|
if (response.statusCode >= 300) {
|
|
110
115
|
const error = (await parseXmlError(response)) as Error;
|
|
@@ -116,6 +121,7 @@ const completeMultipartUploadDeserializer = async (
|
|
|
116
121
|
Key: 'Key',
|
|
117
122
|
Location: 'Location',
|
|
118
123
|
});
|
|
124
|
+
|
|
119
125
|
return {
|
|
120
126
|
$metadata: parseMetadata(response),
|
|
121
127
|
...contents,
|
|
@@ -128,7 +134,7 @@ const completeMultipartUploadDeserializer = async (
|
|
|
128
134
|
// Ref: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html#API_CompleteMultipartUpload_Example_4
|
|
129
135
|
const retryWhenErrorWith200StatusCode = async (
|
|
130
136
|
response?: HttpResponse,
|
|
131
|
-
error?: unknown
|
|
137
|
+
error?: unknown,
|
|
132
138
|
): Promise<boolean> => {
|
|
133
139
|
if (!response) {
|
|
134
140
|
return false;
|
|
@@ -141,10 +147,12 @@ const retryWhenErrorWith200StatusCode = async (
|
|
|
141
147
|
if (parsed.Code !== undefined && parsed.Message !== undefined) {
|
|
142
148
|
return true;
|
|
143
149
|
}
|
|
150
|
+
|
|
144
151
|
return false;
|
|
145
152
|
}
|
|
146
153
|
|
|
147
154
|
const defaultRetryDecider = defaultConfig.retryDecider;
|
|
155
|
+
|
|
148
156
|
return defaultRetryDecider(response, error);
|
|
149
157
|
};
|
|
150
158
|
|
|
@@ -156,5 +164,5 @@ export const completeMultipartUpload = composeServiceApi(
|
|
|
156
164
|
...defaultConfig,
|
|
157
165
|
responseType: 'text',
|
|
158
166
|
retryDecider: retryWhenErrorWith200StatusCode,
|
|
159
|
-
}
|
|
167
|
+
},
|
|
160
168
|
);
|
|
@@ -9,14 +9,15 @@ import {
|
|
|
9
9
|
} from '@aws-amplify/core/internals/aws-client-utils';
|
|
10
10
|
import { AmplifyUrl } from '@aws-amplify/core/internals/utils';
|
|
11
11
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
12
|
+
|
|
12
13
|
import type { CopyObjectCommandInput, CopyObjectCommandOutput } from './types';
|
|
13
14
|
import { defaultConfig } from './base';
|
|
14
15
|
import {
|
|
16
|
+
assignStringVariables,
|
|
15
17
|
buildStorageServiceError,
|
|
16
18
|
parseXmlBody,
|
|
17
19
|
parseXmlError,
|
|
18
20
|
s3TransferHandler,
|
|
19
|
-
assignStringVariables,
|
|
20
21
|
serializeObjectConfigsToHeaders,
|
|
21
22
|
serializePathnameObjectKey,
|
|
22
23
|
validateS3RequiredParameter,
|
|
@@ -42,7 +43,7 @@ export type CopyObjectOutput = CopyObjectCommandOutput;
|
|
|
42
43
|
|
|
43
44
|
const copyObjectSerializer = async (
|
|
44
45
|
input: CopyObjectInput,
|
|
45
|
-
endpoint: Endpoint
|
|
46
|
+
endpoint: Endpoint,
|
|
46
47
|
): Promise<HttpRequest> => {
|
|
47
48
|
const headers = {
|
|
48
49
|
...(await serializeObjectConfigsToHeaders(input)),
|
|
@@ -54,6 +55,7 @@ const copyObjectSerializer = async (
|
|
|
54
55
|
const url = new AmplifyUrl(endpoint.url.toString());
|
|
55
56
|
validateS3RequiredParameter(!!input.Key, 'Key');
|
|
56
57
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
58
|
+
|
|
57
59
|
return {
|
|
58
60
|
method: 'PUT',
|
|
59
61
|
headers,
|
|
@@ -62,13 +64,14 @@ const copyObjectSerializer = async (
|
|
|
62
64
|
};
|
|
63
65
|
|
|
64
66
|
const copyObjectDeserializer = async (
|
|
65
|
-
response: HttpResponse
|
|
67
|
+
response: HttpResponse,
|
|
66
68
|
): Promise<CopyObjectOutput> => {
|
|
67
69
|
if (response.statusCode >= 300) {
|
|
68
70
|
const error = (await parseXmlError(response)) as Error;
|
|
69
71
|
throw buildStorageServiceError(error, response.statusCode);
|
|
70
72
|
} else {
|
|
71
73
|
await parseXmlBody(response);
|
|
74
|
+
|
|
72
75
|
return {
|
|
73
76
|
$metadata: parseMetadata(response),
|
|
74
77
|
};
|
|
@@ -79,5 +82,5 @@ export const copyObject = composeServiceApi(
|
|
|
79
82
|
s3TransferHandler,
|
|
80
83
|
copyObjectSerializer,
|
|
81
84
|
copyObjectDeserializer,
|
|
82
|
-
{ ...defaultConfig, responseType: 'text' }
|
|
85
|
+
{ ...defaultConfig, responseType: 'text' },
|
|
83
86
|
);
|
|
@@ -9,22 +9,22 @@ import {
|
|
|
9
9
|
} from '@aws-amplify/core/internals/aws-client-utils';
|
|
10
10
|
import { AmplifyUrl } from '@aws-amplify/core/internals/utils';
|
|
11
11
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
12
|
+
|
|
12
13
|
import type {
|
|
13
14
|
CreateMultipartUploadCommandInput,
|
|
14
15
|
CreateMultipartUploadCommandOutput,
|
|
15
16
|
} from './types';
|
|
16
17
|
import type { PutObjectInput } from './putObject';
|
|
17
|
-
|
|
18
18
|
import { defaultConfig } from './base';
|
|
19
19
|
import {
|
|
20
20
|
buildStorageServiceError,
|
|
21
|
-
validateS3RequiredParameter,
|
|
22
21
|
map,
|
|
23
22
|
parseXmlBody,
|
|
24
23
|
parseXmlError,
|
|
25
24
|
s3TransferHandler,
|
|
26
25
|
serializeObjectConfigsToHeaders,
|
|
27
26
|
serializePathnameObjectKey,
|
|
27
|
+
validateS3RequiredParameter,
|
|
28
28
|
} from './utils';
|
|
29
29
|
|
|
30
30
|
export type CreateMultipartUploadInput = Extract<
|
|
@@ -39,13 +39,14 @@ export type CreateMultipartUploadOutput = Pick<
|
|
|
39
39
|
|
|
40
40
|
const createMultipartUploadSerializer = async (
|
|
41
41
|
input: CreateMultipartUploadInput,
|
|
42
|
-
endpoint: Endpoint
|
|
42
|
+
endpoint: Endpoint,
|
|
43
43
|
): Promise<HttpRequest> => {
|
|
44
44
|
const headers = await serializeObjectConfigsToHeaders(input);
|
|
45
45
|
const url = new AmplifyUrl(endpoint.url.toString());
|
|
46
46
|
validateS3RequiredParameter(!!input.Key, 'Key');
|
|
47
47
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
48
48
|
url.search = 'uploads';
|
|
49
|
+
|
|
49
50
|
return {
|
|
50
51
|
method: 'POST',
|
|
51
52
|
headers,
|
|
@@ -54,7 +55,7 @@ const createMultipartUploadSerializer = async (
|
|
|
54
55
|
};
|
|
55
56
|
|
|
56
57
|
const createMultipartUploadDeserializer = async (
|
|
57
|
-
response: HttpResponse
|
|
58
|
+
response: HttpResponse,
|
|
58
59
|
): Promise<CreateMultipartUploadOutput> => {
|
|
59
60
|
if (response.statusCode >= 300) {
|
|
60
61
|
const error = (await parseXmlError(response)) as Error;
|
|
@@ -64,6 +65,7 @@ const createMultipartUploadDeserializer = async (
|
|
|
64
65
|
const contents = map(parsed, {
|
|
65
66
|
UploadId: 'UploadId',
|
|
66
67
|
});
|
|
68
|
+
|
|
67
69
|
return {
|
|
68
70
|
$metadata: parseMetadata(response),
|
|
69
71
|
...contents,
|
|
@@ -75,5 +77,5 @@ export const createMultipartUpload = composeServiceApi(
|
|
|
75
77
|
s3TransferHandler,
|
|
76
78
|
createMultipartUploadSerializer,
|
|
77
79
|
createMultipartUploadDeserializer,
|
|
78
|
-
{ ...defaultConfig, responseType: 'text' }
|
|
80
|
+
{ ...defaultConfig, responseType: 'text' },
|
|
79
81
|
);
|
|
@@ -9,11 +9,11 @@ import {
|
|
|
9
9
|
} from '@aws-amplify/core/internals/aws-client-utils';
|
|
10
10
|
import { AmplifyUrl } from '@aws-amplify/core/internals/utils';
|
|
11
11
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
12
|
+
|
|
12
13
|
import type {
|
|
13
14
|
DeleteObjectCommandInput,
|
|
14
15
|
DeleteObjectCommandOutput,
|
|
15
16
|
} from './types';
|
|
16
|
-
|
|
17
17
|
import { defaultConfig } from './base';
|
|
18
18
|
import {
|
|
19
19
|
buildStorageServiceError,
|
|
@@ -24,7 +24,6 @@ import {
|
|
|
24
24
|
serializePathnameObjectKey,
|
|
25
25
|
validateS3RequiredParameter,
|
|
26
26
|
} from './utils';
|
|
27
|
-
import { StorageError } from '../../../../errors/StorageError';
|
|
28
27
|
|
|
29
28
|
export type DeleteObjectInput = Pick<
|
|
30
29
|
DeleteObjectCommandInput,
|
|
@@ -35,11 +34,12 @@ export type DeleteObjectOutput = DeleteObjectCommandOutput;
|
|
|
35
34
|
|
|
36
35
|
const deleteObjectSerializer = (
|
|
37
36
|
input: DeleteObjectInput,
|
|
38
|
-
endpoint: Endpoint
|
|
37
|
+
endpoint: Endpoint,
|
|
39
38
|
): HttpRequest => {
|
|
40
39
|
const url = new AmplifyUrl(endpoint.url.toString());
|
|
41
40
|
validateS3RequiredParameter(!!input.Key, 'Key');
|
|
42
41
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
42
|
+
|
|
43
43
|
return {
|
|
44
44
|
method: 'DELETE',
|
|
45
45
|
headers: {},
|
|
@@ -48,7 +48,7 @@ const deleteObjectSerializer = (
|
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
const deleteObjectDeserializer = async (
|
|
51
|
-
response: HttpResponse
|
|
51
|
+
response: HttpResponse,
|
|
52
52
|
): Promise<DeleteObjectOutput> => {
|
|
53
53
|
if (response.statusCode >= 300) {
|
|
54
54
|
// error is always set when statusCode >= 300
|
|
@@ -60,6 +60,7 @@ const deleteObjectDeserializer = async (
|
|
|
60
60
|
VersionId: 'x-amz-version-id',
|
|
61
61
|
RequestCharged: 'x-amz-request-charged',
|
|
62
62
|
});
|
|
63
|
+
|
|
63
64
|
return {
|
|
64
65
|
...content,
|
|
65
66
|
$metadata: parseMetadata(response),
|
|
@@ -71,5 +72,5 @@ export const deleteObject = composeServiceApi(
|
|
|
71
72
|
s3TransferHandler,
|
|
72
73
|
deleteObjectSerializer,
|
|
73
74
|
deleteObjectDeserializer,
|
|
74
|
-
{ ...defaultConfig, responseType: 'text' }
|
|
75
|
+
{ ...defaultConfig, responseType: 'text' },
|
|
75
76
|
);
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
|
+
EMPTY_SHA256_HASH,
|
|
5
6
|
Endpoint,
|
|
6
7
|
HttpRequest,
|
|
8
|
+
HttpResponse,
|
|
9
|
+
PresignUrlOptions,
|
|
10
|
+
UserAgentOptions,
|
|
7
11
|
parseMetadata,
|
|
8
12
|
presignUrl,
|
|
9
|
-
UserAgentOptions,
|
|
10
|
-
PresignUrlOptions,
|
|
11
|
-
EMPTY_SHA256_HASH,
|
|
12
|
-
HttpResponse,
|
|
13
13
|
} from '@aws-amplify/core/internals/aws-client-utils';
|
|
14
14
|
import { AmplifyUrl } from '@aws-amplify/core/internals/utils';
|
|
15
15
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
@@ -21,6 +21,7 @@ import type {
|
|
|
21
21
|
GetObjectCommandOutput,
|
|
22
22
|
} from './types';
|
|
23
23
|
import {
|
|
24
|
+
CONTENT_SHA256_HEADER,
|
|
24
25
|
buildStorageServiceError,
|
|
25
26
|
deserializeBoolean,
|
|
26
27
|
deserializeMetadata,
|
|
@@ -30,7 +31,6 @@ import {
|
|
|
30
31
|
parseXmlError,
|
|
31
32
|
s3TransferHandler,
|
|
32
33
|
serializePathnameObjectKey,
|
|
33
|
-
CONTENT_SHA256_HEADER,
|
|
34
34
|
validateS3RequiredParameter,
|
|
35
35
|
} from './utils';
|
|
36
36
|
|
|
@@ -45,11 +45,12 @@ export type GetObjectOutput = GetObjectCommandOutput;
|
|
|
45
45
|
|
|
46
46
|
const getObjectSerializer = async (
|
|
47
47
|
input: GetObjectInput,
|
|
48
|
-
endpoint: Endpoint
|
|
48
|
+
endpoint: Endpoint,
|
|
49
49
|
): Promise<HttpRequest> => {
|
|
50
50
|
const url = new AmplifyUrl(endpoint.url.toString());
|
|
51
51
|
validateS3RequiredParameter(!!input.Key, 'Key');
|
|
52
52
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
53
|
+
|
|
53
54
|
return {
|
|
54
55
|
method: 'GET',
|
|
55
56
|
headers: {
|
|
@@ -60,7 +61,7 @@ const getObjectSerializer = async (
|
|
|
60
61
|
};
|
|
61
62
|
|
|
62
63
|
const getObjectDeserializer = async (
|
|
63
|
-
response: HttpResponse
|
|
64
|
+
response: HttpResponse,
|
|
64
65
|
): Promise<GetObjectOutput> => {
|
|
65
66
|
if (response.statusCode >= 300) {
|
|
66
67
|
const error = (await parseXmlError(response)) as Error;
|
|
@@ -122,7 +123,7 @@ export const getObject = composeServiceApi(
|
|
|
122
123
|
s3TransferHandler,
|
|
123
124
|
getObjectSerializer,
|
|
124
125
|
getObjectDeserializer,
|
|
125
|
-
{ ...defaultConfig, responseType: 'blob' }
|
|
126
|
+
{ ...defaultConfig, responseType: 'blob' },
|
|
126
127
|
);
|
|
127
128
|
|
|
128
129
|
type S3GetObjectPresignedUrlConfig = Omit<
|
|
@@ -140,7 +141,7 @@ type S3GetObjectPresignedUrlConfig = Omit<
|
|
|
140
141
|
*/
|
|
141
142
|
export const getPresignedGetObjectUrl = async (
|
|
142
143
|
config: S3GetObjectPresignedUrlConfig,
|
|
143
|
-
input: GetObjectInput
|
|
144
|
+
input: GetObjectInput,
|
|
144
145
|
): Promise<URL> => {
|
|
145
146
|
const endpoint = defaultConfig.endpointResolver(config, input);
|
|
146
147
|
const { url, headers, method } = await getObjectSerializer(input, endpoint);
|
|
@@ -152,15 +153,16 @@ export const getPresignedGetObjectUrl = async (
|
|
|
152
153
|
if (config.userAgentValue) {
|
|
153
154
|
url.searchParams.append(
|
|
154
155
|
config.userAgentHeader ?? USER_AGENT_HEADER,
|
|
155
|
-
config.userAgentValue
|
|
156
|
+
config.userAgentValue,
|
|
156
157
|
);
|
|
157
158
|
}
|
|
158
159
|
|
|
159
160
|
for (const [headerName, value] of Object.entries(headers).sort(
|
|
160
|
-
([key1], [key2]) => key1.localeCompare(key2)
|
|
161
|
+
([key1], [key2]) => key1.localeCompare(key2),
|
|
161
162
|
)) {
|
|
162
163
|
url.searchParams.append(headerName, value);
|
|
163
164
|
}
|
|
165
|
+
|
|
164
166
|
return presignUrl(
|
|
165
167
|
{ method, url, body: undefined },
|
|
166
168
|
{
|
|
@@ -168,6 +170,6 @@ export const getPresignedGetObjectUrl = async (
|
|
|
168
170
|
signingRegion: config.region,
|
|
169
171
|
...defaultConfig,
|
|
170
172
|
...config,
|
|
171
|
-
}
|
|
173
|
+
},
|
|
172
174
|
);
|
|
173
175
|
};
|
|
@@ -9,9 +9,9 @@ import {
|
|
|
9
9
|
} from '@aws-amplify/core/internals/aws-client-utils';
|
|
10
10
|
import { AmplifyUrl } from '@aws-amplify/core/internals/utils';
|
|
11
11
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
12
|
+
|
|
12
13
|
import { defaultConfig } from './base';
|
|
13
14
|
import type { HeadObjectCommandInput, HeadObjectCommandOutput } from './types';
|
|
14
|
-
|
|
15
15
|
import {
|
|
16
16
|
buildStorageServiceError,
|
|
17
17
|
deserializeMetadata,
|
|
@@ -23,7 +23,6 @@ import {
|
|
|
23
23
|
serializePathnameObjectKey,
|
|
24
24
|
validateS3RequiredParameter,
|
|
25
25
|
} from './utils';
|
|
26
|
-
import { StorageError } from '../../../../errors/StorageError';
|
|
27
26
|
|
|
28
27
|
export type HeadObjectInput = Pick<HeadObjectCommandInput, 'Bucket' | 'Key'>;
|
|
29
28
|
|
|
@@ -40,11 +39,12 @@ export type HeadObjectOutput = Pick<
|
|
|
40
39
|
|
|
41
40
|
const headObjectSerializer = async (
|
|
42
41
|
input: HeadObjectInput,
|
|
43
|
-
endpoint: Endpoint
|
|
42
|
+
endpoint: Endpoint,
|
|
44
43
|
): Promise<HttpRequest> => {
|
|
45
44
|
const url = new AmplifyUrl(endpoint.url.toString());
|
|
46
45
|
validateS3RequiredParameter(!!input.Key, 'Key');
|
|
47
46
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
47
|
+
|
|
48
48
|
return {
|
|
49
49
|
method: 'HEAD',
|
|
50
50
|
headers: {},
|
|
@@ -53,7 +53,7 @@ const headObjectSerializer = async (
|
|
|
53
53
|
};
|
|
54
54
|
|
|
55
55
|
const headObjectDeserializer = async (
|
|
56
|
-
response: HttpResponse
|
|
56
|
+
response: HttpResponse,
|
|
57
57
|
): Promise<HeadObjectOutput> => {
|
|
58
58
|
if (response.statusCode >= 300) {
|
|
59
59
|
// error is always set when statusCode >= 300
|
|
@@ -70,6 +70,7 @@ const headObjectDeserializer = async (
|
|
|
70
70
|
}),
|
|
71
71
|
Metadata: deserializeMetadata(response.headers),
|
|
72
72
|
};
|
|
73
|
+
|
|
73
74
|
return {
|
|
74
75
|
$metadata: parseMetadata(response),
|
|
75
76
|
...contents,
|
|
@@ -81,5 +82,5 @@ export const headObject = composeServiceApi(
|
|
|
81
82
|
s3TransferHandler,
|
|
82
83
|
headObjectSerializer,
|
|
83
84
|
headObjectDeserializer,
|
|
84
|
-
{ ...defaultConfig, responseType: 'text' }
|
|
85
|
+
{ ...defaultConfig, responseType: 'text' },
|
|
85
86
|
);
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
AmplifyUrlSearchParams,
|
|
13
13
|
} from '@aws-amplify/core/internals/utils';
|
|
14
14
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
15
|
+
|
|
15
16
|
import type {
|
|
16
17
|
ListObjectsV2CommandInput,
|
|
17
18
|
ListObjectsV2CommandOutput,
|
|
@@ -36,7 +37,7 @@ export type ListObjectsV2Output = ListObjectsV2CommandOutput;
|
|
|
36
37
|
|
|
37
38
|
const listObjectsV2Serializer = (
|
|
38
39
|
input: ListObjectsV2Input,
|
|
39
|
-
endpoint: Endpoint
|
|
40
|
+
endpoint: Endpoint,
|
|
40
41
|
): HttpRequest => {
|
|
41
42
|
const headers = assignStringVariables({
|
|
42
43
|
'x-amz-request-payer': input.RequestPayer,
|
|
@@ -54,6 +55,7 @@ const listObjectsV2Serializer = (
|
|
|
54
55
|
});
|
|
55
56
|
const url = new AmplifyUrl(endpoint.url.toString());
|
|
56
57
|
url.search = new AmplifyUrlSearchParams(query).toString();
|
|
58
|
+
|
|
57
59
|
return {
|
|
58
60
|
method: 'GET',
|
|
59
61
|
headers,
|
|
@@ -62,7 +64,7 @@ const listObjectsV2Serializer = (
|
|
|
62
64
|
};
|
|
63
65
|
|
|
64
66
|
const listObjectsV2Deserializer = async (
|
|
65
|
-
response: HttpResponse
|
|
67
|
+
response: HttpResponse,
|
|
66
68
|
): Promise<ListObjectsV2Output> => {
|
|
67
69
|
if (response.statusCode >= 300) {
|
|
68
70
|
// error is always set when statusCode >= 300
|
|
@@ -90,6 +92,7 @@ const listObjectsV2Deserializer = async (
|
|
|
90
92
|
Prefix: 'Prefix',
|
|
91
93
|
StartAfter: 'StartAfter',
|
|
92
94
|
});
|
|
95
|
+
|
|
93
96
|
return {
|
|
94
97
|
$metadata: parseMetadata(response),
|
|
95
98
|
...contents,
|
|
@@ -131,5 +134,5 @@ export const listObjectsV2 = composeServiceApi(
|
|
|
131
134
|
s3TransferHandler,
|
|
132
135
|
listObjectsV2Serializer,
|
|
133
136
|
listObjectsV2Deserializer,
|
|
134
|
-
{ ...defaultConfig, responseType: 'text' }
|
|
137
|
+
{ ...defaultConfig, responseType: 'text' },
|
|
135
138
|
);
|