James Bradlee created HTTPASYNC-173:
---------------------------------------
Summary: DefaultAsyncClientConnectionOperator has a
package-private constructor
Key: HTTPASYNC-173
URL: https://issues.apache.org/jira/browse/HTTPASYNC-173
Project: HttpComponents HttpAsyncClient
Issue Type: Bug
Reporter: James Bradlee
[permalink
github|https://github.com/apache/httpcomponents-client/blob/5c6c135a8b33eadd3b6867fe280c7fd9b69dc1d9/httpclient5/src/main/java/org/apache/hc/client5/http/impl/nio/DefaultAsyncClientConnectionOperator.java#L65-L82]
The DefaultAsyncClientConnectionOperator class has a package-private
constructor, yet the class itself is defined as public, with protected methods
I assume is meant to be overridden by external consumers? I suspect this is an
accidental design issue - and the constructor was meant to be opened?
Currently, it is not possible to instantiate this class outside of the
org.apache.hc.client5.http.impl.nio package. Our current workaround is creating
our own class in that package:
{code:java}
package org.apache.hc.client5.http.impl.nio
import org.apache.hc.client5.http.DnsResolver
import org.apache.hc.client5.http.SchemePortResolver
import org.apache.hc.core5.http.config.Lookup
import org.apache.hc.core5.http.nio.ssl.TlsStrategy
open class ExtendableDefaultAsyncClientConnectionOperator(
tlsStrategyLookup: Lookup<TlsStrategy>,
schemePortResolver: SchemePortResolver?,
dnsResolver: DnsResolver?,
) : DefaultAsyncClientConnectionOperator(
tlsStrategyLookup,
schemePortResolver,
dnsResolver,
) {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]