This is an automated email from the ASF dual-hosted git repository.

ottlinger pushed a commit to branch feature/TENTACLES-26
in repository https://gitbox.apache.org/repos/asf/creadur-tentacles.git

commit ccc84bcf59e6a4b76c0a909fd1ae80bfb627dc8b
Author: P. Ottlinger <[email protected]>
AuthorDate: Fri Jul 17 11:38:39 2026 +0200

    TENTACLES-26: Update to httpclient5 and fix security warnings
---
 pom.xml                                            |  6 ++--
 .../org/apache/creadur/tentacles/NexusClient.java  | 32 ++++++++++++----------
 2 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/pom.xml b/pom.xml
index 0bc5053..a8c993c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,8 +35,8 @@
       <version>2.1.0</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.httpcomponents</groupId>
-      <artifactId>httpclient</artifactId>
+      <groupId>org.apache.httpcomponents.client5</groupId>
+      <artifactId>httpclient5</artifactId>
       <version>${httpClientVersion}</version>
     </dependency>
     <dependency>
@@ -94,7 +94,7 @@
     <previousTentaclesVersion>0.1</previousTentaclesVersion>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <javaVersion>17</javaVersion>
-    <httpClientVersion>4.5.14</httpClientVersion>
+    <httpClientVersion>5.6.2</httpClientVersion>
     <loggerVersion>2.26.1</loggerVersion>
     <apacheRatVersion>0.18</apacheRatVersion>
     <!-- taken from 
https://maven.apache.org/guides/mini/guide-reproducible-builds.html, updated by 
maven-release-plugin -->
diff --git a/src/main/java/org/apache/creadur/tentacles/NexusClient.java 
b/src/main/java/org/apache/creadur/tentacles/NexusClient.java
index 0fc43bb..465d6b9 100644
--- a/src/main/java/org/apache/creadur/tentacles/NexusClient.java
+++ b/src/main/java/org/apache/creadur/tentacles/NexusClient.java
@@ -16,15 +16,17 @@
  */
 package org.apache.creadur.tentacles;
 
-import org.apache.http.Header;
-import org.apache.http.HttpHeaders;
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpHead;
-import org.apache.http.client.methods.HttpUriRequest;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClientBuilder;
-import org.apache.logging.log4j.*;
+import org.apache.hc.client5.http.classic.methods.HttpGet;
+import org.apache.hc.client5.http.classic.methods.HttpHead;
+import org.apache.hc.client5.http.classic.methods.HttpUriRequest;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
+import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
+import org.apache.hc.core5.http.ClassicHttpResponse;
+import org.apache.hc.core5.http.Header;
+import org.apache.hc.core5.http.HttpHeaders;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
 import org.codehaus.swizzle.stream.StreamLexer;
 
 import java.io.File;
@@ -74,7 +76,7 @@ public class NexusClient {
 
         log.info("Download {}", uri);
 
-        try (CloseableHttpResponse response = get(uri); InputStream content = 
response.getEntity().getContent()) {
+        try (ClassicHttpResponse response = get(uri); InputStream content = 
response.getEntity().getContent()) {
 
             this.fileSystem.mkparent(file);
 
@@ -85,7 +87,7 @@ public class NexusClient {
     }
 
     private Long getContentLength(final URI uri) throws IOException {
-        final CloseableHttpResponse head = head(uri);
+        final ClassicHttpResponse head = head(uri);
         final Header[] headers = head.getHeaders(HttpHeaders.CONTENT_LENGTH);
 
         if (headers != null && headers.length >= 1) {
@@ -97,15 +99,15 @@ public class NexusClient {
         return (long) -1;
     }
 
-    private CloseableHttpResponse get(final URI uri) throws IOException {
+    private ClassicHttpResponse get(final URI uri) throws IOException {
         return get(new HttpGet(uri), this.retries);
     }
 
-    private CloseableHttpResponse head(final URI uri) throws IOException {
+    private ClassicHttpResponse head(final URI uri) throws IOException {
         return get(new HttpHead(uri), this.retries);
     }
 
-    private CloseableHttpResponse get(final HttpUriRequest request, int tries) 
throws IOException {
+    private ClassicHttpResponse get(final HttpUriRequest request, int tries) 
throws IOException {
         try {
             request.setHeader(HttpHeaders.USER_AGENT, USER_AGENT_CONTENTS);
             return this.client.execute(request);
@@ -128,7 +130,7 @@ public class NexusClient {
         log.info("Crawl {}", index);
         final Set<URI> resources = new LinkedHashSet<>();
 
-        final CloseableHttpResponse response = get(index);
+        final ClassicHttpResponse response = get(index);
 
         final InputStream content = response.getEntity().getContent();
         final StreamLexer lexer = new StreamLexer(content);

Reply via email to