Skip to content

Commit da909d8

Browse files
committed
HTTP config nested per versions config should initially be null.
1 parent 6c0a420 commit da909d8

7 files changed

Lines changed: 31 additions & 24 deletions

File tree

vertx-core/src/main/java/io/vertx/core/http/HttpClientConfig.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,9 @@ public HttpClientConfig() {
8585
this.quicConfig = defaultQuicConfig();
8686
this.ssl = TCPSSLOptions.DEFAULT_SSL;
8787
this.versions = new ArrayList<>(DEFAULT_SUPPORTED_VERSIONS);
88-
this.http1Config = new Http1ClientConfig();
89-
this.http2Config = new Http2ClientConfig();
90-
this.http3Config = new Http3ClientConfig();
88+
this.http1Config = null;
89+
this.http2Config = null;
90+
this.http3Config = null;
9191
this.verifyHost = HttpClientOptions.DEFAULT_VERIFY_HOST;
9292
this.decompressionEnabled = HttpClientOptions.DEFAULT_DECOMPRESSION_SUPPORTED;
9393
this.defaultHost = HttpClientOptions.DEFAULT_DEFAULT_HOST;

vertx-core/src/main/java/io/vertx/core/http/HttpServerConfig.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,9 @@ public HttpServerConfig() {
112112
this.strictThreadMode = HttpServerOptions.DEFAULT_STRICT_THREAD_MODE_STRICT;
113113
this.metricsName = null;
114114
this.tracingPolicy = HttpServerOptions.DEFAULT_TRACING_POLICY;
115-
this.http1Config = new Http1ServerConfig();
116-
this.http2Config = new Http2ServerConfig();
117-
this.http3Config = new Http3ServerConfig();
115+
this.http1Config = null;
116+
this.http2Config = null;
117+
this.http3Config = null;
118118
this.webSocketConfig = new WebSocketServerConfig();
119119
this.compression = new HttpCompressionConfig();
120120
this.tcpConfig = defaultTcpServerConfig();

vertx-core/src/main/java/io/vertx/core/http/impl/quic/QuicHttpClientTransport.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
import io.netty.handler.codec.http3.Http3;
1414
import io.vertx.core.Future;
15+
import io.vertx.core.http.Http3ClientConfig;
1516
import io.vertx.core.http.Http3Settings;
1617
import io.vertx.core.http.HttpClientConfig;
1718
import io.vertx.core.http.impl.HttpClientConnection;
@@ -43,15 +44,20 @@ public QuicHttpClientTransport(VertxInternal vertx, HttpClientConfig config) {
4344
QuicClientConfig quicConfig = new QuicClientConfig(config.getQuicConfig());
4445
quicConfig.setMetricsName(config.getMetricsName());
4546

46-
Http3Settings localSettings = config.getHttp3Config().getInitialSettings();
47+
Http3ClientConfig http3Config = config.getHttp3Config();
48+
if (http3Config == null) {
49+
http3Config = new Http3ClientConfig();
50+
}
51+
52+
Http3Settings localSettings = http3Config.getInitialSettings();
4753
if (localSettings == null) {
4854
localSettings = new Http3Settings();
4955
}
5056

5157
QuicClient client = new QuicClientImpl(vertx, quicConfig, "http", null);
5258

5359
this.vertx = vertx;
54-
this.keepAliveTimeoutMillis = config.getHttp3Config().getKeepAliveTimeout() == null ? 0L : config.getHttp3Config().getKeepAliveTimeout().toMillis();
60+
this.keepAliveTimeoutMillis = http3Config.getKeepAliveTimeout() == null ? 0L : http3Config.getKeepAliveTimeout().toMillis();
5561
this.localSettings = localSettings;
5662
this.client = client;
5763
}

vertx-core/src/test/java/io/vertx/tests/http/HttpClientConfigTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ public class HttpClientConfigTest {
2424
@Test
2525
public void testDefaultConfig() {
2626
HttpClientConfig config = new HttpClientConfig();
27-
assertNotNull(config.getHttp1Config());
28-
assertNotNull(config.getHttp2Config());
29-
assertNotNull(config.getHttp3Config());
27+
assertNull(config.getHttp1Config());
28+
assertNull(config.getHttp2Config());
29+
assertNull(config.getHttp3Config());
3030
assertFalse(config.isSsl());
3131
assertEquals(List.of(HTTP_1_1, HTTP_2), config.getVersions());
3232
}

vertx-core/src/test/java/io/vertx/tests/http/http3/Http3ClientTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -419,11 +419,11 @@ public void testSettings() throws Exception {
419419

420420
client.close();
421421
HttpClientConfig config = new HttpClientConfig(clientConfig);
422-
config.getHttp3Config().setInitialSettings(new Http3Settings()
423-
.setMaxFieldSectionSize(1024)
424-
.setQPackBlockedStreams(1024)
425-
.setQPackMaxTableCapacity(1024)
426-
);
422+
config.setHttp3Config(new Http3ClientConfig()
423+
.setInitialSettings(new Http3Settings()
424+
.setMaxFieldSectionSize(1024)
425+
.setQPackBlockedStreams(1024)
426+
.setQPackMaxTableCapacity(1024)));
427427
client = vertx.createHttpClient(config, clientSSLOptions);
428428

429429
HttpClientConnection connection = client.connect(new HttpConnectOptions()

vertx-core/src/test/java/io/vertx/tests/http/http3/Http3Config.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,12 @@ public HttpServer create(Vertx vertx) {
109109

110110
@Override
111111
public HttpClientConfig forClient() {
112+
Http3ClientConfig http3Config = new Http3ClientConfig();
112113
io.vertx.core.http.HttpClientConfig config = new io.vertx.core.http.HttpClientConfig();
113114
config.setVersions(List.of(HttpVersion.HTTP_3));
114115
config.setDefaultHost(host);
115116
config.setDefaultPort(port);
117+
config.setHttp3Config(http3Config);
116118
ClientSSLOptions sslOptions = new ClientSSLOptions()
117119
.setTrustOptions(Trust.SERVER_JKS.get())
118120
.setHostnameVerificationAlgorithm("");
@@ -146,7 +148,7 @@ public HttpClientConfig setIdleTimeout(Duration timeout) {
146148
}
147149
@Override
148150
public HttpClientConfig setKeepAliveTimeout(Duration timeout) {
149-
config.getHttp3Config().setKeepAliveTimeout(timeout.toMillis() > 0 ? timeout : null);
151+
http3Config.setKeepAliveTimeout(timeout.toMillis() > 0 ? timeout : null);
150152
return this;
151153
}
152154
@Override

vertx-core/src/test/java/io/vertx/tests/http/http3/Http3ServerTest.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -397,13 +397,12 @@ public void testStreamIdleTimeout() throws Exception {
397397

398398
@Test
399399
public void testSettings() throws Exception {
400-
HttpServerConfig config = serverConfig();
401-
config.getHttp3Config()
402-
.setInitialSettings(new io.vertx.core.http.Http3Settings()
403-
.setMaxFieldSectionSize(1024)
404-
.setQPackBlockedStreams(1024)
405-
.setQPackMaxTableCapacity(1024)
406-
);
400+
HttpServerConfig config = serverConfig()
401+
.setHttp3Config(new Http3ServerConfig()
402+
.setInitialSettings(new io.vertx.core.http.Http3Settings()
403+
.setMaxFieldSectionSize(1024)
404+
.setQPackBlockedStreams(1024)
405+
.setQPackMaxTableCapacity(1024)));
407406
server = vertx.createHttpServer(config, sslOptions());
408407

409408
server.connectionHandler(connection -> {

0 commit comments

Comments
 (0)