diff options
author | Loïc Hoguin <[email protected]> | 2020-12-23 17:50:12 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2024-03-26 09:30:42 +0100 |
commit | 941d408ea40022da3148b5b96483d5e8f95caaa4 (patch) | |
tree | ae0f029257f288342676ec736fb3ca1f0ba042c5 /src/cow_http2.erl | |
parent | 1eb7f4293a652adcfe43b1835d22c58d8def839f (diff) | |
download | cowlib-941d408ea40022da3148b5b96483d5e8f95caaa4.tar.gz cowlib-941d408ea40022da3148b5b96483d5e8f95caaa4.tar.bz2 cowlib-941d408ea40022da3148b5b96483d5e8f95caaa4.zip |
Initial HTTP/3 and QPACK implementationqpack
Cowlib now uses GitHub Actions for CI. As a result
of this change, Cowlib is tested against OTP-24+.
This commit adds initial implementations of
cow_http3, cow_http3_machine and cow_qpack.
Because QPACK is similar to HPACK, some encoding and
decoding functions were moved to a common include file,
particularly the huffman functions.
The cow_http module now contains the types and functions
common to all or most versions of HTTP. The types and
functions specific to HTTP/1 were moved to the new
cow_http1 module.
Because HTTP/3 is similar to HTTP/2, part of the code
processing headers is common and can be found in
cow_http. Other functions common to both versions
were moved out of cow_http2_machine.
This commit updates comments indicating that the HTTP/2
PRIORITY mechanism will no longer be implemented.
Diffstat (limited to 'src/cow_http2.erl')
-rw-r--r-- | src/cow_http2.erl | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/cow_http2.erl b/src/cow_http2.erl index 2925e37..68f3625 100644 --- a/src/cow_http2.erl +++ b/src/cow_http2.erl @@ -39,9 +39,6 @@ -type streamid() :: pos_integer(). -export_type([streamid/0]). --type fin() :: fin | nofin. --export_type([fin/0]). - -type head_fin() :: head_fin | head_nofin. -export_type([head_fin/0]). @@ -66,9 +63,10 @@ | unknown_error. -export_type([error/0]). --type frame() :: {data, streamid(), fin(), binary()} - | {headers, streamid(), fin(), head_fin(), binary()} - | {headers, streamid(), fin(), head_fin(), exclusive(), streamid(), weight(), binary()} +-type frame() :: {data, streamid(), cow_http:fin(), binary()} + | {headers, streamid(), cow_http:fin(), head_fin(), binary()} + | {headers, streamid(), cow_http:fin(), head_fin(), + exclusive(), streamid(), weight(), binary()} | {priority, streamid(), exclusive(), streamid(), weight()} | {rst_stream, streamid(), error()} | {settings, settings()} |