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

Reply via email to