@proofkit/fmodata
Version:
FileMaker OData API client
26 lines (25 loc) • 929 B
JavaScript
import { SchemaLockedError, ODataError, HTTPError } from "../errors.js";
import { safeJsonParse } from "./sanitize-json.js";
async function parseErrorResponse(response, url) {
var _a;
let errorBody;
try {
if ((_a = response.headers.get("content-type")) == null ? void 0 : _a.includes("application/json")) {
errorBody = await safeJsonParse(response);
}
} catch {
}
if (errorBody == null ? void 0 : errorBody.error) {
const errorCode = errorBody.error.code;
const errorMessage = errorBody.error.message || response.statusText;
if (errorCode === "303" || errorCode === 303) {
return new SchemaLockedError(url, errorMessage, errorBody.error);
}
return new ODataError(url, errorMessage, String(errorCode), errorBody.error);
}
return new HTTPError(url, response.status, response.statusText, errorBody);
}
export {
parseErrorResponse
};
//# sourceMappingURL=error-parser.js.map