From 99b9ed99e7ac898651f82bb759025080695fd0fb Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Thu, 13 Oct 2022 17:15:33 +0200 Subject: [PATCH] Polishing. Reuse configuration builders. See #11 --- .../issues/IssueTrackerConfiguration.java | 37 ++----------------- 1 file changed, 3 insertions(+), 34 deletions(-) diff --git a/src/main/java/org/springframework/data/release/issues/IssueTrackerConfiguration.java b/src/main/java/org/springframework/data/release/issues/IssueTrackerConfiguration.java index e30263f..a26ea5b 100644 --- a/src/main/java/org/springframework/data/release/issues/IssueTrackerConfiguration.java +++ b/src/main/java/org/springframework/data/release/issues/IssueTrackerConfiguration.java @@ -41,6 +41,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.data.release.issues.github.GitHubProperties; import org.springframework.data.release.model.Project; import org.springframework.data.release.utils.HttpBasicCredentials; +import org.springframework.data.release.utils.HttpComponentsClientHttpRequestFactoryBuilder; import org.springframework.data.util.Lazy; import org.springframework.http.HttpMethod; import org.springframework.http.client.ClientHttpRequest; @@ -89,30 +90,8 @@ class IssueTrackerConfiguration { @Bean HttpComponentsClientHttpRequestFactory clientHttpRequestFactory(GitHubProperties gitHubProperties) { - // Preemptive auth - CredentialsProvider credsProvider = new BasicCredentialsProvider(); - AuthCache authCache = new BasicAuthCache(); - - addPreemptiveAuth(credsProvider, authCache, gitHubProperties.getApiUrl(), gitHubProperties.getHttpCredentials()); - - Lazy lazy = Lazy - .of(() -> 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); - } - }; - - factory.setHttpContextFactory((httpMethod, uri) -> { - HttpClientContext context = HttpClientContext.create(); - context.setAuthCache(authCache); - return context; - }); - - return factory; + return HttpComponentsClientHttpRequestFactoryBuilder.builder() + .withAuthentication(gitHubProperties.getApiUrl(), gitHubProperties.getHttpCredentials()).build(); } @Bean @@ -131,16 +110,6 @@ class IssueTrackerConfiguration { return OrderAwarePluginRegistry.of(plugins); } - private static void addPreemptiveAuth(CredentialsProvider credsProvider, AuthCache authCache, String requestUrl, - HttpBasicCredentials credentials) { - HttpHost jiraHost = HttpHost.create(requestUrl); - - credsProvider.setCredentials(new AuthScope(jiraHost), - new UsernamePasswordCredentials(credentials.getUsername(), credentials.getPassword().toString())); - - authCache.put(jiraHost, new BasicScheme()); - } - /** * @author Oliver Gierke */