Standardize error responses with consistent format and human-readable messages (#667)

This commit is contained in:
Thomas Durieux
2026-04-15 09:27:08 +02:00
committed by GitHub
parent f4209110c7
commit 8198a4b44a
10 changed files with 332 additions and 127 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ function indexResponse(req: express.Request, res: express.Response) {
req.path.startsWith("/favicon") ||
req.path.startsWith("/api")
) {
return res.status(404).send("Not found");
return res.status(404).json({ error: "not_found" });
}
if (
req.params.repoId &&
+1 -1
View File
@@ -59,7 +59,7 @@ router.post("/queue/:name/:repo_id", async (req, res) => {
}
res.send("ok");
} catch {
res.status(500).send("error_retrying_job");
res.status(500).json({ error: "error_retrying_job" });
}
}
});
+7 -6
View File
@@ -102,9 +102,9 @@ export function handleError(
req?: express.Request
) {
printError(error, req);
let message = error;
let errorCode = error;
if (error instanceof Error) {
message = error.message;
errorCode = error.message;
}
let status = 500;
if (error.httpStatus) {
@@ -112,15 +112,16 @@ export function handleError(
} else if (error.$metadata?.httpStatusCode) {
status = error.$metadata.httpStatusCode;
} else if (
message &&
(message.indexOf("not_found") > -1 || message.indexOf("(Not Found)") > -1)
errorCode &&
(errorCode.indexOf("not_found") > -1 ||
errorCode.indexOf("(Not Found)") > -1)
) {
status = 404;
} else if (message && message.indexOf("not_connected") > -1) {
} else if (errorCode && errorCode.indexOf("not_connected") > -1) {
status = 401;
}
if (res && !res.headersSent) {
res.status(status).send({ error: message });
res.status(status).json({ error: errorCode });
}
return;
}