@sap/cli-core
Version:
Command-Line Interface (CLI) Core Module
43 lines (42 loc) • 1.43 kB
JavaScript
import { get } from "../../logger/index.js";
const getLogger = () => get("handler.http.utils");
const CORRELATION_ID_KEYS = [
"x-correlationid",
"x-vcap-request-id",
"x-request-id",
];
export 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");
};
export 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");
}
};