feat: Update Dockerfile and server configuration for improved health checks and error handling

This commit is contained in:
2026-10-19 23:04:54 +03:00
parent e38c388462
commit 7206bf9c4a
10 changed files with 324 additions and 60 deletions

View File

@@ -16,12 +16,13 @@ test("Ошибки API: код и статус для клиентов", () => {
assert.doesNotMatch(internal.message, /undefined/);
});
test("Ошибки источника: таймаут curl отдельно от недоступности", () => {
assert.equal(sourceError({ code: 28 }).code, "source_timeout");
assert.equal(sourceError({ code: 28 }).status, 504);
assert.equal(sourceError({ killed: true, signal: "SIGTERM" }).code, "source_timeout");
assert.equal(sourceError({ code: 6 }).code, "source_unavailable");
assert.equal(sourceError({ code: 22 }).status, 502);
test("Ошибки источника: таймаут отдельно от недоступности", () => {
const timeout = new DOMException("The operation was aborted due to timeout", "TimeoutError");
assert.equal(sourceError(timeout).code, "source_timeout");
assert.equal(sourceError(timeout).status, 504);
assert.equal(sourceError(new DOMException("aborted", "AbortError")).code, "source_timeout");
assert.equal(sourceError(new TypeError("fetch failed")).code, "source_unavailable");
assert.equal(sourceError(new Error("HTTP 500")).status, 502);
const own = apiError(502, "source_invalid", "Таблица недель не распознана.");
assert.equal(sourceError(own), own);
});