UNPKG

azurite

Version:

An open source Azure Storage API compatible server

50 lines 2.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const constants_1 = require("../../queue/utils/constants"); const MiddlewareError_1 = tslib_1.__importDefault(require("../generated/errors/MiddlewareError")); const xml_1 = require("../generated/utils/xml"); /** * Represents an Azure Storage Server Error. * * @export * @class StorageError * @extends {MiddlewareError} */ class StorageError extends MiddlewareError_1.default { /** * Creates an instance of StorageError. * * @param {number} statusCode HTTP response status code * @param {string} storageErrorCode Azure Storage error code, will be in response body and header * @param {string} storageErrorMessage Azure Storage error message * @param {string} storageRequestID Azure Storage server request ID * @param {{ [key: string]: string }} [storageAdditionalErrorMessages={}] * Additional error messages will be included in XML body * @memberof StorageError */ constructor(statusCode, storageErrorCode, storageErrorMessage, storageRequestID, storageAdditionalErrorMessages = {}) { const bodyInJSON = { Code: storageErrorCode, Message: `${storageErrorMessage}\nRequestId:${storageRequestID}\nTime:${new Date().toISOString()}` }; for (const key in storageAdditionalErrorMessages) { if (storageAdditionalErrorMessages.hasOwnProperty(key)) { const element = storageAdditionalErrorMessages[key]; bodyInJSON[key] = element; } } const bodyInXML = (0, xml_1.jsonToXML)({ Error: bodyInJSON }); super(statusCode, storageErrorMessage, storageErrorMessage, { "x-ms-error-code": storageErrorCode, "x-ms-request-id": storageRequestID, "x-ms-version": constants_1.QUEUE_API_VERSION }, bodyInXML, "application/xml"); this.name = "StorageError"; this.storageErrorCode = storageErrorCode; this.storageErrorMessage = storageErrorMessage; this.storageRequestID = storageRequestID; } } exports.default = StorageError; //# sourceMappingURL=StorageError.js.map