Skip to content

Commit dc62fc6

Browse files
committed
Implement correctly the deprecated HttpClientInternal#options for WebClient until it can properly support the new HttpClient configuration
1 parent a487152 commit dc62fc6

1 file changed

Lines changed: 14 additions & 11 deletions

File tree

vertx-core/src/main/java/io/vertx/core/http/impl/HttpClientBuilderInternal.java

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import io.vertx.core.Future;
66
import io.vertx.core.Handler;
77
import io.vertx.core.http.*;
8-
import io.vertx.core.http.impl.config.Http1ClientConfig;
98
import io.vertx.core.http.impl.config.HttpClientConfig;
109
import io.vertx.core.internal.CloseFuture;
1110
import io.vertx.core.internal.ContextInternal;
@@ -29,7 +28,8 @@
2928
public 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

Comments
 (0)