aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
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
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-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-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-03Update mimetypesLoïc Hoguin
2017-07-10Add new module cow_base64urlLoïc Hoguin
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.
2017-07-10Switch from Triq to ProperLoïc Hoguin
2017-07-03Skip extra spaces and TE chunk extensionsLoïc Hoguin
2017-06-16Fix parsing of event spanning multiple parse callsLoïc Hoguin
2017-06-08Accept headers as map in cow_multipart:form_data/1Loïc Hoguin
2017-06-08cow_multipart:from_data/1 doesn't return transfer-encoding anymoreLoïc Hoguin
That header is deprecated in the context of HTTP.
2017-06-08Crash cookie parsing with badarg on errorLoïc Hoguin
2017-05-23Add building of PRIORITY frameLoïc Hoguin
2017-05-19Add functions for creating WINDOW_UPDATE h2 framesLoïc Hoguin
2017-04-27Add cow_sse module which implements parsing of SSELoïc Hoguin
Building of events will be implemented at a later time.
2017-04-18Add support for HTTP 451 (RFC 7725)Nicholas Lundgaard
See [rfc7725 section 3](https://tools.ietf.org/html/rfc7725#section-3).
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
2017-02-16Update a comment about zlib deflate optionLoïc Hoguin
2016-10-21Arrange function orderLoïc Hoguin
2016-10-21fixed names of test functions for cow_date:rfc2109/1Andrei Nesterov
2016-10-21Add support for IMF-fixdate formated date generationAndrei Nesterov
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 HPACK table size tracking when table is prunedPablo Polvorin
The new entry size wasn't being added to the table size after a prune. Also fixes incorrect test cases. The size number was different than the one found in RFC 7541 Appendix C.
2016-10-09Fix parsing of HTTP/2 PING framesPablo Polvorin
Fix for cases where the full frame is not received in one go.
2016-10-04Fix Dialyzer warningsLoïc Hoguin
2016-10-03Add owner option to set owner of Websocket compression contextsLoïc Hoguin
Required by Cowboy 2 because it initializes the contexts in a different process than where they are used.
2016-10-03Update mimetypesLoïc Hoguin
2016-06-09Merge branch 'master' of https://github.com/leoliu/cowlibLoïc Hoguin
2016-06-08Fix #39: Prefer crypto:strong_rand_bytes/1Leo Liu
See also https://github.com/erlang/otp/pull/883
2016-06-07Add cow_http_hd:access_control_max_age/1Andrei Nesterov
2016-06-07Add cow_http_hd:access_control_expose_headers/1Andrei Nesterov
2016-06-07Add cow_http_hd:access_control_allow_origin/1Andrei Nesterov
2016-06-07Add cow_http_hd:access_control_allow_methods/1Andrei Nesterov
2016-06-07Add cow_http_hd:access_control_allow_headers/1Andrei Nesterov
2016-06-07Add internal cow_http_hd:join_token_list/1, cow_http_hd:join_token_list/2Andrei Nesterov
2016-06-07Add cow_http_hd:access_control_allow_credentials/0Andrei Nesterov
2016-06-07Add cow_http_hd:parse_access_control_request_method/1Andrei Nesterov
2016-06-07Add cow_http_hd:parse_access_control_request_headers/1Andrei Nesterov
2016-06-07Add cow_http_hd:parse_origin/1Andrei Nesterov
2016-06-06Add a cow_http2:data_header/3 functionLoïc Hoguin
For use with sendfile or streaming in general.
2016-06-06Make cow_http:parse_fullpath/1 remove any fragment componentLoïc Hoguin