For Quarkus we're using a different ClientHttpEngine for when SSL is disabled, to prevent issues with native image generation. So in RestClientBuilderImpl it does:
However, I've just realized that this means that connect and read timeouts, and possibly other configuration is not being properly set.
As RestClientBuilderImpl does:
inside the ResteasyClientBuilder it doesn't then set those values on the ClientHttpEngine because the engine already exists.
So, I'm not really sure the most appropriate way to fix this.
Some options I can think of are:
- RestClientBuilderImpl constructs the URLConnectionEngine setting the appropriate timeouts, etc before setting it into the builder
- A ClientHttpEngineBuilder is created for URLConnectionEngine, and then ResteasyClientBuilderImpl looks for a marker of some kind to indicate which engine builder to use. Or maybe it's a method on the builder to explicitly set the builder, but then it defaults to ClientHttpEngineBuilder43
There might be other alternatives as well