From f0698eee9d5748fbf53ce310d0b282b0a33b9803 Mon Sep 17 00:00:00 2001 From: decolua Date: Mon, 5 Jan 2026 10:57:45 +0700 Subject: [PATCH] Refactor error handling in chatCore.js and update formatProviderError function to include status code. This improves error message clarity by incorporating HTTP status codes in the formatted output. --- open-sse/handlers/chatCore.js | 4 ++-- open-sse/utils/error.js | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/open-sse/handlers/chatCore.js b/open-sse/handlers/chatCore.js index 7fe4605f..2bc2a0e1 100644 --- a/open-sse/handlers/chatCore.js +++ b/open-sse/handlers/chatCore.js @@ -115,7 +115,7 @@ export async function handleChatCore({ body, modelInfo, credentials, log, onCred streamController.handleError(error); return createErrorResult(499, "Request aborted"); } - const errMsg = formatProviderError(error, provider, model); + const errMsg = formatProviderError(error, provider, model, 502); console.log(`${COLORS.red}[ERROR] ${errMsg}${COLORS.reset}`); return createErrorResult(502, errMsg); } @@ -205,7 +205,7 @@ export async function handleChatCore({ body, modelInfo, credentials, log, onCred // Check provider response - return error info for fallback handling if (!providerResponse.ok) { const { statusCode, message } = await parseUpstreamError(providerResponse); - const errMsg = formatProviderError(new Error(message), provider, model); + const errMsg = formatProviderError(new Error(message), provider, model, statusCode); console.log(`${COLORS.red}[ERROR] ${errMsg}${COLORS.reset}`); // Log error with full request body for debugging diff --git a/open-sse/utils/error.js b/open-sse/utils/error.js index 17670bbd..75b7f858 100644 --- a/open-sse/utils/error.js +++ b/open-sse/utils/error.js @@ -126,8 +126,11 @@ export function createErrorResult(statusCode, message) { * @param {Error} error - Original error * @param {string} provider - Provider name * @param {string} model - Model name + * @param {number|string} statusCode - HTTP status code or error code * @returns {string} Formatted error message */ -export function formatProviderError(error, provider, model) { - return error.message || "Unknown error"; +export function formatProviderError(error, provider, model, statusCode) { + const code = statusCode || error.code || 'FETCH_FAILED'; + const message = error.message || "Unknown error"; + return `[${code}]: ${message}`; }