From de0127cdaab2a1ce1de6441b7a3d44795dc7811c Mon Sep 17 00:00:00 2001 From: ennoeller Date: Mon, 14 Apr 2025 10:49:53 +0300 Subject: [PATCH 1/3] Retrofit response body mapper fix --- build.gradle | 2 +- .../logging/mappers/RetrofitResponseBodyMapper.java | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index d71e143..85534fe 100644 --- a/build.gradle +++ b/build.gradle @@ -19,7 +19,7 @@ plugins { } group 'ee.bitweb' -version '4.0.1' +version '4.0.2' java { sourceCompatibility = '17' } diff --git a/src/main/java/ee/bitweb/core/retrofit/logging/mappers/RetrofitResponseBodyMapper.java b/src/main/java/ee/bitweb/core/retrofit/logging/mappers/RetrofitResponseBodyMapper.java index 774daa4..3b96d07 100644 --- a/src/main/java/ee/bitweb/core/retrofit/logging/mappers/RetrofitResponseBodyMapper.java +++ b/src/main/java/ee/bitweb/core/retrofit/logging/mappers/RetrofitResponseBodyMapper.java @@ -86,14 +86,16 @@ private String parseBody(Response response) throws IOException { if (contentLength != 0L) { var bodyString = buffer.clone().readString(charset); - if (contentLength > maxLoggableResponseSize) { + var bodyStringLength = bodyString.length(); + + if (bodyStringLength > maxLoggableResponseSize) { return "%s ... Content size: %s characters".formatted( bodyString.substring(0, maxLoggableResponseSize), - contentLength + bodyStringLength ); + } else { + return sanitizeBody(bodyString); } - - return sanitizeBody(bodyString); } else { return ""; } From 2742e67346e855d167a3421c32b59551b87c2810 Mon Sep 17 00:00:00 2001 From: ennoeller Date: Mon, 14 Apr 2025 11:54:49 +0300 Subject: [PATCH 2/3] Retrofit response body mapper fix --- .../mappers/RetrofitResponseBodyMapper.java | 23 ++++++++----------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/src/main/java/ee/bitweb/core/retrofit/logging/mappers/RetrofitResponseBodyMapper.java b/src/main/java/ee/bitweb/core/retrofit/logging/mappers/RetrofitResponseBodyMapper.java index 3b96d07..6fb8546 100644 --- a/src/main/java/ee/bitweb/core/retrofit/logging/mappers/RetrofitResponseBodyMapper.java +++ b/src/main/java/ee/bitweb/core/retrofit/logging/mappers/RetrofitResponseBodyMapper.java @@ -66,7 +66,6 @@ protected String sanitizeBody(String body) { private String parseBody(Response response) throws IOException { var responseBody = response.body(); var contentType = responseBody.contentType(); - var contentLength = responseBody.contentLength(); var charset = contentType != null ? contentType.charset(UTF_8) : UTF_8; var source = responseBody.source(); @@ -84,20 +83,16 @@ private String parseBody(Response response) throws IOException { return "(binary %s-byte body omitted)".formatted(buffer.size()); } - if (contentLength != 0L) { - var bodyString = buffer.clone().readString(charset); - var bodyStringLength = bodyString.length(); - - if (bodyStringLength > maxLoggableResponseSize) { - return "%s ... Content size: %s characters".formatted( - bodyString.substring(0, maxLoggableResponseSize), - bodyStringLength - ); - } else { - return sanitizeBody(bodyString); - } + var bodyString = buffer.clone().readString(charset); + var bodyStringLength = bodyString.length(); + + if (bodyStringLength > maxLoggableResponseSize) { + return "%s ... Content size: %s characters".formatted( + bodyString.substring(0, maxLoggableResponseSize), + bodyStringLength + ); } else { - return ""; + return sanitizeBody(bodyString); } } } From 1d047cba846663b9b23a3a3a92433d6dcfeba239 Mon Sep 17 00:00:00 2001 From: ennoeller Date: Tue, 15 Apr 2025 12:14:44 +0300 Subject: [PATCH 3/3] Retrofit response body mapper fix --- .../retrofit/logging/mappers/RetrofitResponseBodyMapper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/ee/bitweb/core/retrofit/logging/mappers/RetrofitResponseBodyMapper.java b/src/main/java/ee/bitweb/core/retrofit/logging/mappers/RetrofitResponseBodyMapper.java index 6fb8546..19d7f8d 100644 --- a/src/main/java/ee/bitweb/core/retrofit/logging/mappers/RetrofitResponseBodyMapper.java +++ b/src/main/java/ee/bitweb/core/retrofit/logging/mappers/RetrofitResponseBodyMapper.java @@ -84,7 +84,7 @@ private String parseBody(Response response) throws IOException { } var bodyString = buffer.clone().readString(charset); - var bodyStringLength = bodyString.length(); + var bodyStringLength = bodyString != null ? bodyString.length() : 0; if (bodyStringLength > maxLoggableResponseSize) { return "%s ... Content size: %s characters".formatted(