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: dev-unsubscr...@hc.apache.org
For additional commands, e-mail: dev-h...@hc.apache.org

Reply via email to