From 2175dbec13effdc92be5bfd3440b8118f7b5b79a Mon Sep 17 00:00:00 2001 From: Mauro Antonio Sanz Date: Mon, 28 Apr 2025 19:12:56 -0300 Subject: [PATCH 1/4] fixing http client --- .../io/split/service/SplitHttpClientImpl.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/client/src/main/java/io/split/service/SplitHttpClientImpl.java b/client/src/main/java/io/split/service/SplitHttpClientImpl.java index 7f067441..66b2d825 100644 --- a/client/src/main/java/io/split/service/SplitHttpClientImpl.java +++ b/client/src/main/java/io/split/service/SplitHttpClientImpl.java @@ -11,6 +11,7 @@ import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse; import org.apache.hc.core5.http.ContentType; +import org.apache.hc.core5.http.HttpRequest; import org.apache.hc.core5.http.HttpStatus; import org.apache.hc.core5.http.io.entity.EntityUtils; import org.apache.hc.core5.http.io.entity.HttpEntities; @@ -19,7 +20,6 @@ import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; -import org.apache.hc.core5.http.HttpRequest; import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.Collections; @@ -87,19 +87,21 @@ public SplitHttpResponse get(URI uri, FetchOptions options, Map= HttpStatus.SC_MULTIPLE_CHOICES) { - _log.warn(String.format("Response status was: %s. Reason: %s", response.getCode(), - response.getReasonPhrase())); + int code = response.getCode(); + String body = ""; + if (code < HttpStatus.SC_OK || code >= HttpStatus.SC_MULTIPLE_CHOICES) { statusMessage = response.getReasonPhrase(); + _log.warn(String.format("Response status was: %s. Reason: %s", code, statusMessage)); + } else { + body = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8); } - return new SplitHttpResponse(response.getCode(), + return new SplitHttpResponse(code, statusMessage, - EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8), + body, Arrays.stream(response.getHeaders()).map( - h -> new SplitHttpResponse.Header(h.getName(), Collections.singletonList(h.getValue()))) + h -> new SplitHttpResponse.Header(h.getName(), Collections.singletonList(h.getValue()))) .collect(Collectors.toList())); - // response.getHeaders()); } catch (Exception e) { throw new IllegalStateException(String.format("Problem in http get operation: %s", e), e); } finally { From 5383a4841e2dfc96d3e8e3fcddcb8654c9b66665 Mon Sep 17 00:00:00 2001 From: Mauro Antonio Sanz Date: Mon, 28 Apr 2025 19:15:06 -0300 Subject: [PATCH 2/4] polish --- client/src/main/java/io/split/service/SplitHttpClientImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/main/java/io/split/service/SplitHttpClientImpl.java b/client/src/main/java/io/split/service/SplitHttpClientImpl.java index 66b2d825..ac503537 100644 --- a/client/src/main/java/io/split/service/SplitHttpClientImpl.java +++ b/client/src/main/java/io/split/service/SplitHttpClientImpl.java @@ -100,7 +100,7 @@ public SplitHttpResponse get(URI uri, FetchOptions options, Map new SplitHttpResponse.Header(h.getName(), Collections.singletonList(h.getValue()))) + h -> new SplitHttpResponse.Header(h.getName(), Collections.singletonList(h.getValue()))) .collect(Collectors.toList())); } catch (Exception e) { throw new IllegalStateException(String.format("Problem in http get operation: %s", e), e); From 2ff95523297fe89a5148a992c3c21cd6d1a8936a Mon Sep 17 00:00:00 2001 From: Mauro Antonio Sanz Date: Mon, 28 Apr 2025 19:21:10 -0300 Subject: [PATCH 3/4] polish --- .../main/java/io/split/service/SplitHttpClientImpl.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/client/src/main/java/io/split/service/SplitHttpClientImpl.java b/client/src/main/java/io/split/service/SplitHttpClientImpl.java index ac503537..4dd07f1b 100644 --- a/client/src/main/java/io/split/service/SplitHttpClientImpl.java +++ b/client/src/main/java/io/split/service/SplitHttpClientImpl.java @@ -88,12 +88,16 @@ public SplitHttpResponse get(URI uri, FetchOptions options, Map= HttpStatus.SC_MULTIPLE_CHOICES) { statusMessage = response.getReasonPhrase(); _log.warn(String.format("Response status was: %s. Reason: %s", code, statusMessage)); - } else { + } + + String body = ""; + try { body = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8); + } catch (Exception e) { + _log.warn(String.format("Error parsing Response.body, %s", e.getMessage())); } return new SplitHttpResponse(code, From 2dc5150f4f436a50602a1772dc7aebfb85301d73 Mon Sep 17 00:00:00 2001 From: Mauro Antonio Sanz Date: Mon, 28 Apr 2025 19:23:29 -0300 Subject: [PATCH 4/4] update log --- client/src/main/java/io/split/service/SplitHttpClientImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/main/java/io/split/service/SplitHttpClientImpl.java b/client/src/main/java/io/split/service/SplitHttpClientImpl.java index 4dd07f1b..9687521c 100644 --- a/client/src/main/java/io/split/service/SplitHttpClientImpl.java +++ b/client/src/main/java/io/split/service/SplitHttpClientImpl.java @@ -97,7 +97,7 @@ public SplitHttpResponse get(URI uri, FetchOptions options, Map