From fd3747dc5d0cc495a5225d39522a2ceaf3f3a26b Mon Sep 17 00:00:00 2001 From: Yuli Stremovsky Date: Tue, 11 Aug 2026 11:38:34 +0300 Subject: [PATCH 1/3] Migrate from end-of-life HttpClient 4.x to HttpClient 5 Co-Authored-By: Claude Opus 5 (1M context) --- pom.xml | 15 +++-------- .../java/org/databunker/DatabunkerproApi.java | 26 +++++++++++-------- .../databunker/DatabunkerproApiPciTest.java | 12 ++++----- .../org/databunker/DatabunkerproApiTest.java | 12 ++++----- 4 files changed, 31 insertions(+), 34 deletions(-) diff --git a/pom.xml b/pom.xml index 5ac439e..2c80f51 100644 --- a/pom.xml +++ b/pom.xml @@ -20,18 +20,11 @@ - + - org.apache.httpcomponents - httpclient - 4.5.14 - - - - - org.apache.httpcomponents - httpcore - 4.4.16 + org.apache.httpcomponents.client5 + httpclient5 + 5.6.1 diff --git a/src/main/java/org/databunker/DatabunkerproApi.java b/src/main/java/org/databunker/DatabunkerproApi.java index e1249f1..43e2444 100644 --- a/src/main/java/org/databunker/DatabunkerproApi.java +++ b/src/main/java/org/databunker/DatabunkerproApi.java @@ -1,14 +1,16 @@ package org.databunker; import com.fasterxml.jackson.databind.ObjectMapper; -import org.apache.http.HttpEntity; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.util.EntityUtils; -import org.apache.http.client.methods.HttpGet; +import org.apache.hc.core5.http.HttpEntity; +import org.apache.hc.core5.http.ContentType; +import org.apache.hc.core5.http.ParseException; +import org.apache.hc.core5.http.io.entity.StringEntity; +import org.apache.hc.core5.http.io.entity.EntityUtils; +import org.apache.hc.client5.http.classic.methods.HttpPost; +import org.apache.hc.client5.http.classic.methods.HttpGet; +import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; +import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse; +import org.apache.hc.client5.http.impl.classic.HttpClients; import org.databunker.options.BasicOptions; import org.databunker.options.UserOptions; import org.databunker.options.SharedRecordOptions; @@ -84,7 +86,7 @@ private Map makeRequest(String endpoint, Map dat if (requestMetadata != null) { bodyData.put("request_metadata", requestMetadata); } - StringEntity entity = new StringEntity(objectMapper.writeValueAsString(bodyData)); + StringEntity entity = new StringEntity(objectMapper.writeValueAsString(bodyData), ContentType.APPLICATION_JSON); request.setEntity(entity); } @@ -93,7 +95,7 @@ private Map makeRequest(String endpoint, Map dat String responseString = EntityUtils.toString(entity); Map result = objectMapper.readValue(responseString, Map.class); - if (response.getStatusLine().getStatusCode() < 200 || response.getStatusLine().getStatusCode() >= 300) { + if (response.getCode() < 200 || response.getCode() >= 300) { if (result.containsKey("status")) { return result; } else { @@ -134,7 +136,7 @@ private byte[] rawRequest(String endpoint, Map data, Map getSystemMetrics(Map requestMetadata) HttpEntity entity = response.getEntity(); String metricsText = EntityUtils.toString(entity); return parsePrometheusMetrics(metricsText); + } catch (ParseException error) { + throw new IOException("Failed to parse the metrics response", error); } } diff --git a/src/test/java/org/databunker/DatabunkerproApiPciTest.java b/src/test/java/org/databunker/DatabunkerproApiPciTest.java index 5d2f896..ec95c2a 100644 --- a/src/test/java/org/databunker/DatabunkerproApiPciTest.java +++ b/src/test/java/org/databunker/DatabunkerproApiPciTest.java @@ -1,12 +1,12 @@ package org.databunker; import com.fasterxml.jackson.databind.ObjectMapper; -import org.apache.http.HttpEntity; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.util.EntityUtils; +import org.apache.hc.core5.http.HttpEntity; +import org.apache.hc.core5.http.io.entity.EntityUtils; +import org.apache.hc.client5.http.classic.methods.HttpGet; +import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; +import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse; +import org.apache.hc.client5.http.impl.classic.HttpClients; import org.junit.After; import org.junit.Before; import org.junit.BeforeClass; diff --git a/src/test/java/org/databunker/DatabunkerproApiTest.java b/src/test/java/org/databunker/DatabunkerproApiTest.java index c0d2459..ab97fb1 100644 --- a/src/test/java/org/databunker/DatabunkerproApiTest.java +++ b/src/test/java/org/databunker/DatabunkerproApiTest.java @@ -1,12 +1,12 @@ package org.databunker; import com.fasterxml.jackson.databind.ObjectMapper; -import org.apache.http.HttpEntity; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.util.EntityUtils; +import org.apache.hc.core5.http.HttpEntity; +import org.apache.hc.core5.http.io.entity.EntityUtils; +import org.apache.hc.client5.http.classic.methods.HttpGet; +import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; +import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse; +import org.apache.hc.client5.http.impl.classic.HttpClients; import org.junit.After; import org.junit.Before; import org.junit.BeforeClass; From 49d5a98866a31017b365985050f6c97baafdba84 Mon Sep 17 00:00:00 2001 From: Yuli Stremovsky Date: Tue, 11 Aug 2026 11:44:04 +0300 Subject: [PATCH 2/3] Update httpclient5 and Maven plugins to current versions Co-Authored-By: Claude Opus 5 (1M context) --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 2c80f51..01c2c02 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ org.apache.httpcomponents.client5 httpclient5 - 5.6.1 + 5.6.4 @@ -80,7 +80,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.15.0 11 11 @@ -89,7 +89,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.1 + 3.4.0 attach-sources @@ -102,7 +102,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.3.2 + 3.12.0 attach-javadocs From ef45c3f019ee46092069fc713150ccad619dadad Mon Sep 17 00:00:00 2001 From: Yuli Stremovsky Date: Tue, 11 Aug 2026 12:09:39 +0300 Subject: [PATCH 3/3] Bump version to 1.1.0-SNAPSHOT Co-Authored-By: Claude Opus 5 (1M context) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 01c2c02..d1556e2 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.databunker databunkerpro-java - 1.0.0-SNAPSHOT + 1.1.0-SNAPSHOT jar DatabunkerPro Java Client