Skip to content

Feature/http3 support 5.x #5311

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 715 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
715 commits
Select commit Hold shift + click to select a range
a080aae
feat: remove encoding like http2
imz87 Feb 27, 2025
fb80eca
Allow configuring Netty compression content size threshold
wvuong Sep 9, 2024
ebaae86
Add javadoc and arg guard
wvuong Sep 11, 2024
2fae0a9
Fix, add tests, update javadoc
wvuong Nov 21, 2024
65017b4
Improve NetBandwidthLimitedTest which seems to have issues with CI
vietj Dec 10, 2024
8dbc949
Complete H2 reset promise as soon as the reset frame has been sent.
vietj Dec 10, 2024
5c96231
Avoid running NetBandwidthLimitingTest with IO_URING
vietj Dec 10, 2024
91da834
Releasing 5.0.0.CR3
vietj Dec 11, 2024
e0e5e57
Set version to 5.0.0-SNAPSHOT
vietj Dec 11, 2024
1e3ebd1
Remove HttpServerRequest cookieMap method
vietj Dec 17, 2024
0015205
Move deprecated HTTP headers validation constants to HttpHeadersInternal
vietj Dec 17, 2024
7bb2b7a
Move deprecated HttpServerResponse push method with string host methods.
vietj Dec 17, 2024
7d16f42
Move Context methods getLocal/removeLocal/putLocal to ContextInternal…
vietj Dec 18, 2024
7f4709c
Use Files.readString instead of Files.readAllBytes (#5428)
geoand Jan 3, 2025
482dab5
Move HostAndPortBenchmark to the benchmarks package
tsegismont Jan 6, 2025
0550f12
Fix wrong inherited javadoc of AsyncFile#exceptionHandler (#5432)
julianladisch Jan 6, 2025
42ac862
Rename test build properties.
vietj Jan 7, 2025
9def00b
Handle properly shadow context in worker executor implementation.
vietj Jan 6, 2025
dedda26
Remove thread sticky context feature.
vietj Jan 8, 2025
4db6f12
The WebSocket client pool should not starve on connect error.
vietj Jan 9, 2025
942b238
allow the 'host' header to be used on HTTP/2 requests if the ':author…
j-white Dec 19, 2024
2986d65
Fixes updates to traffic shaping options with shared servers
vietj Jan 13, 2025
6b5d9ab
Support duplicate context duplication.
vietj Jan 10, 2025
abefee8
Improve HTTP validation for inlining and specialized types
franz1981 Nov 16, 2024
b55b606
Fix InboundMessageQueue Javadoc (#5451)
tsegismont Jan 16, 2025
e4bd7b3
HTTP client form submission.
vietj Jan 22, 2025
d82116c
Correctly propagate the form encoding failure to the response failure
vietj Jan 23, 2025
1112fdc
Improve incorrect content type reporting when sending a form
vietj Jan 23, 2025
7254851
Releasing 5.0.0.CR4
vietj Jan 29, 2025
da21ac2
Set version to 5.0.0-SNAPSHOT
vietj Jan 29, 2025
1ca9672
Let ClientForm/ClientMultipartForm be data object instead of vertx gen
vietj Jan 27, 2025
476d494
Remove test races
vietj Jan 29, 2025
0e3b834
Fix racy test
vietj Jan 29, 2025
9822337
Provide better test failure message
vietj Jan 29, 2025
3a76f50
Remove usage of Jackson TypeReference.
vietj Jan 29, 2025
28e30e5
Improve racy test
vietj Jan 31, 2025
29f8f16
minor
vietj Jan 31, 2025
19a4db2
minor
vietj Jan 31, 2025
bf29cba
Refactor write/add
vietj Jan 31, 2025
6e7b54c
Unify
vietj Feb 3, 2025
7a21650
Rename more appropriately the queue to channel
vietj Feb 3, 2025
bace353
Add inbound testing for SPSC / SingleThread and improve close protoco…
vietj Feb 4, 2025
ddef087
Introduce MessageConsumerOptions.
vietj Jan 31, 2025
05277de
Remove MessageConsumer maxBufferedMessages accessors
vietj Jan 31, 2025
8d5c95d
Reimplement MessageConsumer with InboundMessageChannel
vietj Jan 31, 2025
06c0519
Add message consumer resumption thread correctness
vietj Feb 6, 2025
fcd5011
Async JSON parser should handle large integer (literaly speaking) num…
vietj Feb 6, 2025
2274ea9
Remove AddressHelper class
vietj Feb 7, 2025
1bd3c64
Fix reentrant close in InboundMessageHandler
vietj Feb 10, 2025
69bdd98
Avoid UUID.randomUUID() in Verticle deployment startup code
geoand Jan 31, 2025
e8d70fa
Rework the node selector implementation to handle ordering of select …
vietj Feb 7, 2025
6707b11
Clustered event-bus inbound/outbound connection separation of concerns.
vietj Feb 11, 2025
c068799
Make ClusteredEventBus#defaultAddress public for launcher
vietj Feb 12, 2025
a726cd3
Releasing 5.0.0.CR5
vietj Feb 12, 2025
d6d66e9
Releasing 5.0.0-SNAPSHOT
vietj Feb 12, 2025
53599a5
Introduce HttpRequestHead akin HttpResponseHead
vietj Feb 13, 2025
18b8ff3
Use simple parser instead of regex for parsing resolv.conf (#5439)
geoand Feb 25, 2025
67e22da
Improve racy test
vietj Feb 26, 2025
de942db
feat: resolve merge conflicts
imz87 Feb 27, 2025
da10d68
feat: prepare http3 socks5 proxy prerequisites
imz87 Feb 27, 2025
83ffd0b
feat: prepare http3 socks5 proxy prerequisites test
imz87 Mar 1, 2025
52d3c78
feat: move http3 things to Http3Utils
imz87 Mar 1, 2025
62a03ea
feat: move http3 things to Http3Utils
imz87 Mar 1, 2025
bf4b2a8
feat: move http3 things to Http3Utils
imz87 Mar 1, 2025
8f6b712
refactor: move http3 related functionality to Http3Utils
imz87 Mar 1, 2025
3da010f
refactor: move http3 related functionality to Http3Utils
imz87 Mar 1, 2025
f6a9c81
refactor: move http3 related functionality to Http3Utils
imz87 Mar 1, 2025
1d413bf
refactor: move http3 related functionality to Http3Utils
imz87 Mar 1, 2025
3da6583
refactor: use future instead of promise as return type
imz87 Mar 2, 2025
fcda986
refactor: manage exceptional case cautiously
imz87 Mar 2, 2025
494b1c7
refactor: improve readability
imz87 Mar 2, 2025
f7ab0cf
refactor: add http3 socks5 capability
imz87 Mar 2, 2025
844b139
refactor: simplify calculation of the applicationLayerProtocol
imz87 Mar 3, 2025
8949936
refactor: remove base options for testServerExceptionHandlerOnClose l…
imz87 Mar 3, 2025
441c624
refactor: add two netty proxy classes to vertx in order to implement …
imz87 Mar 4, 2025
c693aaa
refactor: implement proxy simpler with adding two netty proxy classes…
imz87 Mar 4, 2025
c405075
refactor: add todo
imz87 Mar 4, 2025
7398202
refactor: use correct constructor
imz87 Mar 4, 2025
f2644c8
refactor: add tests
imz87 Mar 4, 2025
c6a3707
refactor: reformat
imz87 Mar 4, 2025
dfd4621
refactor: add todo
imz87 Mar 4, 2025
46bff1f
refactor: organize proxy package
imz87 Mar 4, 2025
63d5042
refactor: add Socks4 proxy and not completed http proxy
imz87 Mar 5, 2025
d9ca68a
refactor: add Socks4 proxy and not completed http proxy
imz87 Mar 5, 2025
2ae1bc4
refactor: add a general Http3ControlStreamChannelHandler
imz87 Mar 12, 2025
c6829b3
refactor: build net socket for http proxy
imz87 Mar 12, 2025
23f2ff4
refactor: prepare netty HttpProxyHandler for httpProxy
imz87 Mar 12, 2025
ea445ed
refactor: add proxy handler
imz87 Mar 12, 2025
9bcbf7d
refactor: add http proxy handler test
imz87 Mar 12, 2025
c3cce73
refactor: remove unused method
imz87 Mar 12, 2025
1bfdf7c
refactor: use authority instead of uri
imz87 Mar 12, 2025
0bdab9a
refactor: add todo
imz87 Mar 12, 2025
876a05b
refactor: resolve a test issue
imz87 Mar 12, 2025
8e79b48
Disable IoUring CI until next Netty version
vietj Feb 27, 2025
1658da8
Vert.x Jackson json factory read constraint configuration should be o…
vietj Feb 26, 2025
0b31332
Add a blocking iterator utility for Vert.x read streams.
vietj Feb 28, 2025
9814da5
IteratorTest#testConcurrentReads is racy due to FakeStream implementa…
vietj Mar 3, 2025
1bc89a0
Handle correctly future await from an execute blocking on a virtual t…
vietj Mar 3, 2025
ac62a8e
Internal worker executor task/continuation API simplification.
vietj Mar 3, 2025
eee46b6
Improve the ReadStreamIterator to handle Vert.x virtual threads prope…
vietj Mar 3, 2025
c84e92c
HTTP/1 client connection unsolicited messages should be treated as in…
vietj Mar 4, 2025
9b6f0c6
HTTP/2 client queued writes should fail when stream creation fails.
vietj Mar 4, 2025
85f23e4
Minor cleanup
vietj Mar 5, 2025
75bec10
Remove FileSystem recursive deletion that uses a recursive parameter:…
vietj Mar 5, 2025
b923041
Minor doc suggested improvements
vietj Mar 5, 2025
f8faad5
Move supported get/put/remove local from Context to ContextInternal a…
vietj Mar 7, 2025
dbf21ad
Improve ContextLocal Javadoc
vietj Mar 7, 2025
3aeabda
VertxConnection enhancements.
vietj Mar 9, 2025
f4946b4
AddressResolver now declares a type parameter bound to Address for mo…
vietj Mar 8, 2025
d096c80
Internal API cleanup.
vietj Mar 7, 2025
b8a2fd9
Mitigate the usage of NoStackTraceThrowable.
vietj Mar 7, 2025
1a37728
Improve server trust store SNI configuration documentation
vietj Mar 10, 2025
b835adb
Provide a coherent implementation of hashCode for JsonObject/JsonArra…
vietj Mar 10, 2025
180e39f
Remove un-necessary module-info test requires
vietj Mar 10, 2025
8d4c9d8
Expose the deployment manager internal API.
vietj Mar 10, 2025
8037f76
Remove spurious import of org.apache.commons.math3.analysis
vietj Mar 11, 2025
950f5a2
Fix NPE when handling of HTTP/2 upgrade on server with a malformed ho…
vietj Mar 11, 2025
d181ed7
Update MimeMapping that extension should be in lower case format
vietj Mar 11, 2025
5e40e5b
Make sure ContextBuilder defaults to EL threading model (#5516)
tsegismont Mar 11, 2025
875d844
Rework ClusteredEventBusTest#testPreserveMessageOrderingOnContext (#5…
tsegismont Mar 11, 2025
1f8830c
Case-insensitive filename suffix mime type mapping when sending a file.
vietj Mar 11, 2025
ebdd62a
Small improvements to the FakeClusterManager (#5522)
tsegismont Mar 12, 2025
977978b
Change JsonArray hashCode to reduce collisions
tsegismont Mar 12, 2025
dc8f68d
refactor: resolve merge conflicts with master
imz87 Mar 14, 2025
7300b4d
refactor: add import
imz87 Mar 14, 2025
644dd05
refactor: resolve merge conflicts with master
imz87 Mar 14, 2025
41d9255
refactor: resolve rebase conflicts with master
imz87 Mar 14, 2025
c934032
refactor: resolve rebase conflicts with master
imz87 Mar 14, 2025
33ad06f
refactor: resolve rebase conflicts with master
imz87 Mar 14, 2025
4e61da8
refactor: clean the proxyProvider class
imz87 Mar 16, 2025
1650317
refactor: clean the proxyProvider class
imz87 Mar 16, 2025
d2b248a
refactor: use parent class log variable
imz87 Mar 16, 2025
a9e71b1
refactor: clean the proxyProvider class
imz87 Mar 16, 2025
b3b705d
refactor: clean the proxyProvider class
imz87 Mar 16, 2025
aa56fc7
refactor: cannot use an HTTP proxy without modifying Netty
imz87 Mar 17, 2025
66967e6
refactor: alter netty copy classes to align with originals for easier…
imz87 Mar 17, 2025
aa12c03
refactor: correct proxy tests
imz87 Mar 17, 2025
3b0da18
Merge branch 'master' of github.com:imz87/vert.x into feature/http3-s…
imz87 Mar 18, 2025
4a8ac98
refactor: resolve merge conflicts
imz87 Mar 18, 2025
f4756b2
refactor: use isDebug only in parent class
imz87 Apr 1, 2025
0e67304
refactor: move proxy startup to base class
imz87 Apr 1, 2025
99dfdcd
refactor: use as alternative
imz87 Apr 1, 2025
b894ef1
refactor: use proper name
imz87 Apr 1, 2025
1664314
refactor: use proper name
imz87 Apr 1, 2025
872706a
refactor: add a single createHAProxy for managing better
imz87 Apr 1, 2025
56a99da
refactor: improve readability
imz87 Apr 1, 2025
7b5499c
refactor: add connect timeout to handle debug and other conditions
imz87 Apr 1, 2025
7496f26
refactor: use proxy connect timeout to system
imz87 Apr 1, 2025
f323270
refactor: solve issue where hostAddress was null in some cases
imz87 Apr 1, 2025
5c9b1e2
refactor: resolve some test issues
imz87 Apr 1, 2025
f7f7f37
refactor: resolve some test issues
imz87 Apr 1, 2025
f814cc1
refactor: resolve some test issues
imz87 Apr 1, 2025
b83fcce
refactor: reduce code changes in netty for earlier merge
imz87 Apr 3, 2025
fec7bb8
refactor: use http3Utils
imz87 Apr 6, 2025
7b9ea91
refactor: make similar to netty
imz87 Apr 7, 2025
4b4b8af
refactor: make similar to netty
imz87 Apr 7, 2025
615ef58
refactor: clarify the code
imz87 Apr 7, 2025
3b0b1db
refactor: remove some unnecessary tests
imz87 Apr 14, 2025
ba7957b
refactor: ignore haProxy tests for http3
imz87 Apr 14, 2025
952df9b
refactor: ignore haProxy tests for http3
imz87 Apr 14, 2025
7940591
refactor: changed because access modifier of `setCodec` was set to pr…
imz87 Apr 14, 2025
e490176
refactor: changed because access modifier of `setCodec` was set to pr…
imz87 Apr 14, 2025
c2f1890
refactor: generalize and move priority tests to parent to be utilized…
imz87 Apr 15, 2025
07cd8a9
refactor: add random positive integer generator
imz87 Apr 15, 2025
d152d5c
refactor: generalize and move priority tests to parent to be utilized…
imz87 Apr 15, 2025
f276ceb
refactor: changed because access modifier of `setCodec` was set to pr…
imz87 Apr 15, 2025
7a6cd5d
refactor: remove because they have no issue
imz87 Apr 15, 2025
764eac2
refactor: add @Test for ignored test cases
imz87 Apr 15, 2025
81a44ed
refactor: set bound for weight because it has to be lower than 255
imz87 Apr 15, 2025
c8d3d8f
refactor: avoid setting null destination
imz87 Apr 26, 2025
9e3ef92
refactor: align http3ServerResponse.netSocket() with http2ServerResponse
imz87 Apr 26, 2025
7ab8117
refactor: prepare HttpClientTest for Http3ClientTest
imz87 Apr 27, 2025
050636d
refactor: prepare HttpClientTest for Http3ClientTest
imz87 Apr 27, 2025
0842016
refactor: add a simple log
imz87 Apr 28, 2025
baef8d6
refactor: move "receive settings only once" logic to control handler
imz87 Apr 28, 2025
f314f6e
refactor: expose SettingsFrameHandler and GoAwayFrameHandler instead …
imz87 Apr 28, 2025
c2c336c
feat: add http3Client test
imz87 Apr 28, 2025
c394e0a
feat: add log
imz87 Apr 29, 2025
4a15f2a
feat: add http3 createServerForClientResetServerStream
imz87 Apr 29, 2025
ce2637b
feat: make promise from channel
imz87 Apr 29, 2025
e9868dc
refactor: improve readability
imz87 Apr 29, 2025
b9bd345
refactor: move common things to parent builder
imz87 Apr 29, 2025
74150de
fix: ensure promise is completed consistently for all cases
imz87 Apr 29, 2025
bd55abe
fix: resolve test issues related to ON_SHUTDOWN
imz87 May 1, 2025
dfe2dfa
fix: reformat
imz87 May 1, 2025
78beb85
fix: add QuicStreamChannel.SHUTDOWN_OUTPUT on last frame regardless o…
imz87 May 1, 2025
51d76ee
test: ignore WINDOW_UPDATE tests for HTTP/3
imz87 May 1, 2025
b5f423b
test: ignore not applicable in HTTP/3 tests
imz87 May 1, 2025
05d8b4c
test: ignore temporary
imz87 May 1, 2025
72e9bf6
test: throw exception instead of using abstract method in parent class
imz87 May 4, 2025
512894e
test: ignore priority tests
imz87 May 5, 2025
fbfdcd3
test: make unified priority for h2 and h3
imz87 May 5, 2025
8c16c8d
fix: throw connectException like http2 instead of PortUnreachableExce…
imz87 May 5, 2025
dffabc6
fix: remove streamResetHandler
imz87 May 6, 2025
05f8af7
feat: add capability to write unknown frames in HTTP/3
imz87 May 6, 2025
5db9379
fix: use correct logger
imz87 May 6, 2025
a4b73ce
fix: streamId starts from 0 for http3
imz87 May 6, 2025
2fdafb3
fix: streamId starts from 0 for http3
imz87 May 6, 2025
0e8a5a6
fix: resolve writeReset issue when the stream is closed
imz87 May 14, 2025
86bbdde
fix: correct some more tests
imz87 May 14, 2025
fd491e8
fix: configure datagarmChannel on creation
imz87 May 14, 2025
d0f7fd5
fix: extend ChannelDuplexHandler to use close method
imz87 May 14, 2025
949a173
fix: manage close operations
imz87 May 14, 2025
b18a606
fix: manage close operations
imz87 May 14, 2025
2d7ba72
fix: resolve the next test case
imz87 May 15, 2025
0c6c4e8
fix: resolve the next test case
imz87 May 15, 2025
47a18a6
fix: resolve the next test case
imz87 May 15, 2025
bc2c72f
fix: resolve the next test case
imz87 May 15, 2025
fa2de10
fix: resolve the next test cases
imz87 May 17, 2025
5e741af
refactor: extract H3ServerBuilder for readability
imz87 May 17, 2025
3bedfae
fix: resolve test
imz87 May 17, 2025
30a7de4
fix: ignore ping test because PING handling is not needed in HTTP/3
imz87 May 17, 2025
1ae6e53
fix: assert correctly on each http version
imz87 May 17, 2025
fec26a1
fix: assert correctly on each http version
imz87 May 17, 2025
4569205
fix: assert correctly on each http version
imz87 May 17, 2025
612fa30
fix: prepare testConnectionDecodeError for h3
imz87 May 17, 2025
2cbdf49
fix: remove settings tests because they are not exchanged during the …
imz87 May 17, 2025
6a9d7ee
refactor: order methods
imz87 May 17, 2025
b1dd8ab
fix: use zero as reset code for http3
imz87 May 17, 2025
57ae8f5
fix: use zero as reset code for http3
imz87 May 17, 2025
959524b
fix: resolve max concurrent stream count issue
imz87 May 17, 2025
04c9789
fix: resolve the next test cases
imz87 May 18, 2025
176c9b4
fix: add a stream flow control mechanism to manage stream max sent bytes
imz87 May 21, 2025
64030a1
fix: use separate Vert.x instances
imz87 May 21, 2025
fa392c8
fix: resolve by adding a stream flow control mechanism to manage stre…
imz87 May 21, 2025
2864516
Merge branch 'master' of github.com:imz87/vert.x into feature/http3-s…
imz87 May 29, 2025
3d97e75
fix: use the local channel param
imz87 May 29, 2025
634dbb5
fix: resolved merge conflicts with master
imz87 May 29, 2025
0a2d004
fix: resolved merge conflicts with master
imz87 May 29, 2025
623da58
fix: make more readable
imz87 May 29, 2025
d7ffc0f
fix: make a single method to eval writability
imz87 May 29, 2025
ffcec2b
fix: use not ssl for http2
imz87 Jun 2, 2025
1916ce3
fix: resolve test issue
imz87 Jun 2, 2025
afafda2
Merge branch 'feature/http3-support-5.x' of github.com:imz87/vert.x i…
imz87 Jun 2, 2025
676054a
fix: resolve Http2NetTest.testTLSClientCertRequiredNoClientCert1_3 te…
imz87 Jun 2, 2025
d0d5c4f
fix: resolve Http2NetTest.testTLSClientCertRequiredNoClientCert1_3 te…
imz87 Jun 2, 2025
fbd8567
fix: resolve Http2NetTest.testTLSClientCertRequiredNoClientCert1_3 te…
imz87 Jun 2, 2025
fb6ff45
Merge branch 'feature/http3-support-5.x' of github.com:imz87/vert.x i…
imz87 Jun 2, 2025
3f197a2
fix: resolve tests issues
imz87 Jun 2, 2025
63fc207
fix: resolve test case testNetClientInternalTLSWithSuppliedSSLContext
imz87 Jun 2, 2025
8fd0bc1
fix: resolve test case testNetClientInternalTLSWithSuppliedSSLContext
imz87 Jun 2, 2025
7e8c9d4
fix: resolve test case testNetClientInternalTLSWithSuppliedSSLContext
imz87 Jun 2, 2025
8874d7a
fix: resolve test case testNetClientInternalTLSWithSuppliedSSLContext
imz87 Jun 2, 2025
568e5ee
fix: resolve Http1xProxyTest issue
imz87 Jun 3, 2025
f69ce2c
feat: set TrafficShapingHandler on stream channel in HTTP/3
imz87 Jun 3, 2025
6867ea4
fix: resolve http2 test issue
imz87 Jun 3, 2025
07a2f6f
fix(tests): ensure randConnectTimeout is positive
imz87 Jun 3, 2025
9264d0e
fix(tests): ignore HTTP/3 test(testMaxConcurrencyMultipleConnections)…
imz87 Jun 3, 2025
be37290
fix(tests): ignore HTTP/3 proxy tests temporarily
imz87 Jun 3, 2025
be8d943
Merge branch 'master' of github.com:imz87/vert.x into feature/http3-s…
imz87 Jun 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions vertx-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,11 @@
<artifactId>netty-transport-classes-kqueue</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.netty.incubator</groupId>
<artifactId>netty-incubator-codec-http3</artifactId>
<version>0.0.28.Final</version>
</dependency>

<!-- Jackson -->
<dependency>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
package io.vertx.core.http;

import io.vertx.core.json.JsonObject;
import io.vertx.core.json.JsonArray;
import java.time.Instant;
import java.time.format.DateTimeFormatter;

/**
* Converter and mapper for {@link io.vertx.core.http.Http3Settings}.
* NOTE: This class has been automatically generated from the {@link io.vertx.core.http.Http3Settings} original class using Vert.x codegen.
*/
public class Http3SettingsConverter {

static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json, Http3Settings obj) {
for (java.util.Map.Entry<String, Object> member : json) {
switch (member.getKey()) {
case "qpackMaxTableCapacity":
if (member.getValue() instanceof Number) {
obj.setQpackMaxTableCapacity(((Number)member.getValue()).longValue());
}
break;
case "maxFieldSectionSize":
if (member.getValue() instanceof Number) {
obj.setMaxFieldSectionSize(((Number)member.getValue()).longValue());
}
break;
case "qpackMaxBlockedStreams":
if (member.getValue() instanceof Number) {
obj.setQpackMaxBlockedStreams(((Number)member.getValue()).longValue());
}
break;
case "enableConnectProtocol":
if (member.getValue() instanceof Number) {
obj.setEnableConnectProtocol(((Number)member.getValue()).longValue());
}
break;
case "h3Datagram":
if (member.getValue() instanceof Number) {
obj.setH3Datagram(((Number)member.getValue()).longValue());
}
break;
case "enableMetadata":
if (member.getValue() instanceof Number) {
obj.setEnableMetadata(((Number)member.getValue()).longValue());
}
break;
}
}
}

static void toJson(Http3Settings obj, JsonObject json) {
toJson(obj, json.getMap());
}

static void toJson(Http3Settings obj, java.util.Map<String, Object> json) {
json.put("qpackMaxTableCapacity", obj.getQpackMaxTableCapacity());
json.put("maxFieldSectionSize", obj.getMaxFieldSectionSize());
json.put("qpackMaxBlockedStreams", obj.getQpackMaxBlockedStreams());
json.put("enableConnectProtocol", obj.getEnableConnectProtocol());
json.put("h3Datagram", obj.getH3Datagram());
json.put("enableMetadata", obj.getEnableMetadata());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,6 @@ static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json, HttpCli
obj.setDefaultPort(((Number)member.getValue()).intValue());
}
break;
case "protocolVersion":
if (member.getValue() instanceof String) {
obj.setProtocolVersion(io.vertx.core.http.HttpVersion.valueOf((String)member.getValue()));
}
break;
case "maxChunkSize":
if (member.getValue() instanceof Number) {
obj.setMaxChunkSize(((Number)member.getValue()).intValue());
Expand All @@ -99,6 +94,11 @@ static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json, HttpCli
obj.setInitialSettings(new io.vertx.core.http.Http2Settings((io.vertx.core.json.JsonObject)member.getValue()));
}
break;
case "initialHttp3Settings":
if (member.getValue() instanceof JsonObject) {
obj.setInitialHttp3Settings(new io.vertx.core.http.Http3Settings((io.vertx.core.json.JsonObject)member.getValue()));
}
break;
case "alpnVersions":
if (member.getValue() instanceof JsonArray) {
java.util.ArrayList<io.vertx.core.http.HttpVersion> list = new java.util.ArrayList<>();
Expand Down Expand Up @@ -149,6 +149,11 @@ static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json, HttpCli
obj.setName((String)member.getValue());
}
break;
case "http3MultiplexingLimit":
if (member.getValue() instanceof Number) {
obj.setHttp3MultiplexingLimit(((Number)member.getValue()).intValue());
}
break;
}
}
}
Expand All @@ -172,15 +177,15 @@ static void toJson(HttpClientOptions obj, java.util.Map<String, Object> json) {
json.put("defaultHost", obj.getDefaultHost());
}
json.put("defaultPort", obj.getDefaultPort());
if (obj.getProtocolVersion() != null) {
json.put("protocolVersion", obj.getProtocolVersion().name());
}
json.put("maxChunkSize", obj.getMaxChunkSize());
json.put("maxInitialLineLength", obj.getMaxInitialLineLength());
json.put("maxHeaderSize", obj.getMaxHeaderSize());
if (obj.getInitialSettings() != null) {
json.put("initialSettings", obj.getInitialSettings().toJson());
}
if (obj.getInitialHttp3Settings() != null) {
json.put("initialHttp3Settings", obj.getInitialHttp3Settings().toJson());
}
if (obj.getAlpnVersions() != null) {
JsonArray array = new JsonArray();
obj.getAlpnVersions().forEach(item -> array.add(item.name()));
Expand All @@ -198,5 +203,6 @@ static void toJson(HttpClientOptions obj, java.util.Map<String, Object> json) {
if (obj.getName() != null) {
json.put("name", obj.getName());
}
json.put("http3MultiplexingLimit", obj.getHttp3MultiplexingLimit());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,11 @@ static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json, HttpSer
obj.setInitialSettings(new io.vertx.core.http.Http2Settings((io.vertx.core.json.JsonObject)member.getValue()));
}
break;
case "initialHttp3Settings":
if (member.getValue() instanceof JsonObject) {
obj.setInitialHttp3Settings(new io.vertx.core.http.Http3Settings((io.vertx.core.json.JsonObject)member.getValue()));
}
break;
case "alpnVersions":
if (member.getValue() instanceof JsonArray) {
java.util.ArrayList<io.vertx.core.http.HttpVersion> list = new java.util.ArrayList<>();
Expand Down Expand Up @@ -214,6 +219,9 @@ static void toJson(HttpServerOptions obj, java.util.Map<String, Object> json) {
if (obj.getInitialSettings() != null) {
json.put("initialSettings", obj.getInitialSettings().toJson());
}
if (obj.getInitialHttp3Settings() != null) {
json.put("initialHttp3Settings", obj.getInitialHttp3Settings().toJson());
}
if (obj.getAlpnVersions() != null) {
JsonArray array = new JsonArray();
obj.getAlpnVersions().forEach(item -> array.add(item.name()));
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package io.vertx.core.http;

import io.vertx.core.json.JsonObject;
import io.vertx.core.json.JsonArray;
import java.time.Instant;
import java.time.format.DateTimeFormatter;

/**
* Converter and mapper for {@link io.vertx.core.http.HttpSettings}.
* NOTE: This class has been automatically generated from the {@link io.vertx.core.http.HttpSettings} original class using Vert.x codegen.
*/
public class HttpSettingsConverter {

static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json, HttpSettings obj) {
for (java.util.Map.Entry<String, Object> member : json) {
switch (member.getKey()) {
}
}
}

static void toJson(HttpSettings obj, JsonObject json) {
toJson(obj, json.getMap());
}

static void toJson(HttpSettings obj, java.util.Map<String, Object> json) {
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package io.vertx.core.http;

import io.vertx.core.json.JsonObject;
import io.vertx.core.json.JsonArray;
import java.time.Instant;
import java.time.format.DateTimeFormatter;

/**
* Converter and mapper for {@link io.vertx.core.http.StreamPriorityBase}.
* NOTE: This class has been automatically generated from the {@link io.vertx.core.http.StreamPriorityBase} original class using Vert.x codegen.
*/
public class StreamPriorityBaseConverter {

static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json, StreamPriorityBase obj) {
for (java.util.Map.Entry<String, Object> member : json) {
switch (member.getKey()) {
case "weight":
if (member.getValue() instanceof Number) {
obj.setWeight(((Number)member.getValue()).shortValue());
}
break;
case "dependency":
if (member.getValue() instanceof Number) {
obj.setDependency(((Number)member.getValue()).intValue());
}
break;
case "exclusive":
if (member.getValue() instanceof Boolean) {
obj.setExclusive((Boolean)member.getValue());
}
break;
case "incremental":
break;
}
}
}

static void toJson(StreamPriorityBase obj, JsonObject json) {
toJson(obj, json.getMap());
}

static void toJson(StreamPriorityBase obj, java.util.Map<String, Object> json) {
json.put("weight", obj.getWeight());
json.put("dependency", obj.getDependency());
json.put("exclusive", obj.isExclusive());
json.put("incremental", obj.isIncremental());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json, ClientO
obj.setTrustAll((Boolean)member.getValue());
}
break;
case "protocolVersion":
if (member.getValue() instanceof String) {
obj.setProtocolVersion(io.vertx.core.http.HttpVersion.valueOf((String)member.getValue()));
}
break;
case "connectTimeout":
if (member.getValue() instanceof Number) {
obj.setConnectTimeout(((Number)member.getValue()).intValue());
Expand Down Expand Up @@ -59,6 +64,9 @@ static void toJson(ClientOptionsBase obj, JsonObject json) {

static void toJson(ClientOptionsBase obj, java.util.Map<String, Object> json) {
json.put("trustAll", obj.isTrustAll());
if (obj.getProtocolVersion() != null) {
json.put("protocolVersion", obj.getProtocolVersion().name());
}
json.put("connectTimeout", obj.getConnectTimeout());
if (obj.getMetricsName() != null) {
json.put("metricsName", obj.getMetricsName());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,16 @@ static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json, ProxyOp
obj.setType(io.vertx.core.net.ProxyType.valueOf((String)member.getValue()));
}
break;
case "connectTimeout":
if (member.getValue() instanceof Number) {
obj.setConnectTimeout(((Number)member.getValue()).longValue());
}
break;
case "connectTimeoutUnit":
if (member.getValue() instanceof String) {
obj.setConnectTimeoutUnit(java.util.concurrent.TimeUnit.valueOf((String)member.getValue()));
}
break;
}
}
}
Expand All @@ -61,5 +71,9 @@ static void toJson(ProxyOptions obj, java.util.Map<String, Object> json) {
if (obj.getType() != null) {
json.put("type", obj.getType().name());
}
json.put("connectTimeout", obj.getConnectTimeout());
if (obj.getConnectTimeoutUnit() != null) {
json.put("connectTimeoutUnit", obj.getConnectTimeoutUnit().name());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,41 @@ static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json, SSLOpti
obj.setUseAlpn((Boolean)member.getValue());
}
break;
case "http3":
if (member.getValue() instanceof Boolean) {
obj.setHttp3((Boolean)member.getValue());
}
break;
case "http3InitialMaxStreamsBidirectional":
if (member.getValue() instanceof Number) {
obj.setHttp3InitialMaxStreamsBidirectional(((Number)member.getValue()).longValue());
}
break;
case "http3InitialMaxData":
if (member.getValue() instanceof Number) {
obj.setHttp3InitialMaxData(((Number)member.getValue()).longValue());
}
break;
case "http3InitialMaxStreamDataBidirectionalLocal":
if (member.getValue() instanceof Number) {
obj.setHttp3InitialMaxStreamDataBidirectionalLocal(((Number)member.getValue()).longValue());
}
break;
case "http3InitialMaxStreamDataBidirectionalRemote":
if (member.getValue() instanceof Number) {
obj.setHttp3InitialMaxStreamDataBidirectionalRemote(((Number)member.getValue()).longValue());
}
break;
case "http3InitialMaxStreamDataUnidirectional":
if (member.getValue() instanceof Number) {
obj.setHttp3InitialMaxStreamDataUnidirectional(((Number)member.getValue()).longValue());
}
break;
case "http3InitialMaxStreamsUnidirectional":
if (member.getValue() instanceof Number) {
obj.setHttp3InitialMaxStreamsUnidirectional(((Number)member.getValue()).longValue());
}
break;
case "enabledSecureTransportProtocols":
if (member.getValue() instanceof JsonArray) {
java.util.LinkedHashSet<java.lang.String> list = new java.util.LinkedHashSet<>();
Expand Down Expand Up @@ -98,6 +133,13 @@ static void toJson(SSLOptions obj, java.util.Map<String, Object> json) {
json.put("crlValues", array);
}
json.put("useAlpn", obj.isUseAlpn());
json.put("http3", obj.isHttp3());
json.put("http3InitialMaxStreamsBidirectional", obj.getHttp3InitialMaxStreamsBidirectional());
json.put("http3InitialMaxData", obj.getHttp3InitialMaxData());
json.put("http3InitialMaxStreamDataBidirectionalLocal", obj.getHttp3InitialMaxStreamDataBidirectionalLocal());
json.put("http3InitialMaxStreamDataBidirectionalRemote", obj.getHttp3InitialMaxStreamDataBidirectionalRemote());
json.put("http3InitialMaxStreamDataUnidirectional", obj.getHttp3InitialMaxStreamDataUnidirectional());
json.put("http3InitialMaxStreamsUnidirectional", obj.getHttp3InitialMaxStreamsUnidirectional());
if (obj.getEnabledSecureTransportProtocols() != null) {
JsonArray array = new JsonArray();
obj.getEnabledSecureTransportProtocols().forEach(item -> array.add(item));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,11 @@ static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json, TCPSSLO
obj.setUseAlpn((Boolean)member.getValue());
}
break;
case "http3":
if (member.getValue() instanceof Boolean) {
obj.setHttp3((Boolean)member.getValue());
}
break;
case "enabledSecureTransportProtocols":
if (member.getValue() instanceof JsonArray) {
java.util.LinkedHashSet<java.lang.String> list = new java.util.LinkedHashSet<>();
Expand Down Expand Up @@ -158,6 +163,7 @@ static void toJson(TCPSSLOptions obj, java.util.Map<String, Object> json) {
json.put("crlValues", array);
}
json.put("useAlpn", obj.isUseAlpn());
json.put("http3", obj.isHttp3());
if (obj.getEnabledSecureTransportProtocols() != null) {
JsonArray array = new JsonArray();
obj.getEnabledSecureTransportProtocols().forEach(item -> array.add(item));
Expand Down
6 changes: 3 additions & 3 deletions vertx-core/src/main/java/examples/HTTP2Examples.java
Original file line number Diff line number Diff line change
Expand Up @@ -220,17 +220,17 @@ public void example19(Vertx vertx, HttpClientOptions options) {
}

public void example20(HttpConnection connection) {
connection.updateSettings(new Http2Settings().setMaxConcurrentStreams(100));
connection.updateHttpSettings(new Http2Settings().setMaxConcurrentStreams(100));
}

public void example21(HttpConnection connection) {
connection
.updateSettings(new Http2Settings().setMaxConcurrentStreams(100))
.updateHttpSettings(new Http2Settings().setMaxConcurrentStreams(100))
.onSuccess(v -> System.out.println("The settings update has been acknowledged "));
}

public void example22(HttpConnection connection) {
connection.remoteSettingsHandler(settings -> {
connection.remoteHttpSettingsHandler(settings -> {
System.out.println("Received new settings");
});
}
Expand Down
Loading