aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
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-09-28Add support for SameSite cookiesECrownofFire
The SameSite cookie attribute has yet to appear in an official RFC, and until recently was exclusive to Chrome. However, Firefox has recently implemented it as well, so it seems prudent to support it.
2018-09-17Cowlib 2.6.02.6.0Loïc Hoguin
2018-09-17Add cow_http:parse_request_line/1Loïc Hoguin
2018-08-06Cowlib 2.5.12.5.1Loïc Hoguin
2018-08-06Export two cow_http types used by GunLoïc Hoguin
2018-08-06Fix typespecs causing Dialyzer errors in user projectsLoïc Hoguin
2018-08-03Cowlib 2.5.02.5.0Loïc Hoguin
2018-08-03Refactor some code to fix a Dialyzer warningLoïc Hoguin
2018-08-02Update Erlang.mkLoïc Hoguin
2018-08-02Fix parsing of lone id: lines in cow_sseLoïc Hoguin
2018-06-25Add building of SSE eventsLoïc Hoguin
2018-06-04Update copyrightsLoïc Hoguin
2018-06-04Remove the AUTHORS file, the info is in commitsLoïc Hoguin
2018-06-04Cowlib 2.4.02.4.0Loïc Hoguin
2018-05-18Add cow_http:status_to_integerLoïc Hoguin
2018-05-07Import cow_iolists from CowboyLoïc Hoguin
2018-05-07Add 103 early hints as a valid statusMark Madsen
2018-05-02Update Erlang.mkLoïc Hoguin
2018-04-30Cowlib 2.3.02.3.0Loï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-25Prevent the HPACK configured_max_size from being droppedLoïc Hoguin
2018-04-23Add proper support for table size updatesLoïc Hoguin
2018-04-06Add the enable_connect_protocol HTTP/2 settingLoïc Hoguin
2018-03-28Cowlib 2.2.12.2.1Loïc Hoguin
2018-03-13Fix the parsing of the x-forwarded-for headerLoïc Hoguin
2018-03-05Cowlib 2.2.02.2.0Loïc Hoguin
2018-03-05The Websocket subprotocol tokens are case sensitiveLoïc Hoguin
As clarified in https://tools.ietf.org/html/rfc7936 the IANA registry only accepts case insensitive values for clarity's sake but the actual tokens are case sensitive.
2018-03-05Allow cookies without a valueJonathan Perret
Some cookies are seen in the wild consisting of just a name, without even a "=" char. This allows parsing them as if they were written "foo=", that is with an empty value. Commit amended to add a few more test cases.
2018-03-05Remove trailing whitespace from header valuesGustaf Sjoberg
Edited to add a test and use byte_size instead of size.
2018-03-05Add the 308 Permanent Redirect status codeLoïc Hoguin
2018-02-28Enable ci.erlang.mk only when CI_ERLANG_MK=1 is setLoïc Hoguin
This will avoid issues with other people's build systems.
2017-12-11Cowlib 2.1.02.1.0Loïc Hoguin
2017-11-28Add the 421 status code from HTTP/2Loï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-11-22Crash on more error cases when parsing chnuked dataLoïc Hoguin
2017-11-18Update Erlang.mk to an experimental patchLoïc Hoguin
2017-11-18Add AUTO_CI_WINDOWS variableLoïc Hoguin
2017-11-17Move ci.erlang.mk to TEST_DEPSLoïc Hoguin
2017-11-15Use ci.erlang.mk for managing tested Erlang versionsLoïc Hoguin
2017-11-15Add support for chunked transfer-encoding trailersLoïc Hoguin
It considers all 0-sized chunks that aren't \r\n\r\n to be trailers. There's no option for enabling/disabling the behavior (for example when the te header was sent). It doesn't parse the trailer, it's up to the user to parse it separately via the new cow_http:headers/1 functions. Note that this reuses the TotalLength part of the returned 'done' tuple to signal whether there are trailers. This value has been ignored in Cowboy since 2.0 and was just a historical leftover. I'm not aware of anyone using this module outside of Gun or Cowboy, so I don't expect this to break anything. If it does, well, it's not a documented function anyway. Your fault.
2017-11-01Update CI versionsLoïc Hoguin
2017-10-31Cowlib 2.0.12.0.1Loïc Hoguin
2017-10-31Fix Websocket compression for OTP 20.1.3+Loïc Hoguin
This issue only concerns zlib contexts that are created in a different process from the one they are used in. Unfortunately compression will have to remain disabled if you are using OTP 20.1, 20.1.1 or 20.1.2 due to missing functionality. If you need compression you will need to use another version.
2017-10-03Change a link to https2.0.0Loïc Hoguin
2017-10-03Update cowlib.appLoïc Hoguin