25 lines
1.0 KiB
JavaScript
25 lines
1.0 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.throwDefaultError = void 0;
|
|
const exceptions_1 = require("./exceptions");
|
|
const throwDefaultError = ({ output, parsedBody, exceptionCtor, errorCode }) => {
|
|
const $metadata = deserializeMetadata(output);
|
|
const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + "" : undefined;
|
|
const response = new exceptionCtor({
|
|
name: parsedBody.code || parsedBody.Code || errorCode || statusCode || "UnknowError",
|
|
$fault: "client",
|
|
$metadata,
|
|
});
|
|
throw (0, exceptions_1.decorateServiceException)(response, parsedBody);
|
|
};
|
|
exports.throwDefaultError = throwDefaultError;
|
|
const deserializeMetadata = (output) => {
|
|
var _a;
|
|
return ({
|
|
httpStatusCode: output.statusCode,
|
|
requestId: (_a = output.headers["x-amzn-requestid"]) !== null && _a !== void 0 ? _a : output.headers["x-amzn-request-id"],
|
|
extendedRequestId: output.headers["x-amz-id-2"],
|
|
cfId: output.headers["x-amz-cf-id"],
|
|
});
|
|
};
|