This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch 2.8.x
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/2.8.x by this push:
     new 3aa84ebba [SCB-2845] Adding the switch to print response's buffer 
while failing to decode response body (#4140)
3aa84ebba is described below

commit 3aa84ebba24cbda229c6d686a690860c8f8ef9d4
Author: yanghao <[email protected]>
AuthorDate: Tue Dec 26 20:30:39 2023 +0800

    [SCB-2845] Adding the switch to print response's buffer while failing to 
decode response body (#4140)
---
 .../transport/rest/client/http/DefaultHttpClientFilter.java       | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git 
a/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/http/DefaultHttpClientFilter.java
 
b/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/http/DefaultHttpClientFilter.java
index 1905af342..c8cc79e0f 100644
--- 
a/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/http/DefaultHttpClientFilter.java
+++ 
b/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/http/DefaultHttpClientFilter.java
@@ -47,6 +47,8 @@ public class DefaultHttpClientFilter implements 
HttpClientFilter {
   private static final boolean enabled = 
DynamicPropertyFactory.getInstance().getBooleanProperty
       ("servicecomb.http.filter.client.default.enabled", true).get();
 
+  private static final String PRINT_ERROR_RESPONSE = 
"servicecomb.http.filter.client.default.shouldPrintErrorResponse";
+
   @Override
   public int getOrder() {
     return 10000;
@@ -109,7 +111,11 @@ public class DefaultHttpClientFilter implements 
HttpClientFilter {
       }
       return response;
     } catch (Exception e) {
-      LOGGER.error("failed to decode response body.", e);
+      if 
(DynamicPropertyFactory.getInstance().getBooleanProperty(PRINT_ERROR_RESPONSE, 
false).get()) {
+        LOGGER.error("failed to decode response body. response is {}", 
responseEx.getBodyBuffer());
+      } else {
+        LOGGER.error("failed to decode response body.", e);
+      }
       String msg =
           String.format("Failed to decode response body. Operation %s.",
               invocation.getMicroserviceQualifiedName());

Reply via email to