55import io .vertx .core .Future ;
66import io .vertx .core .Handler ;
77import io .vertx .core .http .*;
8- import io .vertx .core .http .impl .config .Http1ClientConfig ;
98import io .vertx .core .http .impl .config .HttpClientConfig ;
109import io .vertx .core .internal .CloseFuture ;
1110import io .vertx .core .internal .ContextInternal ;
2928public final class HttpClientBuilderInternal implements HttpClientBuilder {
3029
3130 private final VertxInternal vertx ;
32- private HttpClientConfig clientOptions ;
31+ private HttpClientConfig clientConfig ;
32+ private HttpClientOptions clientOptions ; // To be removed
3333 private PoolOptions poolOptions ;
3434 private Handler <HttpConnection > connectHandler ;
3535 private Function <HttpClientResponse , Future <RequestOptions >> redirectHandler ;
@@ -43,19 +43,21 @@ public HttpClientBuilderInternal(VertxInternal vertx) {
4343 }
4444
4545 public HttpClientBuilder with (HttpClientConfig options ) {
46- this .clientOptions = new HttpClientConfig (options );
46+ this .clientConfig = new HttpClientConfig (options );
4747 return this ;
4848 }
4949
5050 @ Override
5151 public HttpClientBuilder with (HttpClientOptions options ) {
52- this .clientOptions = new HttpClientConfig (options );
52+ this .clientConfig = new HttpClientConfig (options );
53+ this .clientOptions = options ;
5354 return this ;
5455 }
5556
5657 @ Override
5758 public HttpClientBuilder with (Http3ClientOptions options ) {
58- this .clientOptions = new HttpClientConfig (options );
59+ this .clientConfig = new HttpClientConfig (options );
60+ this .clientOptions = null ;
5961 return this ;
6062 }
6163
@@ -122,22 +124,23 @@ private HttpClientImpl createHttpClientImpl(HttpClientMetrics<?, ?, ?> metrics,
122124 boolean followAlternativeServices ;
123125 ProxyOptions proxyOptions ;
124126 List <String > nonProxyHosts ;
125- if (clientOptions != null ) {
126- proxyOptions = clientOptions .getProxyOptions ();
127- nonProxyHosts = clientOptions .getNonProxyHosts ();
128- followAlternativeServices = clientOptions .getFollowAlternativeServices ();
127+ if (clientConfig != null ) {
128+ proxyOptions = clientConfig .getProxyOptions ();
129+ nonProxyHosts = clientConfig .getNonProxyHosts ();
130+ followAlternativeServices = clientConfig .getFollowAlternativeServices ();
129131 } else {
130132 proxyOptions = null ;
131133 nonProxyHosts = null ;
132134 followAlternativeServices = false ;
133135 }
134136 PoolOptions po ;
135137 po = poolOptions != null ? poolOptions : new PoolOptions ();
138+ HttpClientOptions options = HttpClientBuilderInternal .this .clientOptions ;
136139 return new HttpClientImpl (vertx , resolver , redirectHandler , metrics , po ,
137140 proxyOptions , nonProxyHosts , loadBalancer , followAlternativeServices , resolverKeepAlive , config , quicTransport ) {
138141 @ Override
139142 public HttpClientOptions options () {
140- return null ;
143+ return options == null ? new HttpClientOptions () : new HttpClientOptions ( options ) ;
141144 }
142145 };
143146 }
@@ -184,7 +187,7 @@ private Handler<HttpConnection> connectionHandler(HttpClientConfig options) {
184187 @ Override
185188 public HttpClientAgent build () {
186189
187- HttpClientConfig co = clientOptions ;
190+ HttpClientConfig co = clientConfig ;
188191 if (co == null ) {
189192 // We assume default client configuration
190193 co = new HttpClientConfig (new HttpClientOptions ());
0 commit comments