From 274319dd6cd9597441ed60b1b7e89ac4098d7928 Mon Sep 17 00:00:00 2001 From: fengmk2 Date: Wed, 28 May 2025 07:50:05 +0000 Subject: [PATCH] fix(server): 4xx error property is optional (#12595) close CLOUD-223 ## Summary by CodeRabbit - **Bug Fixes** - Improved error handling for search requests to prevent issues when error details are missing, ensuring clearer fallback messages for unknown errors. --- .../server/src/plugins/indexer/providers/elasticsearch.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/backend/server/src/plugins/indexer/providers/elasticsearch.ts b/packages/backend/server/src/plugins/indexer/providers/elasticsearch.ts index 696a39c739..46eedaa0eb 100644 --- a/packages/backend/server/src/plugins/indexer/providers/elasticsearch.ts +++ b/packages/backend/server/src/plugins/indexer/providers/elasticsearch.ts @@ -274,15 +274,17 @@ export class ElasticsearchProvider extends SearchProvider { `request failed, url: ${url}, body: ${body}, response status: ${response.status}, response body: ${JSON.stringify(data, null, 2)}` ); const errorData = data as { - error: { type: string; reason: string } | string; + error?: { type: string; reason: string } | string; }; let reason = ''; let type = ''; if (typeof errorData.error === 'string') { reason = errorData.error; - } else { + } else if (errorData.error) { reason = errorData.error.reason; type = errorData.error.type; + } else { + reason = `unknown error, status ${response.status}, please check the response body`; } throw new InvalidSearchProviderRequest({ reason,