From 6dd58a4ff9deedeeb6029827b936c2e81866cd54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Fri, 22 Sep 2023 16:28:00 +0200 Subject: Initial HTTP/3 implementation Since quicer, which provides the QUIC implementation, is a NIF, Gun cannot depend directly on it. In order to enable QUIC and HTTP/3, users have to set the GUN_QUICER environment variable: export GUN_QUICER=1 Gun is now tested using GitHub Actions. As a result OTP-24+ is now required. In addition, the number of OTP releases tested has been reduced; only the latest of each major version is now tested. This also updates Erlang.mk. --- src/gun_http2.erl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/gun_http2.erl') diff --git a/src/gun_http2.erl b/src/gun_http2.erl index bfd2d31..a1ccef6 100644 --- a/src/gun_http2.erl +++ b/src/gun_http2.erl @@ -110,7 +110,7 @@ %% by the client or by the server through PUSH_PROMISE frames. %% %% Streams can be found by ID or by Ref. The most common should be - %% the idea, that's why the main map has the ID as key. Then we also + %% the ID, that's why the main map has the ID as key. Then we also %% have a Ref->ID index for faster lookup when we only have the Ref. streams = #{} :: #{cow_http2:streamid() => #stream{}}, stream_refs = #{} :: #{reference() => cow_http2:streamid()}, @@ -1074,6 +1074,8 @@ prepare_headers(State=#http2_state{transport=Transport}, end, %% @todo We also must remove any header found in the connection header. %% @todo Much of this is duplicated in cow_http2_machine; sort things out. + %% I think we want to do this before triggering events, not when + %% building HeaderBlock. Headers1 = lists:keydelete(<<"host">>, 1, lists:keydelete(<<"connection">>, 1, -- cgit v1.2.3