UNPKG

@bitmovin/api-sdk

Version:

Bitmovin JS/TS API SDK

99 lines (98 loc) 4.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildBitmovinError = buildBitmovinError; exports.buildBitmovinErrorFromError = buildBitmovinErrorFromError; var BitmovinError_1 = require("./BitmovinError"); function appendLine(message, messageToAppend) { return "".concat(message).concat(messageToAppend, "\n"); } function getShortMessage(additionalInfo, errorResponse) { var shortMessage = "Request failed: ".concat(additionalInfo); if (errorResponse !== undefined && errorResponse.data !== undefined && errorResponse.data.message !== undefined) { shortMessage = errorResponse.data.message; } return shortMessage; } function buildBitmovinDetailMessage(details) { var message = appendLine('', " - id: ".concat(details.id)); message = appendLine(message, " date: ".concat(details.date)); message = appendLine(message, " type: ".concat(details.type)); message = appendLine(message, " text: ".concat(details.text)); return details.field == undefined ? message : appendLine(message, " field: ".concat(details.field)); } function appendRequestMessage(request) { var message = appendLine('', "request:"); message = appendLine(message, " method: ".concat(request.method)); message = appendLine(message, " url: ".concat(request.url)); return request.body == undefined ? message : appendLine(message, " body: ".concat(request.body)); } function appendResponseMessage(response, errorResponse) { var message = appendLine('', "response:"); message = appendLine(message, " httpStatusCode: ".concat(response.status)); if (errorResponse) { var body = errorResponse; if (!(typeof body === 'string' || body instanceof String)) { body = JSON.stringify(body); message = appendLine(message, " body: ".concat(body)); } } return message; } function buildDetails(details) { var message = appendLine('', 'details:'); for (var _i = 0, _a = Object.keys(details); _i < _a.length; _i++) { var detail = _a[_i]; message += buildBitmovinDetailMessage(details[detail]); } return message; } function buildLinks(links) { var message = appendLine('', 'links:'); for (var _i = 0, _a = Object.keys(links); _i < _a.length; _i++) { var link = _a[_i]; message = appendLine(message, " ".concat(links[link].title, " ").concat(links[link].href)); } return message; } function buildBitmovinError(additionalInfo, request, response, errorResponse, error) { var code; var details; var developerMessage; var links; var requestId; var shortMessage = getShortMessage(additionalInfo, errorResponse); var message = appendLine('', shortMessage); if (errorResponse !== undefined && errorResponse.data !== undefined) { var data = errorResponse.data; developerMessage = data.developerMessage; code = data.code; requestId = errorResponse.requestId; message = appendLine(message, "developerMessage: ".concat(data.developerMessage)); message = appendLine(message, "errorCode: ".concat(data.code)); if (Array.isArray(data.details)) { details = data.details; message += buildDetails(details); } if (Array.isArray(data.links)) { links = data.links; message += buildLinks(links); } } message += appendRequestMessage(request); message += appendResponseMessage(response, errorResponse); var bitmovinError = new BitmovinError_1.default(message, response.status, shortMessage, developerMessage, requestId, code, details, links); if (error && error.stack) { bitmovinError.stack = error.stack; } return bitmovinError; } function buildBitmovinErrorFromError(request, error) { var shortMessage = "Request failed: ".concat(error.message); var message = appendLine('', shortMessage); message += appendRequestMessage(request); var bitmovinError = new BitmovinError_1.default(message, 0, shortMessage, shortMessage); if (error.stack) { bitmovinError.stack = error.stack; } return bitmovinError; }