{"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        // error is always set when statusCode >= 300\n        throw buildStorageServiceError((await parseXmlError(response)));\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;AACL,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AACvD,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC;AACnD,IAAI,GAAG,CAAC,QAAQ,GAAG,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;AAC7D,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC;AACjE,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC;AAC7D,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;AACjB,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;AACN,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,QAAQ,IAAI,EAAE,KAAK,CAAC,IAAI;AACxB,KAAK;AACL,CAAC;AACD,MAAM,sBAAsB,GAAG,OAAO,QAAQ,KAAK;AACnD,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC;AACA,QAAQ,MAAM,wBAAwB,EAAE,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE;AACvE,IAAI;AACJ,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;AACT,IAAI;AACJ,CAAC;AACW,MAAC,UAAU,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE;;;;"}