Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
And explain that browsers may be more strict over TCP vs TLS.
|
|
|
|
|
|
Fits better since we are dealing with a single template at a time.
|
|
Implements RFC6570 level 4.
|
|
Implements draft-ietf-httpbis-header-structure-14.
|
|
|
|
|
|
|
|
|
|
This is the result of a merge of the Cowboy and Gun HTTP/2 codes.
It can probably do a little more but it's at a point where Cowboy
works fine when using it so additional work will be done in other
commits.
The Gun code has not been switched to this module yet. I expect
for example the PUSH_PROMISE code to fail at this point. This will
be the next step.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
It implements the algorithm found in RFC 7515 Appendix C
https://tools.ietf.org/html/rfc7515#appendix-C with an
option to switch between with/no padding variants.
Relace the cow_multipart:boundary function to use this
and fix issues with agents which do not support slashes
in the boundary characters.
|
|
|
|
Building of events will be implemented at a later time.
|
|
|
|
Experimental HiPE CI support in Erlang.mk.
|
|
Includes some small maintenance tweaks to Makefile etc.
|
|
These are expected to be used on path components,
unlike cow_qs:url{en,de}code/1 which are for query strings.
|
|
|