diff --git a/pom.xml b/pom.xml index 26ceb76..cf4efee 100644 --- a/pom.xml +++ b/pom.xml @@ -14,6 +14,7 @@ 2.0.0.RELEASE + 7.3.0.202506031305-r 1.18.38 @@ -141,13 +142,13 @@ org.eclipse.jgit org.eclipse.jgit - 5.13.3.202401111512-r + ${jgit.version} org.eclipse.jgit org.eclipse.jgit.gpg.bc - 5.13.3.202401111512-r + ${jgit.version} diff --git a/src/main/java/org/springframework/data/release/utils/HttpComponentsClientHttpRequestFactoryBuilder.java b/src/main/java/org/springframework/data/release/utils/HttpComponentsClientHttpRequestFactoryBuilder.java index 7155e7b..c1353ae 100644 --- a/src/main/java/org/springframework/data/release/utils/HttpComponentsClientHttpRequestFactoryBuilder.java +++ b/src/main/java/org/springframework/data/release/utils/HttpComponentsClientHttpRequestFactoryBuilder.java @@ -15,10 +15,9 @@ */ package org.springframework.data.release.utils; -import java.io.IOException; import java.net.URI; -import java.net.URISyntaxException; +import org.apache.hc.client5.http.ContextBuilder; import org.apache.hc.client5.http.auth.AuthCache; import org.apache.hc.client5.http.auth.AuthScope; import org.apache.hc.client5.http.auth.UsernamePasswordCredentials; @@ -27,12 +26,8 @@ import org.apache.hc.client5.http.impl.auth.BasicCredentialsProvider; import org.apache.hc.client5.http.impl.auth.BasicScheme; import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; import org.apache.hc.client5.http.impl.classic.HttpClientBuilder; -import org.apache.hc.client5.http.protocol.HttpClientContext; import org.apache.hc.core5.http.HttpHost; -import org.springframework.data.util.Lazy; -import org.springframework.http.HttpMethod; -import org.springframework.http.client.ClientHttpRequest; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; /** @@ -74,21 +69,15 @@ public class HttpComponentsClientHttpRequestFactoryBuilder { */ public HttpComponentsClientHttpRequestFactory build() { - Lazy lazy = Lazy - .of(() -> HttpClientBuilder.create().setDefaultCredentialsProvider(credsProvider).build()); + CloseableHttpClient httpClient = HttpClientBuilder.create().setDefaultCredentialsProvider(credsProvider).build(); - HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory() { - @Override - public ClientHttpRequest createRequest(URI uri, HttpMethod httpMethod) throws IOException { - setHttpClient(lazy.get()); - return super.createRequest(uri, httpMethod); - } - }; + HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient); factory.setHttpContextFactory((httpMethod, uri) -> { - HttpClientContext context = HttpClientContext.create(); - context.setAuthCache(authCache); - return context; + + ContextBuilder contextBuilder = ContextBuilder.create(); + contextBuilder.useAuthCache(authCache); + return contextBuilder.build(); }); return factory; @@ -97,16 +86,16 @@ public class HttpComponentsClientHttpRequestFactoryBuilder { private static void addPreemptiveAuth(BasicCredentialsProvider credsProvider, AuthCache authCache, String requestUrl, HttpBasicCredentials credentials) { - try { - HttpHost host = HttpHost.create(requestUrl); + HttpHost host = HttpHost.create(URI.create(requestUrl)); - credsProvider.setCredentials(new AuthScope(host), - new UsernamePasswordCredentials(credentials.getUsername(), credentials.getPassword().toCharArray())); + UsernamePasswordCredentials userPassword = new UsernamePasswordCredentials(credentials.getUsername(), + credentials.getPassword().toCharArray()); + credsProvider.setCredentials(new AuthScope(host), userPassword); - authCache.put(host, new BasicScheme()); - } catch (URISyntaxException e) { - throw new IllegalArgumentException(e); - } + BasicScheme basicScheme = new BasicScheme(); + basicScheme.initPreemptive(userPassword); + + authCache.put(host, basicScheme); } }