You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2023/12/26 12:30:45 UTC

(servicecomb-java-chassis) branch 2.8.x updated: [SCB-2845] Adding the switch to print response's buffer while failing to decode response body (#4140)

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 <73...@users.noreply.github.com>
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());