@aws-amplify/storage 6.7.9-monitoring-instrument.47a7bda.0 → 6.7.9-unstable.22ca811.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/providers/s3/utils/client/s3control/getDataAccess.js +1 -1
- package/dist/cjs/providers/s3/utils/client/s3control/getDataAccess.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/s3control/listCallerAccessGrants.js +1 -1
- package/dist/cjs/providers/s3/utils/client/s3control/listCallerAccessGrants.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/abortMultipartUpload.js +1 -2
- package/dist/cjs/providers/s3/utils/client/s3data/abortMultipartUpload.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/completeMultipartUpload.js +7 -12
- package/dist/cjs/providers/s3/utils/client/s3data/completeMultipartUpload.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/copyObject.js +1 -4
- package/dist/cjs/providers/s3/utils/client/s3data/copyObject.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/createMultipartUpload.js +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/createMultipartUpload.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/deleteObject.js +1 -4
- package/dist/cjs/providers/s3/utils/client/s3data/deleteObject.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/getObject.js +1 -4
- package/dist/cjs/providers/s3/utils/client/s3data/getObject.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/headObject.js +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/headObject.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/listObjectsV2.js +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/listObjectsV2.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/listParts.js +1 -2
- package/dist/cjs/providers/s3/utils/client/s3data/listParts.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/putObject.js +1 -4
- package/dist/cjs/providers/s3/utils/client/s3data/putObject.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/uploadPart.js +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/uploadPart.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/utils/deserializeHelpers.js +0 -1
- package/dist/cjs/providers/s3/utils/client/utils/deserializeHelpers.js.map +1 -1
- package/dist/esm/providers/s3/utils/client/s3control/getDataAccess.mjs +1 -1
- package/dist/esm/providers/s3/utils/client/s3control/getDataAccess.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/s3control/listCallerAccessGrants.mjs +1 -1
- package/dist/esm/providers/s3/utils/client/s3control/listCallerAccessGrants.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/s3data/abortMultipartUpload.mjs +1 -2
- package/dist/esm/providers/s3/utils/client/s3data/abortMultipartUpload.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/s3data/completeMultipartUpload.mjs +7 -12
- package/dist/esm/providers/s3/utils/client/s3data/completeMultipartUpload.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/s3data/copyObject.mjs +2 -5
- package/dist/esm/providers/s3/utils/client/s3data/copyObject.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/s3data/createMultipartUpload.mjs +1 -1
- package/dist/esm/providers/s3/utils/client/s3data/createMultipartUpload.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/s3data/deleteObject.mjs +2 -5
- package/dist/esm/providers/s3/utils/client/s3data/deleteObject.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/s3data/getObject.mjs +2 -5
- package/dist/esm/providers/s3/utils/client/s3data/getObject.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/s3data/headObject.mjs +1 -1
- package/dist/esm/providers/s3/utils/client/s3data/headObject.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/s3data/listObjectsV2.mjs +1 -1
- package/dist/esm/providers/s3/utils/client/s3data/listObjectsV2.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/s3data/listParts.mjs +1 -2
- package/dist/esm/providers/s3/utils/client/s3data/listParts.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/s3data/putObject.mjs +2 -5
- package/dist/esm/providers/s3/utils/client/s3data/putObject.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/s3data/uploadPart.mjs +1 -1
- package/dist/esm/providers/s3/utils/client/s3data/uploadPart.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.d.ts +1 -2
- package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.mjs +0 -1
- package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.mjs.map +1 -1
- package/package.json +5 -5
- package/src/providers/s3/utils/client/s3control/getDataAccess.ts +2 -2
- package/src/providers/s3/utils/client/s3control/listCallerAccessGrants.ts +2 -2
- package/src/providers/s3/utils/client/s3data/abortMultipartUpload.ts +2 -3
- package/src/providers/s3/utils/client/s3data/completeMultipartUpload.ts +9 -18
- package/src/providers/s3/utils/client/s3data/copyObject.ts +3 -9
- package/src/providers/s3/utils/client/s3data/createMultipartUpload.ts +2 -2
- package/src/providers/s3/utils/client/s3data/deleteObject.ts +3 -9
- package/src/providers/s3/utils/client/s3data/getObject.ts +3 -9
- package/src/providers/s3/utils/client/s3data/headObject.ts +2 -2
- package/src/providers/s3/utils/client/s3data/listObjectsV2.ts +2 -2
- package/src/providers/s3/utils/client/s3data/listParts.ts +2 -3
- package/src/providers/s3/utils/client/s3data/putObject.ts +3 -9
- package/src/providers/s3/utils/client/s3data/uploadPart.ts +2 -2
- package/src/providers/s3/utils/client/utils/deserializeHelpers.ts +1 -3
|
@@ -39,7 +39,7 @@ const listObjectsV2Serializer = (input, endpoint) => {
|
|
|
39
39
|
const listObjectsV2Deserializer = async (response) => {
|
|
40
40
|
if (response.statusCode >= 300) {
|
|
41
41
|
// error is always set when statusCode >= 300
|
|
42
|
-
const error = await parseXmlError(response);
|
|
42
|
+
const error = (await parseXmlError(response));
|
|
43
43
|
throw buildStorageServiceError(error, response.statusCode);
|
|
44
44
|
}
|
|
45
45
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listObjectsV2.mjs","sources":["../../../../../../../src/providers/s3/utils/client/s3data/listObjectsV2.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl, AmplifyUrlSearchParams, } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { assignStringVariables, buildStorageServiceError, deserializeBoolean, deserializeNumber, deserializeTimestamp, emptyArrayGuard, map, parseXmlBody, s3TransferHandler, } from '../utils';\nimport { IntegrityError } from '../../../../../errors/IntegrityError';\nimport { defaultConfig, parseXmlError } from './base';\nconst listObjectsV2Serializer = (input, endpoint) => {\n const headers = assignStringVariables({\n 'x-amz-request-payer': input.RequestPayer,\n 'x-amz-expected-bucket-owner': input.ExpectedBucketOwner,\n });\n const query = assignStringVariables({\n 'list-type': '2',\n 'continuation-token': input.ContinuationToken,\n delimiter: input.Delimiter,\n 'encoding-type': input.EncodingType,\n 'fetch-owner': input.FetchOwner,\n 'max-keys': input.MaxKeys,\n prefix: input.Prefix,\n 'start-after': input.StartAfter,\n });\n const url = new AmplifyUrl(endpoint.url.toString());\n url.search = new AmplifyUrlSearchParams(query).toString();\n return {\n method: 'GET',\n headers,\n url,\n };\n};\nconst listObjectsV2Deserializer = async (response) => {\n if (response.statusCode >= 300) {\n // error is always set when statusCode >= 300\n const error = await parseXmlError(response);\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n const parsed = await parseXmlBody(response);\n const contents = map(parsed, {\n CommonPrefixes: [\n 'CommonPrefixes',\n value => emptyArrayGuard(value, deserializeCommonPrefixList),\n ],\n Contents: [\n 'Contents',\n value => emptyArrayGuard(value, deserializeObjectList),\n ],\n ContinuationToken: 'ContinuationToken',\n Delimiter: 'Delimiter',\n EncodingType: 'EncodingType',\n IsTruncated: ['IsTruncated', deserializeBoolean],\n KeyCount: ['KeyCount', deserializeNumber],\n MaxKeys: ['MaxKeys', deserializeNumber],\n Name: 'Name',\n NextContinuationToken: 'NextContinuationToken',\n Prefix: 'Prefix',\n StartAfter: 'StartAfter',\n });\n const output = {\n $metadata: parseMetadata(response),\n ...contents,\n };\n validateCorroboratingElements(output);\n return output;\n }\n};\nconst deserializeCommonPrefixList = (output) => output.map(deserializeCommonPrefix);\nconst deserializeCommonPrefix = (output) => map(output, {\n Prefix: 'Prefix',\n});\nconst deserializeObjectList = (output) => output.map(deserializeObject);\nconst deserializeObject = (output) => map(output, {\n Key: 'Key',\n LastModified: ['LastModified', deserializeTimestamp],\n ETag: 'ETag',\n ChecksumAlgorithm: [\n 'ChecksumAlgorithm',\n value => emptyArrayGuard(value, deserializeChecksumAlgorithmList),\n ],\n Size: ['Size', deserializeNumber],\n StorageClass: 'StorageClass',\n Owner: ['Owner', deserializeOwner],\n});\nconst deserializeChecksumAlgorithmList = (output) => output.map(entry => String(entry));\nconst deserializeOwner = (output) => map(output, { DisplayName: 'DisplayName', ID: 'ID' });\nconst validateCorroboratingElements = (response) => {\n const { IsTruncated, KeyCount, Contents = [], CommonPrefixes = [], NextContinuationToken, } = response;\n const validTruncation = (IsTruncated && !!NextContinuationToken) ||\n (!IsTruncated && !NextContinuationToken);\n const validNumberOfKeysReturned = KeyCount === Contents.length + CommonPrefixes.length;\n if (!validTruncation || !validNumberOfKeysReturned) {\n throw new IntegrityError();\n }\n};\nexport const listObjectsV2 = composeServiceApi(s3TransferHandler, listObjectsV2Serializer, listObjectsV2Deserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;AACA;AAOA,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK;AACrD,IAAI,MAAM,OAAO,GAAG,qBAAqB,CAAC;AAC1C,QAAQ,qBAAqB,EAAE,KAAK,CAAC,YAAY;AACjD,QAAQ,6BAA6B,EAAE,KAAK,CAAC,mBAAmB;AAChE,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,KAAK,GAAG,qBAAqB,CAAC;AACxC,QAAQ,WAAW,EAAE,GAAG;AACxB,QAAQ,oBAAoB,EAAE,KAAK,CAAC,iBAAiB;AACrD,QAAQ,SAAS,EAAE,KAAK,CAAC,SAAS;AAClC,QAAQ,eAAe,EAAE,KAAK,CAAC,YAAY;AAC3C,QAAQ,aAAa,EAAE,KAAK,CAAC,UAAU;AACvC,QAAQ,UAAU,EAAE,KAAK,CAAC,OAAO;AACjC,QAAQ,MAAM,EAAE,KAAK,CAAC,MAAM;AAC5B,QAAQ,aAAa,EAAE,KAAK,CAAC,UAAU;AACvC,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC9D,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,yBAAyB,GAAG,OAAO,QAAQ,KAAK;AACtD,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC;AACA,QAAQ,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"listObjectsV2.mjs","sources":["../../../../../../../src/providers/s3/utils/client/s3data/listObjectsV2.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl, AmplifyUrlSearchParams, } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { assignStringVariables, buildStorageServiceError, deserializeBoolean, deserializeNumber, deserializeTimestamp, emptyArrayGuard, map, parseXmlBody, s3TransferHandler, } from '../utils';\nimport { IntegrityError } from '../../../../../errors/IntegrityError';\nimport { defaultConfig, parseXmlError } from './base';\nconst listObjectsV2Serializer = (input, endpoint) => {\n const headers = assignStringVariables({\n 'x-amz-request-payer': input.RequestPayer,\n 'x-amz-expected-bucket-owner': input.ExpectedBucketOwner,\n });\n const query = assignStringVariables({\n 'list-type': '2',\n 'continuation-token': input.ContinuationToken,\n delimiter: input.Delimiter,\n 'encoding-type': input.EncodingType,\n 'fetch-owner': input.FetchOwner,\n 'max-keys': input.MaxKeys,\n prefix: input.Prefix,\n 'start-after': input.StartAfter,\n });\n const url = new AmplifyUrl(endpoint.url.toString());\n url.search = new AmplifyUrlSearchParams(query).toString();\n return {\n method: 'GET',\n headers,\n url,\n };\n};\nconst listObjectsV2Deserializer = async (response) => {\n if (response.statusCode >= 300) {\n // error is always set when statusCode >= 300\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n const parsed = await parseXmlBody(response);\n const contents = map(parsed, {\n CommonPrefixes: [\n 'CommonPrefixes',\n value => emptyArrayGuard(value, deserializeCommonPrefixList),\n ],\n Contents: [\n 'Contents',\n value => emptyArrayGuard(value, deserializeObjectList),\n ],\n ContinuationToken: 'ContinuationToken',\n Delimiter: 'Delimiter',\n EncodingType: 'EncodingType',\n IsTruncated: ['IsTruncated', deserializeBoolean],\n KeyCount: ['KeyCount', deserializeNumber],\n MaxKeys: ['MaxKeys', deserializeNumber],\n Name: 'Name',\n NextContinuationToken: 'NextContinuationToken',\n Prefix: 'Prefix',\n StartAfter: 'StartAfter',\n });\n const output = {\n $metadata: parseMetadata(response),\n ...contents,\n };\n validateCorroboratingElements(output);\n return output;\n }\n};\nconst deserializeCommonPrefixList = (output) => output.map(deserializeCommonPrefix);\nconst deserializeCommonPrefix = (output) => map(output, {\n Prefix: 'Prefix',\n});\nconst deserializeObjectList = (output) => output.map(deserializeObject);\nconst deserializeObject = (output) => map(output, {\n Key: 'Key',\n LastModified: ['LastModified', deserializeTimestamp],\n ETag: 'ETag',\n ChecksumAlgorithm: [\n 'ChecksumAlgorithm',\n value => emptyArrayGuard(value, deserializeChecksumAlgorithmList),\n ],\n Size: ['Size', deserializeNumber],\n StorageClass: 'StorageClass',\n Owner: ['Owner', deserializeOwner],\n});\nconst deserializeChecksumAlgorithmList = (output) => output.map(entry => String(entry));\nconst deserializeOwner = (output) => map(output, { DisplayName: 'DisplayName', ID: 'ID' });\nconst validateCorroboratingElements = (response) => {\n const { IsTruncated, KeyCount, Contents = [], CommonPrefixes = [], NextContinuationToken, } = response;\n const validTruncation = (IsTruncated && !!NextContinuationToken) ||\n (!IsTruncated && !NextContinuationToken);\n const validNumberOfKeysReturned = KeyCount === Contents.length + CommonPrefixes.length;\n if (!validTruncation || !validNumberOfKeysReturned) {\n throw new IntegrityError();\n }\n};\nexport const listObjectsV2 = composeServiceApi(s3TransferHandler, listObjectsV2Serializer, listObjectsV2Deserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,6 @@ const listPartsSerializer = async (input, endpoint) => {
|
|
|
19
19
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
20
20
|
validateS3RequiredParameter(!!input.UploadId, 'UploadId');
|
|
21
21
|
url.search = new AmplifyUrlSearchParams({
|
|
22
|
-
'x-id': 'ListParts',
|
|
23
22
|
uploadId: input.UploadId,
|
|
24
23
|
}).toString();
|
|
25
24
|
return {
|
|
@@ -30,7 +29,7 @@ const listPartsSerializer = async (input, endpoint) => {
|
|
|
30
29
|
};
|
|
31
30
|
const listPartsDeserializer = async (response) => {
|
|
32
31
|
if (response.statusCode >= 300) {
|
|
33
|
-
const error = await parseXmlError(response);
|
|
32
|
+
const error = (await parseXmlError(response));
|
|
34
33
|
throw buildStorageServiceError(error, response.statusCode);
|
|
35
34
|
}
|
|
36
35
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listParts.mjs","sources":["../../../../../../../src/providers/s3/utils/client/s3data/listParts.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl, AmplifyUrlSearchParams, } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { buildStorageServiceError, deserializeCompletedPartList, emptyArrayGuard, map, parseXmlBody, s3TransferHandler, serializePathnameObjectKey, validateS3RequiredParameter, } from '../utils';\nimport { defaultConfig, parseXmlError } from './base';\nconst listPartsSerializer = async (input, endpoint) => {\n const headers = {};\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Key, 'Key');\n url.pathname = serializePathnameObjectKey(url, input.Key);\n validateS3RequiredParameter(!!input.UploadId, 'UploadId');\n url.search = new AmplifyUrlSearchParams({\n
|
|
1
|
+
{"version":3,"file":"listParts.mjs","sources":["../../../../../../../src/providers/s3/utils/client/s3data/listParts.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl, AmplifyUrlSearchParams, } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { buildStorageServiceError, deserializeCompletedPartList, emptyArrayGuard, map, parseXmlBody, s3TransferHandler, serializePathnameObjectKey, validateS3RequiredParameter, } from '../utils';\nimport { defaultConfig, parseXmlError } from './base';\nconst listPartsSerializer = async (input, endpoint) => {\n const headers = {};\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Key, 'Key');\n url.pathname = serializePathnameObjectKey(url, input.Key);\n validateS3RequiredParameter(!!input.UploadId, 'UploadId');\n url.search = new AmplifyUrlSearchParams({\n uploadId: input.UploadId,\n }).toString();\n return {\n method: 'GET',\n headers,\n url,\n };\n};\nconst listPartsDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n const parsed = await parseXmlBody(response);\n const contents = map(parsed, {\n UploadId: 'UploadId',\n Parts: [\n 'Part',\n value => emptyArrayGuard(value, deserializeCompletedPartList),\n ],\n });\n return {\n $metadata: parseMetadata(response),\n ...contents,\n };\n }\n};\nexport const listParts = composeServiceApi(s3TransferHandler, listPartsSerializer, listPartsDeserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAMA,MAAM,mBAAmB,GAAG,OAAO,KAAK,EAAE,QAAQ,KAAK;AACvD,IAAI,MAAM,OAAO,GAAG,EAAE,CAAC;AACvB,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpD,IAAI,GAAG,CAAC,QAAQ,GAAG,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9D,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,sBAAsB,CAAC;AAC5C,QAAQ,QAAQ,EAAE,KAAK,CAAC,QAAQ;AAChC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;AAClB,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,qBAAqB,GAAG,OAAO,QAAQ,KAAK;AAClD,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC,QAAQ,MAAM,KAAK,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,QAAQ,MAAM,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnE,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;AACpD,QAAQ,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE;AACrC,YAAY,QAAQ,EAAE,UAAU;AAChC,YAAY,KAAK,EAAE;AACnB,gBAAgB,MAAM;AACtB,gBAAgB,KAAK,IAAI,eAAe,CAAC,KAAK,EAAE,4BAA4B,CAAC;AAC7E,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO;AACf,YAAY,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;AAC9C,YAAY,GAAG,QAAQ;AACvB,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACU,MAAC,SAAS,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { parseMetadata } from '@aws-amplify/core/internals/aws-client-utils';
|
|
2
|
-
import { AmplifyUrl
|
|
2
|
+
import { AmplifyUrl } from '@aws-amplify/core/internals/utils';
|
|
3
3
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
4
4
|
import { s3TransferHandler } from '../runtime/s3TransferHandler/fetch.mjs';
|
|
5
5
|
import 'fast-xml-parser';
|
|
@@ -28,9 +28,6 @@ const putObjectSerializer = async (input, endpoint) => {
|
|
|
28
28
|
const url = new AmplifyUrl(endpoint.url.toString());
|
|
29
29
|
validateS3RequiredParameter(!!input.Key, 'Key');
|
|
30
30
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
31
|
-
url.search = new AmplifyUrlSearchParams({
|
|
32
|
-
'x-id': 'PutObject',
|
|
33
|
-
}).toString();
|
|
34
31
|
validateObjectUrl({
|
|
35
32
|
bucketName: input.Bucket,
|
|
36
33
|
key: input.Key,
|
|
@@ -45,7 +42,7 @@ const putObjectSerializer = async (input, endpoint) => {
|
|
|
45
42
|
};
|
|
46
43
|
const putObjectDeserializer = async (response) => {
|
|
47
44
|
if (response.statusCode >= 300) {
|
|
48
|
-
const error = await parseXmlError(response);
|
|
45
|
+
const error = (await parseXmlError(response));
|
|
49
46
|
throw buildStorageServiceError(error, response.statusCode);
|
|
50
47
|
}
|
|
51
48
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"putObject.mjs","sources":["../../../../../../../src/providers/s3/utils/client/s3data/putObject.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl
|
|
1
|
+
{"version":3,"file":"putObject.mjs","sources":["../../../../../../../src/providers/s3/utils/client/s3data/putObject.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { assignStringVariables, buildStorageServiceError, map, s3TransferHandler, serializeObjectConfigsToHeaders, serializePathnameObjectKey, validateS3RequiredParameter, } from '../utils';\nimport { validateObjectUrl } from '../../validateObjectUrl';\nimport { defaultConfig, parseXmlError } from './base';\nconst putObjectSerializer = async (input, endpoint) => {\n const headers = {\n ...(await serializeObjectConfigsToHeaders({\n ...input,\n ContentType: input.ContentType ?? 'application/octet-stream',\n })),\n ...assignStringVariables({\n 'content-md5': input.ContentMD5,\n 'x-amz-checksum-crc32': input.ChecksumCRC32,\n 'x-amz-expected-bucket-owner': input.ExpectedBucketOwner,\n 'If-None-Match': input.IfNoneMatch,\n }),\n };\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Key, 'Key');\n url.pathname = serializePathnameObjectKey(url, input.Key);\n validateObjectUrl({\n bucketName: input.Bucket,\n key: input.Key,\n objectURL: url,\n });\n return {\n method: 'PUT',\n headers,\n url,\n body: input.Body,\n };\n};\nconst putObjectDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n return {\n ...map(response.headers, {\n ETag: 'etag',\n VersionId: 'x-amz-version-id',\n }),\n $metadata: parseMetadata(response),\n };\n }\n};\nexport const putObject = composeServiceApi(s3TransferHandler, putObjectSerializer, putObjectDeserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAOA,MAAM,mBAAmB,GAAG,OAAO,KAAK,EAAE,QAAQ,KAAK;AACvD,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,IAAI,MAAM,+BAA+B,CAAC;AAClD,YAAY,GAAG,KAAK;AACpB,YAAY,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,0BAA0B;AACxE,SAAS,CAAC,CAAC;AACX,QAAQ,GAAG,qBAAqB,CAAC;AACjC,YAAY,aAAa,EAAE,KAAK,CAAC,UAAU;AAC3C,YAAY,sBAAsB,EAAE,KAAK,CAAC,aAAa;AACvD,YAAY,6BAA6B,EAAE,KAAK,CAAC,mBAAmB;AACpE,YAAY,eAAe,EAAE,KAAK,CAAC,WAAW;AAC9C,SAAS,CAAC;AACV,KAAK,CAAC;AACN,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpD,IAAI,GAAG,CAAC,QAAQ,GAAG,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9D,IAAI,iBAAiB,CAAC;AACtB,QAAQ,UAAU,EAAE,KAAK,CAAC,MAAM;AAChC,QAAQ,GAAG,EAAE,KAAK,CAAC,GAAG;AACtB,QAAQ,SAAS,EAAE,GAAG;AACtB,KAAK,CAAC,CAAC;AACP,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,QAAQ,IAAI,EAAE,KAAK,CAAC,IAAI;AACxB,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,qBAAqB,GAAG,OAAO,QAAQ,KAAK;AAClD,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC,QAAQ,MAAM,KAAK,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,QAAQ,MAAM,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnE,KAAK;AACL,SAAS;AACT,QAAQ,OAAO;AACf,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE;AACrC,gBAAgB,IAAI,EAAE,MAAM;AAC5B,gBAAgB,SAAS,EAAE,kBAAkB;AAC7C,aAAa,CAAC;AACd,YAAY,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;AAC9C,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACU,MAAC,SAAS,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE;;;;"}
|
|
@@ -44,7 +44,7 @@ const uploadPartSerializer = async (input, endpoint) => {
|
|
|
44
44
|
};
|
|
45
45
|
const uploadPartDeserializer = async (response) => {
|
|
46
46
|
if (response.statusCode >= 300) {
|
|
47
|
-
const error = await parseXmlError(response);
|
|
47
|
+
const error = (await parseXmlError(response));
|
|
48
48
|
throw buildStorageServiceError(error, response.statusCode);
|
|
49
49
|
}
|
|
50
50
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadPart.mjs","sources":["../../../../../../../src/providers/s3/utils/client/s3data/uploadPart.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl, AmplifyUrlSearchParams, } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { assignStringVariables, buildStorageServiceError, map, s3TransferHandler, serializePathnameObjectKey, validateS3RequiredParameter, } from '../utils';\nimport { validateObjectUrl } from '../../validateObjectUrl';\nimport { defaultConfig, parseXmlError } from './base';\nconst uploadPartSerializer = async (input, endpoint) => {\n const headers = {\n ...assignStringVariables({\n 'x-amz-checksum-crc32': input.ChecksumCRC32,\n 'content-md5': input.ContentMD5,\n 'x-amz-expected-bucket-owner': input.ExpectedBucketOwner,\n }),\n 'content-type': 'application/octet-stream',\n };\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Key, 'Key');\n url.pathname = serializePathnameObjectKey(url, input.Key);\n validateS3RequiredParameter(!!input.PartNumber, 'PartNumber');\n validateS3RequiredParameter(!!input.UploadId, 'UploadId');\n url.search = new AmplifyUrlSearchParams({\n partNumber: input.PartNumber + '',\n uploadId: input.UploadId,\n }).toString();\n validateObjectUrl({\n bucketName: input.Bucket,\n key: input.Key,\n objectURL: url,\n });\n return {\n method: 'PUT',\n headers,\n url,\n body: input.Body,\n };\n};\nconst uploadPartDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = await parseXmlError(response);\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n return {\n ...map(response.headers, {\n ETag: 'etag',\n }),\n $metadata: parseMetadata(response),\n };\n }\n};\nexport const uploadPart = composeServiceApi(s3TransferHandler, uploadPartSerializer, uploadPartDeserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAOA,MAAM,oBAAoB,GAAG,OAAO,KAAK,EAAE,QAAQ,KAAK;AACxD,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,GAAG,qBAAqB,CAAC;AACjC,YAAY,sBAAsB,EAAE,KAAK,CAAC,aAAa;AACvD,YAAY,aAAa,EAAE,KAAK,CAAC,UAAU;AAC3C,YAAY,6BAA6B,EAAE,KAAK,CAAC,mBAAmB;AACpE,SAAS,CAAC;AACV,QAAQ,cAAc,EAAE,0BAA0B;AAClD,KAAK,CAAC;AACN,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpD,IAAI,GAAG,CAAC,QAAQ,GAAG,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9D,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAClE,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,sBAAsB,CAAC;AAC5C,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,EAAE;AACzC,QAAQ,QAAQ,EAAE,KAAK,CAAC,QAAQ;AAChC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;AAClB,IAAI,iBAAiB,CAAC;AACtB,QAAQ,UAAU,EAAE,KAAK,CAAC,MAAM;AAChC,QAAQ,GAAG,EAAE,KAAK,CAAC,GAAG;AACtB,QAAQ,SAAS,EAAE,GAAG;AACtB,KAAK,CAAC,CAAC;AACP,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,QAAQ,IAAI,EAAE,KAAK,CAAC,IAAI;AACxB,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,sBAAsB,GAAG,OAAO,QAAQ,KAAK;AACnD,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC,QAAQ,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"uploadPart.mjs","sources":["../../../../../../../src/providers/s3/utils/client/s3data/uploadPart.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl, AmplifyUrlSearchParams, } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { assignStringVariables, buildStorageServiceError, map, s3TransferHandler, serializePathnameObjectKey, validateS3RequiredParameter, } from '../utils';\nimport { validateObjectUrl } from '../../validateObjectUrl';\nimport { defaultConfig, parseXmlError } from './base';\nconst uploadPartSerializer = async (input, endpoint) => {\n const headers = {\n ...assignStringVariables({\n 'x-amz-checksum-crc32': input.ChecksumCRC32,\n 'content-md5': input.ContentMD5,\n 'x-amz-expected-bucket-owner': input.ExpectedBucketOwner,\n }),\n 'content-type': 'application/octet-stream',\n };\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Key, 'Key');\n url.pathname = serializePathnameObjectKey(url, input.Key);\n validateS3RequiredParameter(!!input.PartNumber, 'PartNumber');\n validateS3RequiredParameter(!!input.UploadId, 'UploadId');\n url.search = new AmplifyUrlSearchParams({\n partNumber: input.PartNumber + '',\n uploadId: input.UploadId,\n }).toString();\n validateObjectUrl({\n bucketName: input.Bucket,\n key: input.Key,\n objectURL: url,\n });\n return {\n method: 'PUT',\n headers,\n url,\n body: input.Body,\n };\n};\nconst uploadPartDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n return {\n ...map(response.headers, {\n ETag: 'etag',\n }),\n $metadata: parseMetadata(response),\n };\n }\n};\nexport const uploadPart = composeServiceApi(s3TransferHandler, uploadPartSerializer, uploadPartDeserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAOA,MAAM,oBAAoB,GAAG,OAAO,KAAK,EAAE,QAAQ,KAAK;AACxD,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,GAAG,qBAAqB,CAAC;AACjC,YAAY,sBAAsB,EAAE,KAAK,CAAC,aAAa;AACvD,YAAY,aAAa,EAAE,KAAK,CAAC,UAAU;AAC3C,YAAY,6BAA6B,EAAE,KAAK,CAAC,mBAAmB;AACpE,SAAS,CAAC;AACV,QAAQ,cAAc,EAAE,0BAA0B;AAClD,KAAK,CAAC;AACN,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpD,IAAI,GAAG,CAAC,QAAQ,GAAG,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9D,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAClE,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,sBAAsB,CAAC;AAC5C,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,EAAE;AACzC,QAAQ,QAAQ,EAAE,KAAK,CAAC,QAAQ;AAChC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;AAClB,IAAI,iBAAiB,CAAC;AACtB,QAAQ,UAAU,EAAE,KAAK,CAAC,MAAM;AAChC,QAAQ,GAAG,EAAE,KAAK,CAAC,GAAG;AACtB,QAAQ,SAAS,EAAE,GAAG;AACtB,KAAK,CAAC,CAAC;AACP,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,QAAQ,IAAI,EAAE,KAAK,CAAC,IAAI;AACxB,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,sBAAsB,GAAG,OAAO,QAAQ,KAAK;AACnD,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC,QAAQ,MAAM,KAAK,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,QAAQ,MAAM,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnE,KAAK;AACL,SAAS;AACT,QAAQ,OAAO;AACf,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE;AACrC,gBAAgB,IAAI,EAAE,MAAM;AAC5B,aAAa,CAAC;AACd,YAAY,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;AAC9C,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACU,MAAC,UAAU,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE;;;;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Headers } from '@aws-amplify/core/internals/aws-client-utils';
|
|
2
2
|
import { ServiceError } from '@aws-amplify/core/internals/utils';
|
|
3
|
-
import { MetadataBearer } from '@aws-sdk/types';
|
|
4
3
|
import { CompletedPart } from '../s3data';
|
|
5
4
|
type PropertyNameWithStringValue = string;
|
|
6
5
|
type PropertyNameWithSubsequentDeserializer<T> = [string, (arg: any) => T];
|
|
@@ -98,7 +97,7 @@ export declare const deserializeMetadata: (headers: Headers) => Record<string, s
|
|
|
98
97
|
*
|
|
99
98
|
* @internal
|
|
100
99
|
*/
|
|
101
|
-
export declare const buildStorageServiceError: (error: Error
|
|
100
|
+
export declare const buildStorageServiceError: (error: Error, statusCode: number) => ServiceError;
|
|
102
101
|
/**
|
|
103
102
|
* Internal-only method used for deserializing the parts of a multipart upload.
|
|
104
103
|
*
|
|
@@ -145,7 +145,6 @@ const buildStorageServiceError = (error, statusCode) => {
|
|
|
145
145
|
const storageError = new StorageError({
|
|
146
146
|
name: error.name,
|
|
147
147
|
message: error.message,
|
|
148
|
-
responseMetadata: error.$metadata,
|
|
149
148
|
});
|
|
150
149
|
if (statusCode === 404) {
|
|
151
150
|
storageError.recoverySuggestion =
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserializeHelpers.mjs","sources":["../../../../../../../src/providers/s3/utils/client/utils/deserializeHelpers.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { StorageError } from '../../../../../errors/StorageError';\n/**\n * Maps an object to a new object using the provided instructions.\n * The instructions are a map of the returning mapped object's property names to a single instruction of how to map the\n * value from the original object to the new object. There are two types of instructions:\n *\n * 1. A string representing the property name of the original object to map to the new object. The value mapped from\n * the original object will be the same as the value in the new object, and it can ONLY be string.\n *\n * 2. An array of two elements. The first element is the property name of the original object to map to the new object.\n * The second element is a function that takes the value from the original object and returns the value to be mapped to\n * the new object. The function can return any type.\n *\n * Example:\n * ```typescript\n * const input = {\n * Foo: 'foo',\n * BarList: [{value: 'bar1'}, {value: 'bar2'}]\n * }\n * const output = map(input, {\n * someFoo: 'Foo',\n * bar: ['BarList', (barList) => barList.map(bar => bar.value)]\n * baz: 'Baz' // Baz does not exist in input, so it will not be in the output.\n * });\n * // output = { someFoo: 'foo', bar: ['bar1', 'bar2'] }\n * ```\n *\n * @param obj The object containing the data to compose mapped object.\n * @param instructions The instructions mapping the object values to the new object.\n * @returns A new object with the mapped values.\n *\n * @internal\n */\nexport const map = (obj, instructions) => {\n const result = {};\n for (const [key, instruction] of Object.entries(instructions)) {\n const [accessor, deserializer] = Array.isArray(instruction)\n ? instruction\n : [instruction];\n if (Object.prototype.hasOwnProperty.call(obj, accessor)) {\n result[key] = deserializer\n ? deserializer(obj[accessor])\n : String(obj[accessor]);\n }\n }\n return result;\n};\n/**\n * Deserializes a string to a number. Returns undefined if input is undefined.\n *\n * @internal\n */\nexport const deserializeNumber = (value) => value ? Number(value) : undefined;\n/**\n * Deserializes a string to a boolean. Returns undefined if input is undefined. Returns true if input is 'true',\n * otherwise false.\n *\n * @internal\n */\nexport const deserializeBoolean = (value) => {\n return value ? value === 'true' : undefined;\n};\n/**\n * Deserializes a string to a Date. Returns undefined if input is undefined.\n * It supports epoch timestamp; rfc3339(cannot have a UTC, fractional precision supported); rfc7231(section 7.1.1.1)\n *\n * @see https://www.epoch101.com/\n * @see https://datatracker.ietf.org/doc/html/rfc3339.html#section-5.6\n * @see https://datatracker.ietf.org/doc/html/rfc7231.html#section-7.1.1.1\n *\n * @note For bundle size consideration, we use Date constructor to parse the timestamp string. There might be slight\n * difference among browsers.\n *\n * @internal\n */\nexport const deserializeTimestamp = (value) => {\n return value ? new Date(value) : undefined;\n};\n/**\n * Create a function deserializing a string to an enum value. If the string is not a valid enum value, it throws a\n * StorageError.\n *\n * @example\n * ```typescript\n * const deserializeStringEnum = createStringEnumDeserializer(['a', 'b', 'c'] as const, 'FieldName');\n * const deserializedArray = ['a', 'b', 'c'].map(deserializeStringEnum);\n * // deserializedArray = ['a', 'b', 'c']\n *\n * const invalidValue = deserializeStringEnum('d');\n * // Throws InvalidFieldName: Invalid FieldName: d\n * ```\n *\n * @internal\n */\nexport const createStringEnumDeserializer = (enumValues, fieldName) => {\n const deserializeStringEnum = (value) => {\n const parsedEnumValue = value\n ? enumValues.find(enumValue => enumValue === value)\n : undefined;\n if (!parsedEnumValue) {\n throw new StorageError({\n name: `Invalid${fieldName}`,\n message: `Invalid ${fieldName}: ${value}`,\n recoverySuggestion: 'This is likely to be a bug. Please reach out to library authors.',\n });\n }\n return parsedEnumValue;\n };\n return deserializeStringEnum;\n};\n/**\n * Function that makes sure the deserializer receives non-empty array.\n *\n * @internal\n */\nexport const emptyArrayGuard = (value, deserializer) => {\n if (value === '') {\n return [];\n }\n const valueArray = (Array.isArray(value) ? value : [value]).filter(e => e != null);\n return deserializer(valueArray);\n};\n/**\n * @internal\n */\nexport const deserializeMetadata = (headers) => {\n const objectMetadataHeaderPrefix = 'x-amz-meta-';\n const deserialized = Object.keys(headers)\n .filter(header => header.startsWith(objectMetadataHeaderPrefix))\n .reduce((acc, header) => {\n acc[header.replace(objectMetadataHeaderPrefix, '')] = headers[header];\n return acc;\n }, {});\n return Object.keys(deserialized).length > 0 ? deserialized : undefined;\n};\n/**\n * Internal-only method to create a new StorageError from a service error.\n *\n * @internal\n */\nexport const buildStorageServiceError = (error, statusCode) => {\n const storageError = new StorageError({\n name: error.name,\n message: error.message,\n
|
|
1
|
+
{"version":3,"file":"deserializeHelpers.mjs","sources":["../../../../../../../src/providers/s3/utils/client/utils/deserializeHelpers.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { StorageError } from '../../../../../errors/StorageError';\n/**\n * Maps an object to a new object using the provided instructions.\n * The instructions are a map of the returning mapped object's property names to a single instruction of how to map the\n * value from the original object to the new object. There are two types of instructions:\n *\n * 1. A string representing the property name of the original object to map to the new object. The value mapped from\n * the original object will be the same as the value in the new object, and it can ONLY be string.\n *\n * 2. An array of two elements. The first element is the property name of the original object to map to the new object.\n * The second element is a function that takes the value from the original object and returns the value to be mapped to\n * the new object. The function can return any type.\n *\n * Example:\n * ```typescript\n * const input = {\n * Foo: 'foo',\n * BarList: [{value: 'bar1'}, {value: 'bar2'}]\n * }\n * const output = map(input, {\n * someFoo: 'Foo',\n * bar: ['BarList', (barList) => barList.map(bar => bar.value)]\n * baz: 'Baz' // Baz does not exist in input, so it will not be in the output.\n * });\n * // output = { someFoo: 'foo', bar: ['bar1', 'bar2'] }\n * ```\n *\n * @param obj The object containing the data to compose mapped object.\n * @param instructions The instructions mapping the object values to the new object.\n * @returns A new object with the mapped values.\n *\n * @internal\n */\nexport const map = (obj, instructions) => {\n const result = {};\n for (const [key, instruction] of Object.entries(instructions)) {\n const [accessor, deserializer] = Array.isArray(instruction)\n ? instruction\n : [instruction];\n if (Object.prototype.hasOwnProperty.call(obj, accessor)) {\n result[key] = deserializer\n ? deserializer(obj[accessor])\n : String(obj[accessor]);\n }\n }\n return result;\n};\n/**\n * Deserializes a string to a number. Returns undefined if input is undefined.\n *\n * @internal\n */\nexport const deserializeNumber = (value) => value ? Number(value) : undefined;\n/**\n * Deserializes a string to a boolean. Returns undefined if input is undefined. Returns true if input is 'true',\n * otherwise false.\n *\n * @internal\n */\nexport const deserializeBoolean = (value) => {\n return value ? value === 'true' : undefined;\n};\n/**\n * Deserializes a string to a Date. Returns undefined if input is undefined.\n * It supports epoch timestamp; rfc3339(cannot have a UTC, fractional precision supported); rfc7231(section 7.1.1.1)\n *\n * @see https://www.epoch101.com/\n * @see https://datatracker.ietf.org/doc/html/rfc3339.html#section-5.6\n * @see https://datatracker.ietf.org/doc/html/rfc7231.html#section-7.1.1.1\n *\n * @note For bundle size consideration, we use Date constructor to parse the timestamp string. There might be slight\n * difference among browsers.\n *\n * @internal\n */\nexport const deserializeTimestamp = (value) => {\n return value ? new Date(value) : undefined;\n};\n/**\n * Create a function deserializing a string to an enum value. If the string is not a valid enum value, it throws a\n * StorageError.\n *\n * @example\n * ```typescript\n * const deserializeStringEnum = createStringEnumDeserializer(['a', 'b', 'c'] as const, 'FieldName');\n * const deserializedArray = ['a', 'b', 'c'].map(deserializeStringEnum);\n * // deserializedArray = ['a', 'b', 'c']\n *\n * const invalidValue = deserializeStringEnum('d');\n * // Throws InvalidFieldName: Invalid FieldName: d\n * ```\n *\n * @internal\n */\nexport const createStringEnumDeserializer = (enumValues, fieldName) => {\n const deserializeStringEnum = (value) => {\n const parsedEnumValue = value\n ? enumValues.find(enumValue => enumValue === value)\n : undefined;\n if (!parsedEnumValue) {\n throw new StorageError({\n name: `Invalid${fieldName}`,\n message: `Invalid ${fieldName}: ${value}`,\n recoverySuggestion: 'This is likely to be a bug. Please reach out to library authors.',\n });\n }\n return parsedEnumValue;\n };\n return deserializeStringEnum;\n};\n/**\n * Function that makes sure the deserializer receives non-empty array.\n *\n * @internal\n */\nexport const emptyArrayGuard = (value, deserializer) => {\n if (value === '') {\n return [];\n }\n const valueArray = (Array.isArray(value) ? value : [value]).filter(e => e != null);\n return deserializer(valueArray);\n};\n/**\n * @internal\n */\nexport const deserializeMetadata = (headers) => {\n const objectMetadataHeaderPrefix = 'x-amz-meta-';\n const deserialized = Object.keys(headers)\n .filter(header => header.startsWith(objectMetadataHeaderPrefix))\n .reduce((acc, header) => {\n acc[header.replace(objectMetadataHeaderPrefix, '')] = headers[header];\n return acc;\n }, {});\n return Object.keys(deserialized).length > 0 ? deserialized : undefined;\n};\n/**\n * Internal-only method to create a new StorageError from a service error.\n *\n * @internal\n */\nexport const buildStorageServiceError = (error, statusCode) => {\n const storageError = new StorageError({\n name: error.name,\n message: error.message,\n });\n if (statusCode === 404) {\n storageError.recoverySuggestion =\n 'Please add the object with this key to the bucket as the key is not found.';\n }\n return storageError;\n};\n/**\n * Internal-only method used for deserializing the parts of a multipart upload.\n *\n * @internal\n */\nexport const deserializeCompletedPartList = (input) => input.map(item => map(item, {\n PartNumber: ['PartNumber', deserializeNumber],\n ETag: 'ETag',\n ChecksumCRC32: 'ChecksumCRC32',\n}));\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-amplify/storage",
|
|
3
|
-
"version": "6.7.9-
|
|
3
|
+
"version": "6.7.9-unstable.22ca811.0+22ca811",
|
|
4
4
|
"description": "Storage category of aws-amplify",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.mjs",
|
|
@@ -108,13 +108,13 @@
|
|
|
108
108
|
"./package.json": "./package.json"
|
|
109
109
|
},
|
|
110
110
|
"peerDependencies": {
|
|
111
|
-
"@aws-amplify/core": "6.9.3-
|
|
111
|
+
"@aws-amplify/core": "6.9.3-unstable.22ca811.0+22ca811"
|
|
112
112
|
},
|
|
113
113
|
"devDependencies": {
|
|
114
|
-
"@aws-amplify/core": "6.9.3-
|
|
115
|
-
"@aws-amplify/react-native": "1.1.7-
|
|
114
|
+
"@aws-amplify/core": "6.9.3-unstable.22ca811.0+22ca811",
|
|
115
|
+
"@aws-amplify/react-native": "1.1.7-unstable.22ca811.0+22ca811",
|
|
116
116
|
"@types/node": "20.14.12",
|
|
117
117
|
"typescript": "5.0.2"
|
|
118
118
|
},
|
|
119
|
-
"gitHead": "
|
|
119
|
+
"gitHead": "22ca811743f6729d3a00dd71726ff6b5afb44b53"
|
|
120
120
|
}
|
|
@@ -64,8 +64,8 @@ const getDataAccessDeserializer = async (
|
|
|
64
64
|
): Promise<GetDataAccessCommandOutput> => {
|
|
65
65
|
if (response.statusCode >= 300) {
|
|
66
66
|
// error is always set when statusCode >= 300
|
|
67
|
-
const error = await parseXmlError(response);
|
|
68
|
-
throw buildStorageServiceError(error
|
|
67
|
+
const error = (await parseXmlError(response)) as Error;
|
|
68
|
+
throw buildStorageServiceError(error, response.statusCode);
|
|
69
69
|
} else {
|
|
70
70
|
const parsed = await parseXmlBody(response);
|
|
71
71
|
const contents = map(parsed, {
|
|
@@ -71,8 +71,8 @@ const listCallerAccessGrantsDeserializer = async (
|
|
|
71
71
|
): Promise<ListCallerAccessGrantsOutput> => {
|
|
72
72
|
if (response.statusCode >= 300) {
|
|
73
73
|
// error is always set when statusCode >= 300
|
|
74
|
-
const error = await parseXmlError(response);
|
|
75
|
-
throw buildStorageServiceError(error
|
|
74
|
+
const error = (await parseXmlError(response)) as Error;
|
|
75
|
+
throw buildStorageServiceError(error, response.statusCode);
|
|
76
76
|
} else {
|
|
77
77
|
const parsed = await parseXmlBody(response);
|
|
78
78
|
const contents = map(parsed, {
|
|
@@ -42,7 +42,6 @@ const abortMultipartUploadSerializer = (
|
|
|
42
42
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
43
43
|
validateS3RequiredParameter(!!input.UploadId, 'UploadId');
|
|
44
44
|
url.search = new AmplifyUrlSearchParams({
|
|
45
|
-
'x-id': 'AbortMultipartUpload',
|
|
46
45
|
uploadId: input.UploadId,
|
|
47
46
|
}).toString();
|
|
48
47
|
validateObjectUrl({
|
|
@@ -67,8 +66,8 @@ const abortMultipartUploadDeserializer = async (
|
|
|
67
66
|
response: HttpResponse,
|
|
68
67
|
): Promise<AbortMultipartUploadOutput> => {
|
|
69
68
|
if (response.statusCode >= 300) {
|
|
70
|
-
const error = await parseXmlError(response);
|
|
71
|
-
throw buildStorageServiceError(error
|
|
69
|
+
const error = (await parseXmlError(response)) as Error;
|
|
70
|
+
throw buildStorageServiceError(error, response.statusCode);
|
|
72
71
|
} else {
|
|
73
72
|
return {
|
|
74
73
|
$metadata: parseMetadata(response),
|
|
@@ -36,11 +36,7 @@ import type {
|
|
|
36
36
|
} from './types';
|
|
37
37
|
|
|
38
38
|
const INVALID_PARAMETER_ERROR_MSG =
|
|
39
|
-
'Invalid parameter for
|
|
40
|
-
|
|
41
|
-
const MISSING_ETAG_ERROR_MSG = 'ETag missing from multipart upload';
|
|
42
|
-
const MISSING_ETAG_ERROR_SUGGESTION =
|
|
43
|
-
'Please ensure S3 bucket CORS configuration includes ETag as part of its `ExposeHeaders` element';
|
|
39
|
+
'Invalid parameter for ComplteMultipartUpload API';
|
|
44
40
|
|
|
45
41
|
export type CompleteMultipartUploadInput = Pick<
|
|
46
42
|
CompleteMultipartUploadCommandInput,
|
|
@@ -99,7 +95,7 @@ const serializeCompletedMultipartUpload = (
|
|
|
99
95
|
input: CompletedMultipartUpload,
|
|
100
96
|
): string => {
|
|
101
97
|
if (!input.Parts?.length) {
|
|
102
|
-
throw new Error(`${INVALID_PARAMETER_ERROR_MSG}: ${
|
|
98
|
+
throw new Error(`${INVALID_PARAMETER_ERROR_MSG}: ${input}`);
|
|
103
99
|
}
|
|
104
100
|
|
|
105
101
|
return `<CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/">${input.Parts.map(
|
|
@@ -108,13 +104,8 @@ const serializeCompletedMultipartUpload = (
|
|
|
108
104
|
};
|
|
109
105
|
|
|
110
106
|
const serializeCompletedPartList = (input: CompletedPart): string => {
|
|
111
|
-
if (input.PartNumber == null) {
|
|
112
|
-
throw new Error(`${INVALID_PARAMETER_ERROR_MSG}: ${
|
|
113
|
-
}
|
|
114
|
-
if (!input.ETag) {
|
|
115
|
-
throw new Error(
|
|
116
|
-
`${MISSING_ETAG_ERROR_MSG}: ${JSON.stringify(input)}. ${MISSING_ETAG_ERROR_SUGGESTION}`,
|
|
117
|
-
);
|
|
107
|
+
if (!input.ETag || input.PartNumber == null) {
|
|
108
|
+
throw new Error(`${INVALID_PARAMETER_ERROR_MSG}: ${input}`);
|
|
118
109
|
}
|
|
119
110
|
|
|
120
111
|
const eTag = `<ETag>${input.ETag}</ETag>`;
|
|
@@ -135,11 +126,11 @@ const serializeCompletedPartList = (input: CompletedPart): string => {
|
|
|
135
126
|
const parseXmlBodyOrThrow = async (response: HttpResponse): Promise<any> => {
|
|
136
127
|
const parsed = await parseXmlBody(response); // Handles empty body case
|
|
137
128
|
if (parsed.Code !== undefined && parsed.Message !== undefined) {
|
|
138
|
-
const error = await parseXmlError({
|
|
129
|
+
const error = (await parseXmlError({
|
|
139
130
|
...response,
|
|
140
131
|
statusCode: 500, // To workaround the >=300 status code check common to other APIs.
|
|
141
|
-
});
|
|
142
|
-
throw buildStorageServiceError(error
|
|
132
|
+
})) as Error;
|
|
133
|
+
throw buildStorageServiceError(error, response.statusCode);
|
|
143
134
|
}
|
|
144
135
|
|
|
145
136
|
return parsed;
|
|
@@ -149,8 +140,8 @@ const completeMultipartUploadDeserializer = async (
|
|
|
149
140
|
response: HttpResponse,
|
|
150
141
|
): Promise<CompleteMultipartUploadOutput> => {
|
|
151
142
|
if (response.statusCode >= 300) {
|
|
152
|
-
const error = await parseXmlError(response);
|
|
153
|
-
throw buildStorageServiceError(error
|
|
143
|
+
const error = (await parseXmlError(response)) as Error;
|
|
144
|
+
throw buildStorageServiceError(error, response.statusCode);
|
|
154
145
|
} else {
|
|
155
146
|
const parsed = await parseXmlBodyOrThrow(response);
|
|
156
147
|
const contents = map(parsed, {
|
|
@@ -7,10 +7,7 @@ import {
|
|
|
7
7
|
HttpResponse,
|
|
8
8
|
parseMetadata,
|
|
9
9
|
} from '@aws-amplify/core/internals/aws-client-utils';
|
|
10
|
-
import {
|
|
11
|
-
AmplifyUrl,
|
|
12
|
-
AmplifyUrlSearchParams,
|
|
13
|
-
} from '@aws-amplify/core/internals/utils';
|
|
10
|
+
import { AmplifyUrl } from '@aws-amplify/core/internals/utils';
|
|
14
11
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
15
12
|
|
|
16
13
|
import {
|
|
@@ -71,9 +68,6 @@ const copyObjectSerializer = async (
|
|
|
71
68
|
const url = new AmplifyUrl(endpoint.url.toString());
|
|
72
69
|
validateS3RequiredParameter(!!input.Key, 'Key');
|
|
73
70
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
74
|
-
url.search = new AmplifyUrlSearchParams({
|
|
75
|
-
'x-id': 'CopyObject',
|
|
76
|
-
}).toString();
|
|
77
71
|
validateObjectUrl({
|
|
78
72
|
bucketName: input.Bucket,
|
|
79
73
|
key: input.Key,
|
|
@@ -116,8 +110,8 @@ const copyObjectDeserializer = async (
|
|
|
116
110
|
response: HttpResponse,
|
|
117
111
|
): Promise<CopyObjectOutput> => {
|
|
118
112
|
if (response.statusCode >= 300) {
|
|
119
|
-
const error = await parseXmlError(response);
|
|
120
|
-
throw buildStorageServiceError(error
|
|
113
|
+
const error = (await parseXmlError(response)) as Error;
|
|
114
|
+
throw buildStorageServiceError(error, response.statusCode);
|
|
121
115
|
} else {
|
|
122
116
|
await parseXmlBody(response);
|
|
123
117
|
|
|
@@ -71,8 +71,8 @@ const createMultipartUploadDeserializer = async (
|
|
|
71
71
|
response: HttpResponse,
|
|
72
72
|
): Promise<CreateMultipartUploadOutput> => {
|
|
73
73
|
if (response.statusCode >= 300) {
|
|
74
|
-
const error = await parseXmlError(response);
|
|
75
|
-
throw buildStorageServiceError(error
|
|
74
|
+
const error = (await parseXmlError(response)) as Error;
|
|
75
|
+
throw buildStorageServiceError(error, response.statusCode);
|
|
76
76
|
} else {
|
|
77
77
|
const parsed = await parseXmlBody(response);
|
|
78
78
|
const contents = map(parsed, {
|
|
@@ -7,10 +7,7 @@ import {
|
|
|
7
7
|
HttpResponse,
|
|
8
8
|
parseMetadata,
|
|
9
9
|
} from '@aws-amplify/core/internals/aws-client-utils';
|
|
10
|
-
import {
|
|
11
|
-
AmplifyUrl,
|
|
12
|
-
AmplifyUrlSearchParams,
|
|
13
|
-
} from '@aws-amplify/core/internals/utils';
|
|
10
|
+
import { AmplifyUrl } from '@aws-amplify/core/internals/utils';
|
|
14
11
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
15
12
|
|
|
16
13
|
import {
|
|
@@ -44,9 +41,6 @@ const deleteObjectSerializer = (
|
|
|
44
41
|
const url = new AmplifyUrl(endpoint.url.toString());
|
|
45
42
|
validateS3RequiredParameter(!!input.Key, 'Key');
|
|
46
43
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
47
|
-
url.search = new AmplifyUrlSearchParams({
|
|
48
|
-
'x-id': 'DeleteObject',
|
|
49
|
-
}).toString();
|
|
50
44
|
validateObjectUrl({
|
|
51
45
|
bucketName: input.Bucket,
|
|
52
46
|
key: input.Key,
|
|
@@ -68,8 +62,8 @@ const deleteObjectDeserializer = async (
|
|
|
68
62
|
): Promise<DeleteObjectOutput> => {
|
|
69
63
|
if (response.statusCode >= 300) {
|
|
70
64
|
// error is always set when statusCode >= 300
|
|
71
|
-
const error = await parseXmlError(response);
|
|
72
|
-
throw buildStorageServiceError(error
|
|
65
|
+
const error = (await parseXmlError(response)) as Error;
|
|
66
|
+
throw buildStorageServiceError(error, response.statusCode);
|
|
73
67
|
} else {
|
|
74
68
|
const content = map(response.headers, {
|
|
75
69
|
DeleteMarker: ['x-amz-delete-marker', deserializeBoolean],
|
|
@@ -12,10 +12,7 @@ import {
|
|
|
12
12
|
presignUrl,
|
|
13
13
|
} from '@aws-amplify/core/internals/aws-client-utils';
|
|
14
14
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
15
|
-
import {
|
|
16
|
-
AmplifyUrl,
|
|
17
|
-
AmplifyUrlSearchParams,
|
|
18
|
-
} from '@aws-amplify/core/internals/utils';
|
|
15
|
+
import { AmplifyUrl } from '@aws-amplify/core/internals/utils';
|
|
19
16
|
|
|
20
17
|
import {
|
|
21
18
|
CONTENT_SHA256_HEADER,
|
|
@@ -64,9 +61,6 @@ const getObjectSerializer = async (
|
|
|
64
61
|
const url = new AmplifyUrl(endpoint.url.toString());
|
|
65
62
|
validateS3RequiredParameter(!!input.Key, 'Key');
|
|
66
63
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
67
|
-
url.search = new AmplifyUrlSearchParams({
|
|
68
|
-
'x-id': 'GetObject',
|
|
69
|
-
}).toString();
|
|
70
64
|
validateObjectUrl({
|
|
71
65
|
bucketName: input.Bucket,
|
|
72
66
|
key: input.Key,
|
|
@@ -89,8 +83,8 @@ const getObjectDeserializer = async (
|
|
|
89
83
|
response: HttpResponse,
|
|
90
84
|
): Promise<GetObjectOutput> => {
|
|
91
85
|
if (response.statusCode >= 300) {
|
|
92
|
-
const error = await parseXmlError(response);
|
|
93
|
-
throw buildStorageServiceError(error
|
|
86
|
+
const error = (await parseXmlError(response)) as Error;
|
|
87
|
+
throw buildStorageServiceError(error, response.statusCode);
|
|
94
88
|
} else {
|
|
95
89
|
return {
|
|
96
90
|
...map(response.headers, {
|
|
@@ -70,8 +70,8 @@ const headObjectDeserializer = async (
|
|
|
70
70
|
): Promise<HeadObjectOutput> => {
|
|
71
71
|
if (response.statusCode >= 300) {
|
|
72
72
|
// error is always set when statusCode >= 300
|
|
73
|
-
const error = await parseXmlError(response);
|
|
74
|
-
throw buildStorageServiceError(error
|
|
73
|
+
const error = (await parseXmlError(response)) as Error;
|
|
74
|
+
throw buildStorageServiceError(error, response.statusCode);
|
|
75
75
|
} else {
|
|
76
76
|
const contents = {
|
|
77
77
|
...map(response.headers, {
|
|
@@ -69,8 +69,8 @@ const listObjectsV2Deserializer = async (
|
|
|
69
69
|
): Promise<ListObjectsV2Output> => {
|
|
70
70
|
if (response.statusCode >= 300) {
|
|
71
71
|
// error is always set when statusCode >= 300
|
|
72
|
-
const error = await parseXmlError(response);
|
|
73
|
-
throw buildStorageServiceError(error
|
|
72
|
+
const error = (await parseXmlError(response)) as Error;
|
|
73
|
+
throw buildStorageServiceError(error, response.statusCode);
|
|
74
74
|
} else {
|
|
75
75
|
const parsed = await parseXmlBody(response);
|
|
76
76
|
const contents = map(parsed, {
|
|
@@ -47,7 +47,6 @@ const listPartsSerializer = async (
|
|
|
47
47
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
48
48
|
validateS3RequiredParameter(!!input.UploadId, 'UploadId');
|
|
49
49
|
url.search = new AmplifyUrlSearchParams({
|
|
50
|
-
'x-id': 'ListParts',
|
|
51
50
|
uploadId: input.UploadId,
|
|
52
51
|
}).toString();
|
|
53
52
|
|
|
@@ -62,8 +61,8 @@ const listPartsDeserializer = async (
|
|
|
62
61
|
response: HttpResponse,
|
|
63
62
|
): Promise<ListPartsOutput> => {
|
|
64
63
|
if (response.statusCode >= 300) {
|
|
65
|
-
const error = await parseXmlError(response);
|
|
66
|
-
throw buildStorageServiceError(error
|
|
64
|
+
const error = (await parseXmlError(response)) as Error;
|
|
65
|
+
throw buildStorageServiceError(error, response.statusCode);
|
|
67
66
|
} else {
|
|
68
67
|
const parsed = await parseXmlBody(response);
|
|
69
68
|
const contents = map(parsed, {
|
|
@@ -7,10 +7,7 @@ import {
|
|
|
7
7
|
HttpResponse,
|
|
8
8
|
parseMetadata,
|
|
9
9
|
} from '@aws-amplify/core/internals/aws-client-utils';
|
|
10
|
-
import {
|
|
11
|
-
AmplifyUrl,
|
|
12
|
-
AmplifyUrlSearchParams,
|
|
13
|
-
} from '@aws-amplify/core/internals/utils';
|
|
10
|
+
import { AmplifyUrl } from '@aws-amplify/core/internals/utils';
|
|
14
11
|
import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
|
|
15
12
|
|
|
16
13
|
import {
|
|
@@ -72,9 +69,6 @@ const putObjectSerializer = async (
|
|
|
72
69
|
const url = new AmplifyUrl(endpoint.url.toString());
|
|
73
70
|
validateS3RequiredParameter(!!input.Key, 'Key');
|
|
74
71
|
url.pathname = serializePathnameObjectKey(url, input.Key);
|
|
75
|
-
url.search = new AmplifyUrlSearchParams({
|
|
76
|
-
'x-id': 'PutObject',
|
|
77
|
-
}).toString();
|
|
78
72
|
validateObjectUrl({
|
|
79
73
|
bucketName: input.Bucket,
|
|
80
74
|
key: input.Key,
|
|
@@ -93,8 +87,8 @@ const putObjectDeserializer = async (
|
|
|
93
87
|
response: HttpResponse,
|
|
94
88
|
): Promise<PutObjectOutput> => {
|
|
95
89
|
if (response.statusCode >= 300) {
|
|
96
|
-
const error = await parseXmlError(response);
|
|
97
|
-
throw buildStorageServiceError(error
|
|
90
|
+
const error = (await parseXmlError(response)) as Error;
|
|
91
|
+
throw buildStorageServiceError(error, response.statusCode);
|
|
98
92
|
} else {
|
|
99
93
|
return {
|
|
100
94
|
...map(response.headers, {
|
|
@@ -84,8 +84,8 @@ const uploadPartDeserializer = async (
|
|
|
84
84
|
response: HttpResponse,
|
|
85
85
|
): Promise<UploadPartOutput> => {
|
|
86
86
|
if (response.statusCode >= 300) {
|
|
87
|
-
const error = await parseXmlError(response);
|
|
88
|
-
throw buildStorageServiceError(error
|
|
87
|
+
const error = (await parseXmlError(response)) as Error;
|
|
88
|
+
throw buildStorageServiceError(error, response.statusCode);
|
|
89
89
|
} else {
|
|
90
90
|
return {
|
|
91
91
|
...map(response.headers, {
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
|
|
4
4
|
import { Headers } from '@aws-amplify/core/internals/aws-client-utils';
|
|
5
5
|
import { ServiceError } from '@aws-amplify/core/internals/utils';
|
|
6
|
-
import { MetadataBearer } from '@aws-sdk/types';
|
|
7
6
|
|
|
8
7
|
import { StorageError } from '../../../../../errors/StorageError';
|
|
9
8
|
import { CompletedPart } from '../s3data';
|
|
@@ -190,13 +189,12 @@ export const deserializeMetadata = (
|
|
|
190
189
|
* @internal
|
|
191
190
|
*/
|
|
192
191
|
export const buildStorageServiceError = (
|
|
193
|
-
error: Error
|
|
192
|
+
error: Error,
|
|
194
193
|
statusCode: number,
|
|
195
194
|
): ServiceError => {
|
|
196
195
|
const storageError = new StorageError({
|
|
197
196
|
name: error.name,
|
|
198
197
|
message: error.message,
|
|
199
|
-
responseMetadata: error.$metadata,
|
|
200
198
|
});
|
|
201
199
|
if (statusCode === 404) {
|
|
202
200
|
storageError.recoverySuggestion =
|