diff options
author | Loïc Hoguin <[email protected]> | 2023-01-31 11:07:31 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2024-03-26 15:53:48 +0100 |
commit | 8cb9d242b0a665cada6de8b9a9dfa329e0c06ee9 (patch) | |
tree | ae2c323c3825da367e54704ea0b9ad80096059c3 /test/decompress_SUITE.erl | |
parent | 3ea8395eb8f53a57acb5d3c00b99c70296e7cdbd (diff) | |
download | cowboy-http3.tar.gz cowboy-http3.tar.bz2 cowboy-http3.zip |
Initial HTTP/3 implementationhttp3
This includes Websocket over HTTP/3.
Since quicer, which provides the QUIC implementation,
is a NIF, Cowboy cannot depend directly on it. In order
to enable QUIC and HTTP/3, users have to set the
COWBOY_QUICER environment variable:
export COWBOY_QUICER=1
In order to run the test suites, the same must be done
for Gun:
export GUN_QUICER=1
HTTP/3 support is currently not available on Windows
due to compilation issues of quicer which have yet to
be looked at or resolved.
HTTP/3 support is also unavailable on the upcoming
OTP-27 due to compilation errors in quicer dependencies.
Once resolved HTTP/3 should work on OTP-27.
Because of how QUIC currently works, it's possible
that streams that get reset after sending a response
do not receive that response. The test suite was
modified to accomodate for that. A future extension
to QUIC will allow us to gracefully reset streams.
This also updates Erlang.mk.
Diffstat (limited to 'test/decompress_SUITE.erl')
-rw-r--r-- | test/decompress_SUITE.erl | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/test/decompress_SUITE.erl b/test/decompress_SUITE.erl index 7c3c6b7..f61bb5d 100644 --- a/test/decompress_SUITE.erl +++ b/test/decompress_SUITE.erl @@ -38,6 +38,8 @@ init_per_group(Name = h2, Config) -> init_per_group(Name = h2c, Config) -> Config1 = cowboy_test:init_http(Name, init_plain_opts(Config), Config), lists:keyreplace(protocol, 1, Config1, {protocol, http2}); +init_per_group(Name = h3, Config) -> + cowboy_test:init_http3(Name, init_plain_opts(Config), Config); init_per_group(Name = http_compress, Config) -> cowboy_test:init_http(Name, init_compress_opts(Config), Config); init_per_group(Name = https_compress, Config) -> @@ -46,7 +48,9 @@ init_per_group(Name = h2_compress, Config) -> cowboy_test:init_http2(Name, init_compress_opts(Config), Config); init_per_group(Name = h2c_compress, Config) -> Config1 = cowboy_test:init_http(Name, init_compress_opts(Config), Config), - lists:keyreplace(protocol, 1, Config1, {protocol, http2}). + lists:keyreplace(protocol, 1, Config1, {protocol, http2}); +init_per_group(Name = h3_compress, Config) -> + cowboy_test:init_http3(Name, init_compress_opts(Config), Config). end_per_group(Name, _) -> cowboy:stop_listener(Name). |