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