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());