@aws-amplify/storage
Version:
Storage category of aws-amplify
1 lines • 5.21 kB
Source Map (JSON)
{"version":3,"file":"deleteObjects.mjs","sources":["../../../../../../../src/providers/s3/utils/client/s3data/deleteObjects.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, s3TransferHandler, validateS3RequiredParameter, } from '../utils';\nimport { generateDeleteObjectsXml } from '../../generateDeleteObjectsXml';\nimport { calculateContentMd5 } from '../../md5';\nimport { defaultConfig, parseXmlError } from './base';\nconst deleteObjectsSerializer = async (input, endpoint) => {\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Delete, 'Delete');\n url.pathname = '/';\n url.search = new AmplifyUrlSearchParams({\n delete: '',\n }).toString();\n const body = generateDeleteObjectsXml(input.Delete.Objects, input.Delete.Quiet ?? false);\n const contentMd5 = input.ContentMD5 ?? (await calculateContentMd5(body));\n const headers = assignStringVariables({\n 'x-amz-expected-bucket-owner': input.ExpectedBucketOwner,\n 'content-type': 'application/xml',\n 'content-md5': contentMd5,\n });\n const request = {\n method: 'POST',\n headers,\n url,\n body,\n };\n return request;\n};\nconst deleteObjectsDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = await parseXmlError(response);\n throw buildStorageServiceError(error);\n }\n const text = await response.body.text();\n const deleted = [];\n const errors = [];\n const deletedMatches = text.matchAll(/<Deleted>[\\s\\S]*?<\\/Deleted>/g);\n for (const match of deletedMatches) {\n const keyMatch = match[0].match(/<Key>(.*?)<\\/Key>/);\n if (keyMatch) {\n deleted.push({ Key: keyMatch[1] });\n }\n }\n const errorMatches = text.matchAll(/<Error>[\\s\\S]*?<\\/Error>/g);\n for (const match of errorMatches) {\n const keyMatch = match[0].match(/<Key>(.*?)<\\/Key>/);\n const codeMatch = match[0].match(/<Code>(.*?)<\\/Code>/);\n const messageMatch = match[0].match(/<Message>(.*?)<\\/Message>/);\n errors.push({\n Key: keyMatch?.[1],\n Code: codeMatch?.[1],\n Message: messageMatch?.[1],\n });\n }\n const result = {\n Deleted: deleted,\n Errors: errors,\n $metadata: parseMetadata(response),\n };\n return result;\n};\nexport const deleteObjects = composeServiceApi(s3TransferHandler, deleteObjectsSerializer, deleteObjectsDeserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":"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"}