From d699d1168ec9136ac745bf9f7a3b32ed83939e68 Mon Sep 17 00:00:00 2001 From: radoslawsobies Date: Wed, 10 Jun 2026 15:00:03 +0200 Subject: [PATCH 1/8] ff --- pom.xml | 9 ++++--- .../dvs/service/RestApiInvokeService.java | 25 +++++++------------ .../dtone/dvs/util/ApiResponseBuilder.java | 15 ++++++----- 3 files changed, 21 insertions(+), 28 deletions(-) diff --git a/pom.xml b/pom.xml index 6ac3af9..b3a8983 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.dtone.dvs dvs-apiclient - 2.0.2 + 2.0.2-SNAPSHOT jar dvs-apiclient @@ -51,9 +51,10 @@ test - org.apache.httpcomponents - httpclient - 4.5.13 + org.apache.httpcomponents.client5 + httpclient5 + 5.6.1 + compile diff --git a/src/main/java/com/dtone/dvs/service/RestApiInvokeService.java b/src/main/java/com/dtone/dvs/service/RestApiInvokeService.java index 2bd6981..ea42693 100644 --- a/src/main/java/com/dtone/dvs/service/RestApiInvokeService.java +++ b/src/main/java/com/dtone/dvs/service/RestApiInvokeService.java @@ -3,22 +3,16 @@ import java.io.IOException; import java.io.UnsupportedEncodingException; -import org.apache.http.HttpHeaders; -import org.apache.http.HttpResponse; -import org.apache.http.auth.AuthScope; -import org.apache.http.auth.UsernamePasswordCredentials; -import org.apache.http.client.CredentialsProvider; -import org.apache.http.client.HttpClient; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.BasicCredentialsProvider; -import org.apache.http.impl.client.HttpClientBuilder; - import com.dtone.dvs.dto.ApiRequest; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.hc.client5.http.auth.AuthScope; +import org.apache.hc.client5.http.auth.CredentialsProvider; +import org.apache.hc.client5.http.auth.UsernamePasswordCredentials; +import org.apache.hc.client5.http.classic.HttpClient; +import org.apache.hc.client5.http.impl.auth.BasicCredentialsProvider; +import org.apache.hc.client5.http.impl.classic.HttpClientBuilder; +import org.apache.hc.core5.http.HttpResponse; public class RestApiInvokeService { @@ -30,9 +24,8 @@ public class RestApiInvokeService { public RestApiInvokeService(String apiKey, String apiSecret) { this.apiKey = apiKey; this.apiSecret = apiSecret; - - CredentialsProvider provider = new BasicCredentialsProvider(); - provider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(this.getApiKey(), this.getApiSecret())); + BasicCredentialsProvider provider = new BasicCredentialsProvider(); + provider.setCredentials(AuthScope(), new UsernamePasswordCredentials(this.getApiKey(), this.getApiSecret().toCharArray())); final HttpClientBuilder httpClientBuilder = HttpClientBuilder.create(); httpClientBuilder.setDefaultCredentialsProvider(provider); httpClient = httpClientBuilder.build(); diff --git a/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java b/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java index 55d4e70..0551792 100644 --- a/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java +++ b/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java @@ -2,10 +2,6 @@ import java.io.IOException; -import org.apache.http.Header; -import org.apache.http.HttpEntity; -import org.apache.http.HttpResponse; - import com.dtone.dvs.dto.ApiError; import com.dtone.dvs.dto.ApiResponse; import com.dtone.dvs.dto.ErrorResponse; @@ -17,6 +13,9 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.hc.client5.http.entity.mime.Header; +import org.apache.hc.core5.http.HttpEntity; +import org.apache.hc.core5.http.HttpResponse; public class ApiResponseBuilder { @@ -35,12 +34,12 @@ public class ApiResponseBuilder { */ public ApiResponse prepareResponse(ApiResponse apiResponse, TypeReference typeReference, HttpResponse response) throws IOException { - int statusCode = response.getStatusLine().getStatusCode(); - setPageDetails(apiResponse, response.getAllHeaders()); + int statusCode = response.getCode(); + setPageDetails(apiResponse, response.getHeaders()); apiResponse.setCode(statusCode); apiResponse.setSuccess(true); - HttpEntity httpEntity = response.getEntity(); + HttpEntity httpEntity = response.; if (statusCode < 400) { apiResponse.setResult(extractResult(httpEntity, typeReference)); @@ -61,7 +60,7 @@ public ApiResponse prepareResponse(ApiResponse apiResponse, TypeRefere private static void setPageDetails(ApiResponse apiResponse, Header[] headers) { for (Header header : headers) { - switch (header.getName()) { + switch (header.()) { case Constants.CURRENT_PAGE_HEADER: apiResponse.setCurrentPage(Integer.parseInt(header.getValue())); break; From 04562751224fd6da7bcd1a4119946bd928404b5d Mon Sep 17 00:00:00 2001 From: radoslawsobies Date: Wed, 10 Jun 2026 20:59:05 +0200 Subject: [PATCH 2/8] ff --- .../com/dtone/dvs/service/RestApiInvokeService.java | 10 ++++++++-- .../com/dtone/dvs/RestApiInvokeServiceMockTest.java | 10 +++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/dtone/dvs/service/RestApiInvokeService.java b/src/main/java/com/dtone/dvs/service/RestApiInvokeService.java index ea42693..aefad00 100644 --- a/src/main/java/com/dtone/dvs/service/RestApiInvokeService.java +++ b/src/main/java/com/dtone/dvs/service/RestApiInvokeService.java @@ -10,9 +10,15 @@ import org.apache.hc.client5.http.auth.CredentialsProvider; import org.apache.hc.client5.http.auth.UsernamePasswordCredentials; import org.apache.hc.client5.http.classic.HttpClient; +import org.apache.hc.client5.http.classic.methods.HttpGet; +import org.apache.hc.client5.http.classic.methods.HttpPost; import org.apache.hc.client5.http.impl.auth.BasicCredentialsProvider; import org.apache.hc.client5.http.impl.classic.HttpClientBuilder; +import org.apache.hc.core5.http.ClassicHttpRequest; +import org.apache.hc.core5.http.ContentType; +import org.apache.hc.core5.http.HttpHeaders; import org.apache.hc.core5.http.HttpResponse; +import org.apache.hc.core5.http.io.entity.StringEntity; public class RestApiInvokeService { @@ -25,7 +31,7 @@ public RestApiInvokeService(String apiKey, String apiSecret) { this.apiKey = apiKey; this.apiSecret = apiSecret; BasicCredentialsProvider provider = new BasicCredentialsProvider(); - provider.setCredentials(AuthScope(), new UsernamePasswordCredentials(this.getApiKey(), this.getApiSecret().toCharArray())); + provider.setCredentials(new AuthScope(null, null, -1,null, null), new UsernamePasswordCredentials(this.getApiKey(), this.getApiSecret().toCharArray())); final HttpClientBuilder httpClientBuilder = HttpClientBuilder.create(); httpClientBuilder.setDefaultCredentialsProvider(provider); httpClient = httpClientBuilder.build(); @@ -58,7 +64,7 @@ private static HttpPost getHttpPost(String url, ApiRequest apiRequest) return httpPost; } - private static HttpGet getHttpGet(String url) { + private static ClassicHttpRequest getHttpGet(String url) { return new HttpGet(url); } diff --git a/src/test/java/com/dtone/dvs/RestApiInvokeServiceMockTest.java b/src/test/java/com/dtone/dvs/RestApiInvokeServiceMockTest.java index d8337ac..b255d03 100644 --- a/src/test/java/com/dtone/dvs/RestApiInvokeServiceMockTest.java +++ b/src/test/java/com/dtone/dvs/RestApiInvokeServiceMockTest.java @@ -4,9 +4,9 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import org.apache.http.HttpResponse; -import org.apache.http.client.ClientProtocolException; -import org.apache.http.client.HttpClient; +import org.apache.hc.client5.http.ClientProtocolException; +import org.apache.hc.client5.http.classic.HttpClient; +import org.apache.hc.core5.http.HttpResponse; import org.junit.Before; import org.junit.Test; import org.mockito.InjectMocks; @@ -20,13 +20,13 @@ public class RestApiInvokeServiceMockTest { @Mock - HttpClient mockHttpClient = mock(HttpClient.class); + HttpClient mockHttpClient = mock(HttpClient.class); @InjectMocks RestApiInvokeService mockRestApiInvokeService = new RestApiInvokeService("", "", mockHttpClient); @Mock - HttpResponse mockHttpResponse = mock(HttpResponse.class); + HttpResponse mockHttpResponse = mock(HttpResponse.class); @Before public void setUp() throws Exception { From 95829cca39b4508e0a418dbd2e9722008e033ca4 Mon Sep 17 00:00:00 2001 From: radoslawsobies Date: Wed, 10 Jun 2026 21:19:38 +0200 Subject: [PATCH 3/8] ff --- src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java b/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java index 0551792..9cd24d9 100644 --- a/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java +++ b/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java @@ -13,7 +13,7 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; -import org.apache.hc.client5.http.entity.mime.Header; +import org.apache.hc.core5.http.Header; import org.apache.hc.core5.http.HttpEntity; import org.apache.hc.core5.http.HttpResponse; @@ -51,7 +51,7 @@ public ApiResponse prepareResponse(ApiResponse apiResponse, TypeRefere }).getErrors()); } else { apiResponse.getErrors() - .add(new ApiError(String.valueOf(statusCode), response.getStatusLine().getReasonPhrase())); + .add(new ApiError(String.valueOf(statusCode), response.getReasonPhrase())); } } @@ -60,7 +60,7 @@ public ApiResponse prepareResponse(ApiResponse apiResponse, TypeRefere private static void setPageDetails(ApiResponse apiResponse, Header[] headers) { for (Header header : headers) { - switch (header.()) { + switch (header.getName()) { case Constants.CURRENT_PAGE_HEADER: apiResponse.setCurrentPage(Integer.parseInt(header.getValue())); break; From 3b4a3a7444ed0503f150dd4a0b617debf5919491 Mon Sep 17 00:00:00 2001 From: radoslawsobies Date: Thu, 11 Jun 2026 12:23:40 +0200 Subject: [PATCH 4/8] http client 5.6 --- .../dvs/service/RestApiInvokeService.java | 13 +++---- .../dtone/dvs/util/ApiResponseBuilder.java | 5 ++- .../com/dtone/dvs/ApiResponseBuilderTest.java | 39 ++++++++++--------- .../java/com/dtone/dvs/DvsApiClientTest.java | 2 +- .../dvs/RestApiInvokeServiceMockTest.java | 5 +-- .../com/dtone/dvs/util/MockTestUtils.java | 8 +--- 6 files changed, 33 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/dtone/dvs/service/RestApiInvokeService.java b/src/main/java/com/dtone/dvs/service/RestApiInvokeService.java index aefad00..da0c35f 100644 --- a/src/main/java/com/dtone/dvs/service/RestApiInvokeService.java +++ b/src/main/java/com/dtone/dvs/service/RestApiInvokeService.java @@ -14,10 +14,7 @@ import org.apache.hc.client5.http.classic.methods.HttpPost; import org.apache.hc.client5.http.impl.auth.BasicCredentialsProvider; import org.apache.hc.client5.http.impl.classic.HttpClientBuilder; -import org.apache.hc.core5.http.ClassicHttpRequest; -import org.apache.hc.core5.http.ContentType; -import org.apache.hc.core5.http.HttpHeaders; -import org.apache.hc.core5.http.HttpResponse; +import org.apache.hc.core5.http.*; import org.apache.hc.core5.http.io.entity.StringEntity; public class RestApiInvokeService { @@ -43,12 +40,12 @@ public RestApiInvokeService(String apiKey, String apiSecret, HttpClient httpClie this.httpClient = httpClient; } - public HttpResponse executeGet(String url) throws IOException { - return httpClient.execute(getHttpGet(url)); + public ClassicHttpResponse executeGet(String url) throws IOException { + return (ClassicHttpResponse) httpClient.execute(getHttpGet(url)); } - public HttpResponse executePost(String url, ApiRequest apiRequest) throws IOException { - return httpClient.execute(getHttpPost(url, apiRequest)); + public ClassicHttpResponse executePost(String url, ApiRequest apiRequest) throws IOException { + return (ClassicHttpResponse) httpClient.execute(getHttpPost(url, apiRequest)); } private static HttpPost getHttpPost(String url, ApiRequest apiRequest) diff --git a/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java b/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java index 9cd24d9..abb0c5c 100644 --- a/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java +++ b/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java @@ -13,6 +13,7 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.hc.core5.http.ClassicHttpResponse; import org.apache.hc.core5.http.Header; import org.apache.hc.core5.http.HttpEntity; import org.apache.hc.core5.http.HttpResponse; @@ -33,13 +34,13 @@ public class ApiResponseBuilder { * @throws DvsApiException */ public ApiResponse prepareResponse(ApiResponse apiResponse, TypeReference typeReference, - HttpResponse response) throws IOException { + ClassicHttpResponse response) throws IOException { int statusCode = response.getCode(); setPageDetails(apiResponse, response.getHeaders()); apiResponse.setCode(statusCode); apiResponse.setSuccess(true); - HttpEntity httpEntity = response.; + HttpEntity httpEntity = response.getEntity(); if (statusCode < 400) { apiResponse.setResult(extractResult(httpEntity, typeReference)); diff --git a/src/test/java/com/dtone/dvs/ApiResponseBuilderTest.java b/src/test/java/com/dtone/dvs/ApiResponseBuilderTest.java index 2824793..b720c4c 100644 --- a/src/test/java/com/dtone/dvs/ApiResponseBuilderTest.java +++ b/src/test/java/com/dtone/dvs/ApiResponseBuilderTest.java @@ -11,13 +11,14 @@ import java.io.InputStream; import java.util.List; -import org.apache.http.Header; -import org.apache.http.HttpEntity; -import org.apache.http.HttpResponse; -import org.apache.http.StatusLine; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.message.BasicHeader; +import org.apache.hc.client5.http.classic.methods.HttpGet; +import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse; +import org.apache.hc.core5.http.ClassicHttpResponse; +import org.apache.hc.core5.http.Header; +import org.apache.hc.core5.http.HttpEntity; +import org.apache.hc.core5.http.HttpResponse; +import org.apache.hc.core5.http.message.BasicHeader; +import org.apache.hc.core5.http.message.StatusLine; import org.junit.Before; import org.junit.Test; import org.mockito.InjectMocks; @@ -40,11 +41,11 @@ public class ApiResponseBuilderTest { HttpGet mockHttpGet = mock(HttpGet.class); DvsApiClient mockDvsClient = mock(DvsApiClient.class); HttpResponse mockHttpResponse = mock(HttpResponse.class); - StatusLine mockStatusLine = mock(StatusLine.class); + //StatusLine mockStatusLine = mock(StatusLine.class); HttpEntity mockHttpEntity = mock(HttpEntity.class); @Mock - HttpResponse httpResponse = mock(CloseableHttpResponse.class); + ClassicHttpResponse httpResponse = mock(ClassicHttpResponse.class); @Before public void setUp() throws Exception { @@ -54,10 +55,10 @@ public void setUp() throws Exception { @Test public void testHttpGetSuccessResponse() throws Exception { - when(httpResponse.getStatusLine()).thenReturn(mockStatusLine); - when(mockStatusLine.getStatusCode()).thenReturn(200); + //when(httpResponse.).thenReturn(mockStatusLine); + //hen(mockStatusLine.getStatusCode()).thenReturn(200); - when(httpResponse.getAllHeaders()).thenReturn(MockTestUtils.getMockHttpHeaders()); + when(httpResponse.getHeaders()).thenReturn(MockTestUtils.getMockHttpHeaders()); when(httpResponse.getEntity()).thenReturn(mockHttpEntity); @@ -74,11 +75,11 @@ public void testHttpGetSuccessResponse() throws Exception { @Test public void testHttpGetFailureResponse() throws Exception { - when(httpResponse.getStatusLine()).thenReturn(mockStatusLine); - when(mockStatusLine.getStatusCode()).thenReturn(404); +// when(httpResponse.getStatusLine()).thenReturn(mockStatusLine); + when(httpResponse.getCode()).thenReturn(404); Header[] mockHeaders = new Header[] { new BasicHeader("a", "b") }; - when(httpResponse.getAllHeaders()).thenReturn(mockHeaders); + when(httpResponse.getHeaders()).thenReturn(mockHeaders); when(httpResponse.getEntity()).thenReturn(mockHttpEntity); @@ -98,12 +99,12 @@ public void testHttpGetFailureResponse() throws Exception { @Test public void testHttpGetFailureResponse429() throws Exception { - when(httpResponse.getStatusLine()).thenReturn(mockStatusLine); - when(mockStatusLine.getStatusCode()).thenReturn(429); - when(mockStatusLine.getReasonPhrase()).thenReturn("Too many requests"); +// when(httpResponse.getStatusLine()).thenReturn(mockStatusLine); + when(httpResponse.getCode()).thenReturn(429); + //when(mockStatusLine.getReasonPhrase()).thenReturn("Too many requests"); Header[] mockHeaders = new Header[] { new BasicHeader("a", "b") }; - when(httpResponse.getAllHeaders()).thenReturn(mockHeaders); + when(httpResponse.getHeaders()).thenReturn(mockHeaders); when(httpResponse.getEntity()).thenReturn(mockHttpEntity); diff --git a/src/test/java/com/dtone/dvs/DvsApiClientTest.java b/src/test/java/com/dtone/dvs/DvsApiClientTest.java index 08f52ba..46b84e0 100644 --- a/src/test/java/com/dtone/dvs/DvsApiClientTest.java +++ b/src/test/java/com/dtone/dvs/DvsApiClientTest.java @@ -8,7 +8,7 @@ import java.util.Calendar; import java.util.List; -import org.apache.http.HttpStatus; +import org.apache.hc.core5.http.HttpStatus; import org.junit.After; import org.junit.Ignore; import org.junit.Test; diff --git a/src/test/java/com/dtone/dvs/RestApiInvokeServiceMockTest.java b/src/test/java/com/dtone/dvs/RestApiInvokeServiceMockTest.java index b255d03..57e4503 100644 --- a/src/test/java/com/dtone/dvs/RestApiInvokeServiceMockTest.java +++ b/src/test/java/com/dtone/dvs/RestApiInvokeServiceMockTest.java @@ -6,7 +6,7 @@ import org.apache.hc.client5.http.ClientProtocolException; import org.apache.hc.client5.http.classic.HttpClient; -import org.apache.hc.core5.http.HttpResponse; +import org.apache.hc.core5.http.ClassicHttpResponse; import org.junit.Before; import org.junit.Test; import org.mockito.InjectMocks; @@ -26,7 +26,7 @@ public class RestApiInvokeServiceMockTest { RestApiInvokeService mockRestApiInvokeService = new RestApiInvokeService("", "", mockHttpClient); @Mock - HttpResponse mockHttpResponse = mock(HttpResponse.class); + ClassicHttpResponse mockHttpResponse = mock(ClassicHttpResponse.class); @Before public void setUp() throws Exception { @@ -62,5 +62,4 @@ public void testExecutePostException() throws Exception { when(mockRestApiInvokeService.getHttpClient().execute(Mockito.any())).thenThrow(new ClientProtocolException()); mockRestApiInvokeService.executePost("", new TransactionRequest()); } - } diff --git a/src/test/java/com/dtone/dvs/util/MockTestUtils.java b/src/test/java/com/dtone/dvs/util/MockTestUtils.java index 6999cad..10b519f 100644 --- a/src/test/java/com/dtone/dvs/util/MockTestUtils.java +++ b/src/test/java/com/dtone/dvs/util/MockTestUtils.java @@ -5,9 +5,6 @@ import java.util.ArrayList; import java.util.List; -import org.apache.http.Header; -import org.apache.http.message.BasicHeader; - import com.dtone.dvs.dto.ApiResponse; import com.dtone.dvs.dto.Balance; import com.dtone.dvs.dto.BenefitType; @@ -22,10 +19,9 @@ import com.dtone.dvs.dto.Service; import com.dtone.dvs.dto.TransactionRequest; import com.dtone.dvs.dto.Transaction; -import com.dtone.dvs.util.ApiResponseBuilder; -import com.dtone.dvs.util.Constants; -import com.dtone.dvs.util.ErrorCodes; import com.fasterxml.jackson.core.JsonProcessingException; +import org.apache.hc.core5.http.Header; +import org.apache.hc.core5.http.message.BasicHeader; public class MockTestUtils { From 9c49ffd43a32c5b1d1e9cd0d625cfc7943011368 Mon Sep 17 00:00:00 2001 From: radoslawsobies Date: Thu, 11 Jun 2026 12:29:02 +0200 Subject: [PATCH 5/8] http client 5.6 --- .../java/com/dtone/dvs/ApiResponseBuilderTest.java | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/test/java/com/dtone/dvs/ApiResponseBuilderTest.java b/src/test/java/com/dtone/dvs/ApiResponseBuilderTest.java index b720c4c..d3ee2a4 100644 --- a/src/test/java/com/dtone/dvs/ApiResponseBuilderTest.java +++ b/src/test/java/com/dtone/dvs/ApiResponseBuilderTest.java @@ -12,20 +12,17 @@ import java.util.List; import org.apache.hc.client5.http.classic.methods.HttpGet; -import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse; import org.apache.hc.core5.http.ClassicHttpResponse; import org.apache.hc.core5.http.Header; import org.apache.hc.core5.http.HttpEntity; import org.apache.hc.core5.http.HttpResponse; import org.apache.hc.core5.http.message.BasicHeader; -import org.apache.hc.core5.http.message.StatusLine; import org.junit.Before; import org.junit.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import com.dtone.dvs.DvsApiClient; import com.dtone.dvs.dto.ApiResponse; import com.dtone.dvs.dto.Service; import com.dtone.dvs.util.ApiResponseBuilder; @@ -41,7 +38,6 @@ public class ApiResponseBuilderTest { HttpGet mockHttpGet = mock(HttpGet.class); DvsApiClient mockDvsClient = mock(DvsApiClient.class); HttpResponse mockHttpResponse = mock(HttpResponse.class); - //StatusLine mockStatusLine = mock(StatusLine.class); HttpEntity mockHttpEntity = mock(HttpEntity.class); @Mock @@ -55,9 +51,7 @@ public void setUp() throws Exception { @Test public void testHttpGetSuccessResponse() throws Exception { - //when(httpResponse.).thenReturn(mockStatusLine); - //hen(mockStatusLine.getStatusCode()).thenReturn(200); - + when(httpResponse.getCode()).thenReturn(200); when(httpResponse.getHeaders()).thenReturn(MockTestUtils.getMockHttpHeaders()); when(httpResponse.getEntity()).thenReturn(mockHttpEntity); @@ -75,7 +69,6 @@ public void testHttpGetSuccessResponse() throws Exception { @Test public void testHttpGetFailureResponse() throws Exception { -// when(httpResponse.getStatusLine()).thenReturn(mockStatusLine); when(httpResponse.getCode()).thenReturn(404); Header[] mockHeaders = new Header[] { new BasicHeader("a", "b") }; @@ -99,9 +92,7 @@ public void testHttpGetFailureResponse() throws Exception { @Test public void testHttpGetFailureResponse429() throws Exception { -// when(httpResponse.getStatusLine()).thenReturn(mockStatusLine); when(httpResponse.getCode()).thenReturn(429); - //when(mockStatusLine.getReasonPhrase()).thenReturn("Too many requests"); Header[] mockHeaders = new Header[] { new BasicHeader("a", "b") }; when(httpResponse.getHeaders()).thenReturn(mockHeaders); From 11fea4112779f2764376cd540c6699ae302bc4dd Mon Sep 17 00:00:00 2001 From: radoslawsobies Date: Thu, 11 Jun 2026 12:30:55 +0200 Subject: [PATCH 6/8] http client 5.6 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b3a8983..d3bd862 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.dtone.dvs dvs-apiclient - 2.0.2-SNAPSHOT + 2.0.3 jar dvs-apiclient From 4758d0dff89c028bed8ff6a43d3a3e6ddbdd70dd Mon Sep 17 00:00:00 2001 From: radoslawsobies Date: Thu, 11 Jun 2026 13:21:20 +0200 Subject: [PATCH 7/8] http client 5.6 --- src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java b/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java index abb0c5c..3b1a836 100644 --- a/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java +++ b/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java @@ -56,6 +56,7 @@ public ApiResponse prepareResponse(ApiResponse apiResponse, TypeRefere } } + response.close(); return apiResponse; } From ffdad0f075c698b54791a562a301ba0696786c9b Mon Sep 17 00:00:00 2001 From: radoslawsobies Date: Thu, 11 Jun 2026 13:22:38 +0200 Subject: [PATCH 8/8] http client 5.6 --- .../dtone/dvs/util/ApiResponseBuilder.java | 40 ++++++++++--------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java b/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java index 3b1a836..9d73fdb 100644 --- a/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java +++ b/src/main/java/com/dtone/dvs/util/ApiResponseBuilder.java @@ -35,29 +35,33 @@ public class ApiResponseBuilder { */ public ApiResponse prepareResponse(ApiResponse apiResponse, TypeReference typeReference, ClassicHttpResponse response) throws IOException { - int statusCode = response.getCode(); - setPageDetails(apiResponse, response.getHeaders()); + try{ + int statusCode = response.getCode(); + setPageDetails(apiResponse, response.getHeaders()); - apiResponse.setCode(statusCode); - apiResponse.setSuccess(true); - HttpEntity httpEntity = response.getEntity(); + apiResponse.setCode(statusCode); + apiResponse.setSuccess(true); + HttpEntity httpEntity = response.getEntity(); - if (statusCode < 400) { - apiResponse.setResult(extractResult(httpEntity, typeReference)); - } else { - apiResponse.setSuccess(false); - - if (httpEntity != null && response.getEntity().getContent().available() != 0) { - apiResponse.setErrors(extractResult(httpEntity, new TypeReference() { - }).getErrors()); + if (statusCode < 400) { + apiResponse.setResult(extractResult(httpEntity, typeReference)); } else { - apiResponse.getErrors() - .add(new ApiError(String.valueOf(statusCode), response.getReasonPhrase())); - } + apiResponse.setSuccess(false); + + if (httpEntity != null && response.getEntity().getContent().available() != 0) { + apiResponse.setErrors(extractResult(httpEntity, new TypeReference() { + }).getErrors()); + } else { + apiResponse.getErrors() + .add(new ApiError(String.valueOf(statusCode), response.getReasonPhrase())); + } + } + return apiResponse; + } + finally { + response.close(); } - response.close(); - return apiResponse; } private static void setPageDetails(ApiResponse apiResponse, Header[] headers) {