autumn-js
Version:
Autumn JS Library
62 lines (58 loc) • 1.44 kB
JavaScript
import {
backendError
} from "./chunk-N7NFYY54.mjs";
// ../sdk/src/models/autumn-error.ts
var AutumnError = class extends Error {
/** HTTP status code */
statusCode;
/** HTTP body */
body;
/** HTTP headers */
headers;
/** HTTP content type */
contentType;
/** Raw response */
rawResponse;
constructor(message, httpMeta) {
super(message);
this.statusCode = httpMeta.response.status;
this.body = httpMeta.body;
this.headers = httpMeta.response.headers;
this.contentType = httpMeta.response.headers.get("content-type") || "";
this.rawResponse = httpMeta.response;
this.name = "AutumnError";
}
};
// src/backend/core/handlers/errorTransformer.ts
var parseErrorBody = (body) => {
if (!body || body.length === 0) return {};
try {
return JSON.parse(body);
} catch {
return {};
}
};
var transformSdkError = (error) => {
if (error instanceof AutumnError) {
const parsed = parseErrorBody(error.body);
return backendError({
statusCode: error.statusCode,
message: parsed.message ?? error.message ?? "Autumn API request failed",
code: parsed.code ?? "autumn_api_error"
});
}
if (error instanceof Error) {
return backendError({
message: error.message,
code: "internal_error"
});
}
return backendError({
message: "Internal server error",
code: "internal_error"
});
};
export {
AutumnError,
transformSdkError
};