You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Oleg Kalnichevski (JIRA)" <ji...@apache.org> on 2017/02/23 15:15:44 UTC
[jira] [Resolved] (HTTPASYNC-118) HttpAsyncClients.createSystem()
won't use a SystemDefaultCredentialsProvider
[ https://issues.apache.org/jira/browse/HTTPASYNC-118?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Oleg Kalnichevski resolved HTTPASYNC-118.
-----------------------------------------
Resolution: Fixed
Implemented in SVN 4.1.x branch. Please review and close.
Oleg
> HttpAsyncClients.createSystem() won't use a SystemDefaultCredentialsProvider
> ----------------------------------------------------------------------------
>
> Key: HTTPASYNC-118
> URL: https://issues.apache.org/jira/browse/HTTPASYNC-118
> Project: HttpComponents HttpAsyncClient
> Issue Type: Improvement
> Affects Versions: 4.1.3
> Reporter: Yves ERB
> Priority: Minor
> Fix For: 4.1.4
>
>
> My HTTP proxy needs authentication.
> First I setup my proxy :
> {code:borderStyle=solid}
> System.setProperty("http.proxyHost", host);
> System.setProperty("http.proxyPort", String.valueOf(port));
> System.setProperty("https.proxyHost", host);
> System.setProperty("https.proxyPort", String.valueOf(port));
> System.setProperty("http.nonProxyHosts", exclusions);
> System.setProperty("https.nonProxyHosts", exclusions);
> Authenticator.setDefault(new ProxyAuthenticator(user, password));
> {code}
> Nothing particular here.
> When I create an HttpClient like this:
> {code:borderStyle=solid}
> HttpClients.createSystem();
> {code}
> or
> {code:borderStyle=solid}
> HttpClientBuilder.create.useSystemProperties().build();
> {code}
> The client is able to use my proxy. However, when I create an HttpAsyncClient like this :
> {code:borderStyle=solid}
> HttpAsyncClients.createSystem();
> {code}
> or
> {code:borderStyle=solid}
> HttpAsyncClientBuilder.create().useSystemProperties().build();
> {code}
> The async client gets a 407.
> It's due to different default settings.
> In HttpClientBuilder:
> {code:borderStyle=solid}
> CredentialsProvider defaultCredentialsProvider = this.credentialsProvider;
> if (defaultCredentialsProvider == null) {
> if (systemProperties) {
> defaultCredentialsProvider = new SystemDefaultCredentialsProvider();
> } else {
> defaultCredentialsProvider = new BasicCredentialsProvider();
> }
> }
> {code}
> In HttpAsyncClientBuilder:
> {code:borderStyle=solid}
> CredentialsProvider defaultCredentialsProvider = this.credentialsProvider;
> if (defaultCredentialsProvider == null) {
> defaultCredentialsProvider = new BasicCredentialsProvider();
> }
> {code}
> I can fix the async client with this code :
> {code:borderStyle=solid}
> HttpAsyncClientBuilder.create().useSystemProperties()
> .setDefaultCredentialsProvider(new SystemDefaultCredentialsProvider())
> .build();
> {code}
> However it would be nice to have consistent builders.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org