diff --git a/artipie-core/pom.xml b/artipie-core/pom.xml index e9ed83498..826bd9445 100644 --- a/artipie-core/pom.xml +++ b/artipie-core/pom.xml @@ -62,9 +62,9 @@ v2.3.2+java8 - org.apache.httpcomponents - httpclient - 4.5.14 + org.apache.httpcomponents.client5 + httpclient5 + ${httpclient.version} org.quartz-scheduler diff --git a/artipie-core/src/main/java/com/artipie/http/servlet/ServletSliceWrap.java b/artipie-core/src/main/java/com/artipie/http/servlet/ServletSliceWrap.java index 544303be5..920ba8b20 100644 --- a/artipie-core/src/main/java/com/artipie/http/servlet/ServletSliceWrap.java +++ b/artipie-core/src/main/java/com/artipie/http/servlet/ServletSliceWrap.java @@ -22,8 +22,8 @@ import java.util.concurrent.CompletionException; import java.util.concurrent.CompletionStage; import java.util.stream.Collectors; -import org.apache.http.HttpStatus; -import org.apache.http.client.utils.URIBuilder; +import org.apache.hc.core5.http.HttpStatus; +import org.apache.hc.core5.net.URIBuilder; import org.cqfn.rio.Buffers; import org.cqfn.rio.stream.ReactiveInputStream; diff --git a/artipie-core/src/main/java/com/artipie/http/slice/TrimPathSlice.java b/artipie-core/src/main/java/com/artipie/http/slice/TrimPathSlice.java index 2365bac7b..8048b5638 100644 --- a/artipie-core/src/main/java/com/artipie/http/slice/TrimPathSlice.java +++ b/artipie-core/src/main/java/com/artipie/http/slice/TrimPathSlice.java @@ -14,6 +14,8 @@ import com.artipie.http.rs.RsWithBody; import com.artipie.http.rs.RsWithStatus; import com.google.common.collect.Iterables; +import org.apache.hc.core5.net.URIBuilder; + import java.net.URI; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; @@ -22,7 +24,6 @@ import java.util.Objects; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.apache.http.client.utils.URIBuilder; import org.reactivestreams.Publisher; /** diff --git a/artipie-main/pom.xml b/artipie-main/pom.xml index 72630a84a..d5459dc7d 100644 --- a/artipie-main/pom.xml +++ b/artipie-main/pom.xml @@ -294,13 +294,13 @@ SOFTWARE. org.apache.httpcomponents.client5 httpclient5 - 5.1.2 + ${httpclient.version} test org.apache.httpcomponents.client5 httpclient5-fluent - 5.1.3 + ${httpclient.version} test diff --git a/conan-adapter/src/main/java/com/artipie/conan/http/ConansEntity.java b/conan-adapter/src/main/java/com/artipie/conan/http/ConansEntity.java index cd0a454b9..6cde9392a 100644 --- a/conan-adapter/src/main/java/com/artipie/conan/http/ConansEntity.java +++ b/conan-adapter/src/main/java/com/artipie/conan/http/ConansEntity.java @@ -12,9 +12,17 @@ import com.artipie.http.rq.RqParams; import com.google.common.base.Strings; import io.vavr.Tuple2; +import org.apache.hc.core5.http.HttpHost; +import org.apache.hc.core5.net.URIBuilder; +import org.ini4j.Wini; + +import javax.json.Json; +import javax.json.JsonArrayBuilder; +import javax.json.JsonObjectBuilder; import java.io.IOException; import java.io.StringReader; import java.nio.charset.StandardCharsets; +import java.net.URISyntaxException; import java.util.Arrays; import java.util.Collection; import java.util.HashSet; @@ -24,11 +32,6 @@ import java.util.concurrent.CompletableFuture; import java.util.regex.Matcher; import java.util.stream.Collectors; -import javax.json.Json; -import javax.json.JsonArrayBuilder; -import javax.json.JsonObjectBuilder; -import org.apache.http.client.utils.URIBuilder; -import org.ini4j.Wini; /** * Conan /v1/conans/* REST APIs. @@ -134,9 +137,13 @@ public CompletableFuture getResult(final RequestLineFrom request, if (tuple._2()) { final URIBuilder builder = new URIBuilder(); builder.setScheme(ConansEntity.PROTOCOL); - builder.setHost(hostname); - builder.setPath(tuple._1()); - result = Optional.of(builder.toString()); + try { + builder.setHttpHost(HttpHost.create(hostname)); + builder.setPath(tuple._1()); + result = Optional.of(builder.toString()); + } catch (URISyntaxException ex) { + throw new ArtipieIOException(ex); + } } return result; }, builder -> builder.build().toString() @@ -174,9 +181,13 @@ public CompletableFuture getResult(final RequestLineFrom request, if (tuple._2()) { final URIBuilder builder = new URIBuilder(); builder.setScheme(ConansEntity.PROTOCOL); - builder.setHost(hostname); - builder.setPath(tuple._1()); - result = Optional.of(builder.toString()); + try { + builder.setHttpHost(HttpHost.create(hostname)); + builder.setPath(tuple._1()); + result = Optional.of(builder.toString()); + } catch (URISyntaxException ex) { + throw new ArtipieIOException(ex); + } } return result; }, builder -> builder.build().toString() @@ -414,12 +425,16 @@ private CompletableFuture checkPkg(final Matcher matcher, final String h if (exist) { final URIBuilder builder = new URIBuilder(); builder.setScheme(ConansEntity.PROTOCOL); - builder.setHost(hostname); - builder.setPath(key.string()); - result = String.format( - "{ \"%1$s\": \"%2$s\"}", ConansEntity.CONAN_MANIFEST, - builder.toString() - ); + try { + builder.setHttpHost(HttpHost.create(hostname)); + builder.setPath(key.string()); + result = String.format( + "{ \"%1$s\": \"%2$s\"}", ConansEntity.CONAN_MANIFEST, + builder.build() + ); + } catch (URISyntaxException ex) { + throw new ArtipieIOException(ex); + } } else { result = ""; } @@ -468,12 +483,16 @@ private CompletableFuture checkPkg(final Matcher matcher, final String h if (exist) { final URIBuilder builder = new URIBuilder(); builder.setScheme(ConansEntity.PROTOCOL); - builder.setHost(hostname); - builder.setPath(key.string()); - result = String.format( - "{\"%1$s\": \"%2$s\"}", ConansEntity.CONAN_MANIFEST, - builder.toString() - ); + try { + builder.setHttpHost(HttpHost.create(hostname)); + builder.setPath(key.string()); + result = String.format( + "{\"%1$s\": \"%2$s\"}", ConansEntity.CONAN_MANIFEST, + builder.build() + ); + } catch (URISyntaxException ex) { + throw new ArtipieIOException(ex); + } } else { result = ""; } diff --git a/http-client/src/main/java/com/artipie/http/client/ProxySettings.java b/http-client/src/main/java/com/artipie/http/client/ProxySettings.java index 3eb84bb91..d81164279 100644 --- a/http-client/src/main/java/com/artipie/http/client/ProxySettings.java +++ b/http-client/src/main/java/com/artipie/http/client/ProxySettings.java @@ -6,10 +6,11 @@ import com.amihaiemil.eoyaml.YamlMapping; import com.google.common.base.Strings; +import org.apache.hc.core5.net.URIBuilder; + import java.net.URI; import java.net.URISyntaxException; import java.util.Objects; -import org.apache.http.client.utils.URIBuilder; /** * Proxy settings. diff --git a/http-client/src/main/java/com/artipie/http/client/jetty/JettyClientSlice.java b/http-client/src/main/java/com/artipie/http/client/jetty/JettyClientSlice.java index 58a308163..39fbbfd56 100644 --- a/http-client/src/main/java/com/artipie/http/client/jetty/JettyClientSlice.java +++ b/http-client/src/main/java/com/artipie/http/client/jetty/JettyClientSlice.java @@ -22,7 +22,7 @@ import java.util.Map; import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; -import org.apache.http.client.utils.URIBuilder; +import org.apache.hc.core5.net.URIBuilder; import org.eclipse.jetty.client.AsyncRequestContent; import org.eclipse.jetty.client.HttpClient; import org.eclipse.jetty.client.Request; diff --git a/nuget-adapter/pom.xml b/nuget-adapter/pom.xml index d54ff4f62..150e7bb7f 100644 --- a/nuget-adapter/pom.xml +++ b/nuget-adapter/pom.xml @@ -83,12 +83,6 @@ SOFTWARE. 3.9.1 - - org.apache.httpcomponents - httpmime - 4.5.13 - test - com.artipie vertx-server diff --git a/nuget-adapter/src/test/java/com/artipie/nuget/http/publish/NuGetPackagePublishTest.java b/nuget-adapter/src/test/java/com/artipie/nuget/http/publish/NuGetPackagePublishTest.java index e30e0fd35..f394166ca 100644 --- a/nuget-adapter/src/test/java/com/artipie/nuget/http/publish/NuGetPackagePublishTest.java +++ b/nuget-adapter/src/test/java/com/artipie/nuget/http/publish/NuGetPackagePublishTest.java @@ -19,6 +19,12 @@ import com.artipie.scheduling.ArtifactEvent; import com.artipie.security.policy.PolicyByUsername; import com.google.common.io.Resources; +import org.apache.hc.client5.http.entity.mime.MultipartEntityBuilder; +import org.apache.hc.core5.http.HttpEntity; +import org.hamcrest.MatcherAssert; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + import io.reactivex.Flowable; import java.io.ByteArrayOutputStream; import java.net.URI; @@ -28,11 +34,6 @@ import java.util.Queue; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ConcurrentLinkedQueue; -import org.apache.http.HttpEntity; -import org.apache.http.entity.mime.MultipartEntityBuilder; -import org.hamcrest.MatcherAssert; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; /** * Tests for {@link NuGet}. @@ -135,7 +136,7 @@ private Response putPackage(final byte[] pack) throws Exception { new RequestLine(RqMethod.PUT, "/package").toString(), new Headers.From( new TestAuthentication.Header(), - new Header("Content-Type", entity.getContentType().getValue()) + new Header("Content-Type", entity.getContentType()) ), Flowable.fromArray(ByteBuffer.wrap(sink.toByteArray())) ); diff --git a/pom.xml b/pom.xml index 7d05348ab..93f5b3c54 100644 --- a/pom.xml +++ b/pom.xml @@ -84,6 +84,7 @@ SOFTWARE. 1.1.4 17 LICENSE.header + 5.3.1 diff --git a/pypi-adapter/pom.xml b/pypi-adapter/pom.xml index 02f1b6191..47b6dadc7 100644 --- a/pypi-adapter/pom.xml +++ b/pypi-adapter/pom.xml @@ -34,7 +34,6 @@ SOFTWARE. pypi-adapter https://github.com/artipie/pypi-adapter - 4.5.14 ${project.basedir}/../LICENSE.header @@ -69,15 +68,9 @@ SOFTWARE. - org.apache.httpcomponents - httpmime - ${apache.httpcomponents.version} - test - - - org.apache.httpcomponents - httpclient - ${apache.httpcomponents.version} + org.apache.httpcomponents.client5 + httpclient5 + ${httpclient.version} test