DefaultHttpClientConnectionOperator is marked @Internal, as is the
associated connection manager constructor that takes an instance of
it. I'll take a look at your other suggestions.

On Fri, Apr 11, 2025 at 4:34 AM Oleg Kalnichevski <ol...@apache.org> wrote:
>
> On Thu, 2025-04-10 at 19:02 -0700, Ryan Schmitt wrote:
> > 2. Connection count metrics. This is a trivial CSF implementation
> > that
> > wraps a delegate and emits a metric whenever connectSocket() is
> > called.
> > 3. Unix domain socket support. This is a CSF implementation that
> > calls
> > JUnixSocket to create UDS.
> >
> > I see how (1) can be migrated to the new TlsSocketStrategy API
> > (although it lacks a connectTimeout parameter, which is a problem),
> > so
> > I'm not worried about that, but I'm more concerned about (2) and (3).
> > In httpclient 5.4, if I want to take control of Socket creation, it
> > looks like I have to use internal APIs like DetachedSocketFactory and
> > HttpClientConnectionOperator. My questions are:
> >
> > - Does the synchronous client support TLS handshake timeouts in 5.4?
> > (My integration tests indicate that the default behavior is the same
> > as in 5.2.)
>
> Hi Ryan
>
> It does. See Tlsconfig#handshakeTimeout
>
> https://github.com/apache/httpcomponents-client/blob/5.4.x/httpclient5/src/main/java/org/apache/hc/client5/http/ssl/AbstractClientTlsStrategy.java#L240
>
>
> > - Have I overlooked any public APIs that could accommodate use cases
> > (2)
>
> Default connection operators now have a number of callback methods that
> could be used as an injection point for custom metrics collectors.
>
>
>
> https://github.com/apache/httpcomponents-client/blob/5.4.x/httpclient5/src/main/java/org/apache/hc/client5/http/impl/io/DefaultHttpClientConnectionOperator.java#L295
>
> In your case however a simple HttpClientConnectionManager decorator
> should be suffice, I believe.
>
>
> >  and (3) above?
> > - Could we expose DetachedSocketFactory (or something similar) as a
> > stable interface for client customization? If so, could such a change
> > be released as part of 5.4.4, or would it have to go into 5.5?
> >
>
> Of course we can. These days we tend to introduce low level interfaces
> as internal first, and then make them public upon request.
>
> We can expedite the 5.5 GA release if needed, but we can also release
> whatever changes you may need in 5.4.x as internal and make them public
> in 5.5 at a later point.
>
> Oleg
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org
> For additional commands, e-mail: dev-h...@hc.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org
For additional commands, e-mail: dev-h...@hc.apache.org

Reply via email to