UNPKG

@aws-amplify/storage

Version:

Storage category of aws-amplify

1 lines 3.25 kB
{"version":3,"file":"parsePayload.mjs","sources":["../../../../../../../src/providers/s3/utils/client/utils/parsePayload.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 { parser } from '../runtime';\n/**\n * Factory creating a parser that parses the JS Error object from the XML\n * response payload.\n *\n * @param input Input object\n * @param input.noErrorWrapping Whether the error code and message are located\n * directly in the root XML element, or in a nested `<Error>` element.\n * See: https://smithy.io/2.0/aws/protocols/aws-restxml-protocol.html#restxml-errors\n *\n * Default to false.\n *\n * @internal\n */\nexport const createXmlErrorParser = ({ noErrorWrapping = false, } = {}) => async (response) => {\n if (!response || response.statusCode < 300) {\n return;\n }\n const { statusCode } = response;\n const body = await parseXmlBody(response);\n const errorLocation = noErrorWrapping ? body : body.Error;\n const code = errorLocation?.Code\n ? errorLocation.Code\n : statusCode === 404\n ? 'NotFound'\n : statusCode.toString();\n const message = errorLocation?.message ?? errorLocation?.Message ?? code;\n const error = new Error(message);\n return Object.assign(error, {\n name: code,\n $metadata: parseMetadata(response),\n });\n};\nexport const parseXmlBody = async (response) => {\n if (!response.body) {\n // S3 can return 200 without a body indicating failure.\n throw new Error('S3 aborted request.');\n }\n const data = await response.body.text();\n if (data?.length > 0) {\n try {\n return parser.parse(data);\n }\n catch (error) {\n throw new Error(`Failed to parse XML response: ${error}`);\n }\n }\n return {};\n};\n"],"names":[],"mappings":";;;;;;AAAA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,oBAAoB,GAAG,CAAC,EAAE,eAAe,GAAG,KAAK,GAAG,GAAG,EAAE,KAAK,OAAO,QAAQ,KAAK;AAC/F,IAAI,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,GAAG,GAAG,EAAE;AAChD,QAAQ;AACR,IAAI;AACJ,IAAI,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ;AACnC,IAAI,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC;AAC7C,IAAI,MAAM,aAAa,GAAG,eAAe,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK;AAC7D,IAAI,MAAM,IAAI,GAAG,aAAa,EAAE;AAChC,UAAU,aAAa,CAAC;AACxB,UAAU,UAAU,KAAK;AACzB,cAAc;AACd,cAAc,UAAU,CAAC,QAAQ,EAAE;AACnC,IAAI,MAAM,OAAO,GAAG,aAAa,EAAE,OAAO,IAAI,aAAa,EAAE,OAAO,IAAI,IAAI;AAC5E,IAAI,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC;AACpC,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;AAChC,QAAQ,IAAI,EAAE,IAAI;AAClB,QAAQ,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;AAC1C,KAAK,CAAC;AACN;AACY,MAAC,YAAY,GAAG,OAAO,QAAQ,KAAK;AAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AACxB;AACA,QAAQ,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;AAC9C,IAAI;AACJ,IAAI,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;AAC3C,IAAI,IAAI,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE;AAC1B,QAAQ,IAAI;AACZ,YAAY,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;AACrC,QAAQ;AACR,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC,CAAC;AACrE,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,EAAE;AACb;;;;"}