From 02dcf142df67477c37a70e6499d22afef5f80514 Mon Sep 17 00:00:00 2001 From: Volodymyr Babak Date: Tue, 27 Aug 2024 19:22:49 +0300 Subject: [PATCH] TbHttpClient: Add cause to metadata in cause of buffer overloaded exception --- .../java/org/thingsboard/rule/engine/rest/TbHttpClient.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/rest/TbHttpClient.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/rest/TbHttpClient.java index d71cc7f021..4830761110 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/rest/TbHttpClient.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/rest/TbHttpClient.java @@ -132,7 +132,7 @@ public class TbHttpClient { this.webClient = WebClient.builder() .clientConnector(new ReactorClientHttpConnector(httpClient)) .defaultHeader(HttpHeaders.CONNECTION, "close") //In previous realization this header was present! (Added for hotfix "Connection reset") - .codecs(clientCodecConfigurer -> clientCodecConfigurer.defaultCodecs().maxInMemorySize(config.getMaxInMemoryBufferSizeInKb() * 1024)) + .codecs(configurer -> configurer.defaultCodecs().maxInMemorySize(config.getMaxInMemoryBufferSizeInKb() * 1024)) .build(); } catch (SSLException e) { throw new TbNodeException(e); @@ -286,6 +286,9 @@ public class TbHttpClient { metaData.putValue(STATUS, restClientResponseException.getStatusText()); metaData.putValue(STATUS_CODE, restClientResponseException.getStatusCode().value() + ""); metaData.putValue(ERROR_BODY, restClientResponseException.getResponseBodyAsString()); + if (restClientResponseException.getStatusCode().is2xxSuccessful()) { + metaData.putValue(ERROR, metaData.getValue(ERROR) + ". Cause: " +restClientResponseException.getCause().getMessage()); + } } return TbMsg.transformMsgMetadata(origMsg, metaData); }