[
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]