From b826fad11fcc021c89d4480129f3dc7e57805749 Mon Sep 17 00:00:00 2001 From: Saransh-SF Date: Mon, 22 Jun 2026 19:06:44 +0530 Subject: [PATCH] Catching 429 and propagating efficiently --- .../einsteinbot/sdk/client/BasicChatbotClientImpl.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/com/salesforce/einsteinbot/sdk/client/BasicChatbotClientImpl.java b/src/main/java/com/salesforce/einsteinbot/sdk/client/BasicChatbotClientImpl.java index 4cd0959..d71e6df 100644 --- a/src/main/java/com/salesforce/einsteinbot/sdk/client/BasicChatbotClientImpl.java +++ b/src/main/java/com/salesforce/einsteinbot/sdk/client/BasicChatbotClientImpl.java @@ -271,6 +271,15 @@ private Consumer createCodecsConfiguration(ObjectMapper m } private Mono mapErrorResponse(ClientResponse clientResponse) { + // Handle 429 directly without body extraction + if (clientResponse.statusCode().value() == 429) { + com.salesforce.einsteinbot.sdk.model.Error error = new com.salesforce.einsteinbot.sdk.model.Error() + .status(429) + .message("Too many requests"); + return Mono.error(new ChatbotResponseException(clientResponse.statusCode(), error, + clientResponse.headers())); + } + return clientResponse .body(WebClientUtil.errorBodyExtractor()) .flatMap(errorDetails -> Mono