UNPKG

@sap/cli-core

Version:

Command-Line Interface (CLI) Core Module

48 lines (47 loc) 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.printError = exports.printCorrelationId = void 0; const logger_1 = require("../../logger"); const getLogger = () => (0, logger_1.get)("handler.http.utils"); const CORRELATION_ID_KEYS = [ "x-correlationid", "x-vcap-request-id", "x-request-id", ]; const printCorrelationId = (response) => { if (!response) { return; } let corrId = Object.entries(response.headers || {}).find((e) => CORRELATION_ID_KEYS.includes(e[0]))?.[1]; if (!corrId && response.data?.details?.stack) { const stack = response.data.details.stack; if (stack.startsWith("See correlation id ")) { corrId = stack.replace("See correlation id ", ""); } } const { output } = getLogger(); output(corrId ? `Correlation ID ${corrId}` : "No correlation ID available"); }; exports.printCorrelationId = printCorrelationId; const printError = (err) => { const { output, debug } = getLogger(); if (err.response) { output("Request failed with %i %s", err.response.status, err.response.statusText); if (err.response.data?.details?.message) { output('Error: "%s"', err.response.data.details.message); } else { debug("No error message available"); } } else if (err.reason) { output('Request failed with reason "%s"', err.reason); } else if (err.message) { output('Request failed with message "%s"', err.message); } else { output("Request failed with an unknown error"); } }; exports.printError = printError;