aboutsummaryrefslogtreecommitdiffstats
path: root/src/cow_http2.erl
AgeCommit message (Collapse)Author
2024-03-26Initial HTTP/3 and QPACK implementationHEADqpackmasterLoïc Hoguin
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.
2023-03-28Fix handling of bad length for RST_STREAM parsingLuis Gustavo Beligante
2023-01-16Cowlib 2.12.0Loïc Hoguin
2018-10-26Add cow_http2:parse_sequence/1Loïc Hoguin
2018-10-26Introduce cow_http2_machine, an HTTP/2 state machineLoïc Hoguin
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.
2018-06-04Update copyrightsLoïc Hoguin
2018-04-29Reject HEADERS/PRIORITY with streams depending on themselvesLoïc Hoguin
2018-04-29Accept infinity for some HTTP/2 SETTINGSLoïc Hoguin
max_concurrent_streams and max_header_list_size to be precise.
2018-04-25Fix http2 settings parsing when there's more dataTony Han
2018-04-06Add the enable_connect_protocol HTTP/2 settingLoïc Hoguin
2017-11-27Implement the building of h2 SETTINGS framesLoïc Hoguin
2017-11-27Fix an error return value in cow_http2:parse/1Loïc Hoguin
2017-11-27Fix DATA payload size with paddingLoïc Hoguin
2017-05-23Add building of PRIORITY frameLoïc Hoguin
2017-05-19Add functions for creating WINDOW_UPDATE h2 framesLoïc Hoguin
2017-02-26Unknown HTTP/2 frames are ignoredLoïc Hoguin
2017-02-25Add frame size related error cases to cow_http2:parseLoïc Hoguin
2017-02-25Add cow_http:goaway/2Loïc Hoguin
2016-10-09Fix HTTP/2 parsing of WINDOW_UPDATE framesPablo Polvorin
Fix for cases where the full frame is not received in one go.
2016-10-09Fix parsing of HTTP/2 PING framesPablo Polvorin
Fix for cases where the full frame is not received in one go.
2016-06-06Add a cow_http2:data_header/3 functionLoïc Hoguin
For use with sendfile or streaming in general.
2016-03-13Parse the settings payload directly in cow_http_hd:parse_http2_settings/1Loïc Hoguin
2016-03-12Add settings_payload/1, settings_ack/0 and ping/1 in cow_http2Loïc Hoguin
Although settings_payload/1 is currently only a placeholder.
2015-08-26Fix a few binary pattern matching issuesLoïc Hoguin
2015-06-11Add cowboy_http2 with initial HTTP/2 suppportLoïc Hoguin