[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-2417?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Laura Trotta updated HTTPCLIENT-2417:
-------------------------------------
    Description: 
Verified in httpclient5 5.4.4 and 5.6, probably present in previous versions. 

{*}HttpAsyncClientBuilder{*}.setVersionPolicy() sets the *tlsConfig* object in 
the builder, which is then passed to {*}InternalHttpAsyncClient{*}, then 
{*}InternalHttpAsyncExecRuntime{*}, and finally to 
{*}PoolingAsyncClientConnectionManager{*}'s connect() and upgrade() as an 
Object (the *attachment* arg).  While upgrade() checks *attachment* before 
calling {*}resolveTlsConfig{*}, connect() ignores it.

This results in {*}HttpAsyncClientBuilder{*}.setVersionPolicy() doing 
effectively nothing in case of direct connections. The method is deprecated and 
there's a working alternative (using .setDefaultTlsConfig() in 
{*}PoolingAsyncClientConnectionManagerBuilder{*}), but it's still documented as 
functional, and confusing for users. 

  was:
Verified in httpclient5 5.4.4 and 5.6, probably present in previous versions. 

`HttpAsyncClientBuilder`.setVersionPolicy() sets the `tlsConfig` object in the 
builder, which is then passed to `InternalHttpAsyncClient`, then 
`InternalHttpAsyncExecRuntime`, and finally to 
`PoolingAsyncClientConnectionManager`'s connect() and upgrade() as an Object 
(the `attachment` arg).  While upgrade() checks `attachment` before 
calling`resolveTlsConfig`, connect() ignores it.

This results in `HttpAsyncClientBuilder`.setVersionPolicy() doing effectively 
nothing in case of direct connections. The method is deprecated and there's a 
working alternative (using `.setDefaultTlsConfig()` in 
`PoolingAsyncClientConnectionManagerBuilder`), but it's still documented as 
functional, and confusing for users. 


> HttpAsyncClientBuilder.setVersionPolicy() has no effect on 
> PoolingAsyncClientConnectionManager.connect()
> --------------------------------------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-2417
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2417
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient (async)
>    Affects Versions: 5.6
>            Reporter: Laura Trotta
>            Priority: Major
>
> Verified in httpclient5 5.4.4 and 5.6, probably present in previous versions. 
> {*}HttpAsyncClientBuilder{*}.setVersionPolicy() sets the *tlsConfig* object 
> in the builder, which is then passed to {*}InternalHttpAsyncClient{*}, then 
> {*}InternalHttpAsyncExecRuntime{*}, and finally to 
> {*}PoolingAsyncClientConnectionManager{*}'s connect() and upgrade() as an 
> Object (the *attachment* arg).  While upgrade() checks *attachment* before 
> calling {*}resolveTlsConfig{*}, connect() ignores it.
> This results in {*}HttpAsyncClientBuilder{*}.setVersionPolicy() doing 
> effectively nothing in case of direct connections. The method is deprecated 
> and there's a working alternative (using .setDefaultTlsConfig() in 
> {*}PoolingAsyncClientConnectionManagerBuilder{*}), but it's still documented 
> as functional, and confusing for users. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to