n8n
Version:
n8n Workflow Automation Tool
60 lines • 2.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.HttpErrorKind = void 0;
exports.isResponseError = isResponseError;
exports.classifyHttpError = classifyHttpError;
const types_1 = require("express-openapi-validator/dist/framework/types");
const n8n_workflow_1 = require("n8n-workflow");
const response_error_1 = require("../errors/response-errors/abstract/response.error");
var HttpErrorKind;
(function (HttpErrorKind) {
HttpErrorKind["responseError"] = "responseError";
HttpErrorKind["userError"] = "userError";
HttpErrorKind["unexpectedError"] = "unexpectedError";
HttpErrorKind["httpError"] = "httpError";
HttpErrorKind["serverError"] = "serverError";
})(HttpErrorKind || (exports.HttpErrorKind = HttpErrorKind = {}));
function isResponseError(error) {
if (error instanceof response_error_1.ResponseError) {
return true;
}
if (error instanceof Error) {
return ('httpStatusCode' in error &&
typeof error.httpStatusCode === 'number' &&
'errorCode' in error &&
typeof error.errorCode === 'number');
}
return false;
}
function classifyHttpError(error) {
if (isResponseError(error)) {
const descriptor = {
kind: "responseError",
status: error.httpStatusCode,
message: error.message ?? 'Unknown error',
code: error.errorCode,
};
if (error.hint) {
descriptor.hint = error.hint;
}
if (error.meta) {
descriptor.meta = error.meta;
}
return descriptor;
}
if (error instanceof n8n_workflow_1.UserError) {
return { kind: "userError", message: error.message };
}
if (error instanceof n8n_workflow_1.UnexpectedError) {
return { kind: "unexpectedError", message: error.message };
}
if (error instanceof types_1.HttpError) {
return {
kind: "httpError",
status: error.status || 400,
message: error.message || 'Bad request',
};
}
return { kind: "serverError", message: error.message ?? 'Unknown error' };
}
//# sourceMappingURL=http-error-classifier.js.map