Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-03-28 | Fix handling of bad length for RST_STREAM parsing | Luis Gustavo Beligante | |
2023-02-28 | Fix compile error due to bad spec | Loïc Hoguin | |
OTP fixed a bug that leads to the bad spec no longer compiling. Fix is expected to land in OTP-26.0. | |||
2023-01-16 | Cowlib 2.12.0 | Loïc Hoguin | |
2022-10-24 | Update SameSite cookie attribute to handle "Default" | Loïc Hoguin | |
2022-09-12 | Remove the obsolete Version cookie attribute | Sebastian Strollo | |
2022-09-02 | Do additional cookie parsing checks based on RFC6265bis | Loïc Hoguin | |
2022-03-22 | Implement RFC5861 (stale-* cache-control directives) | Tangui Le Pense | |
Loïc: amended to add RFC5861 examples to the tests. | |||
2022-03-22 | Update Basic auth parsing to RFC 7617 | Sebastian Strollo | |
In particular we now ignore unknown authentication parameters. Loïc: Small cleanup edits in amend. | |||
2022-03-22 | Fix URI template reserved expansion of %-encoded | Loïc Hoguin | |
2022-03-22 | Update structured headers implementation to RFC 8941 | Loïc Hoguin | |
I have in the process changed the output a little with regard to parameters. The dictionaries also build as a list of key-values now to keep ordering. This should be the definitive interface. | |||
2020-11-27 | Handle last remote stream ID in cow_http2_machine | Viktor Söderqvist | |
New function set_last_streamid/1 sets the last accepted stream ID to the last known remote stream ID. Frames with a remote stream ID greater than this are thereafter discarded by frame/2, which returns {ok, Http2Machine} for such frames. | |||
2020-11-12 | Fix set-cookie empty domain attribute parsing | Loïc Hoguin | |
We must not remove all domain attributes when we find an empty domain attribute, we must only ignore this one particular cookie-av. (RFC6265bis 5.3.3) | |||
2020-10-23 | Add cow_http2_machine:get_remote_settings/12.10.0 | Jonas Boberg | |
LH: I've updated the code to include enable_connect_protocol conditionally depending on the endpoint. | |||
2020-10-20 | Document the same_site changes | Loïc Hoguin | |
And explain that browsers may be more strict over TCP vs TLS. | |||
2020-10-07 | Add a message_tag to timeout messages sent by cow_http2_machine | Loïc Hoguin | |
They are currently optional to avoid doing a breaking change but should become mandatory (perhaps with a default value of undefined) in Cowlib 3.0. | |||
2020-10-07 | Minor optimization in cow_hpack:update_table_size/2 | Viktor Söderqvist | |
Table only needs to be resized if the current size exceeds the new max size, regardless of current max size. | |||
2020-10-07 | Make HPACK encode respect new configured max size | Viktor Söderqvist | |
Correction to cow_hpack:encode/2,3 according to RFC 7541, 4.3. Entry Eviction When Dynamic Table Size Changes. This change also corrects the handling of inserting entries larger than the max size, which shall result in an empty table, according to 4.4. in the same RFC. Fixes #101, #103. | |||
2020-10-07 | Cookies: accept setting same_site to none | Niklas | |
Chromium and Firefox have both begun using "Lax" as the default for non-Secure cookies. | |||
2020-03-30 | Add aliases for cookie parsing in cow_http_hd | Loïc Hoguin | |
2020-03-30 | Fix some HPACK Huffman decoding failure cases | Loïc Hoguin | |
When EOS is found within the string the decoding must fail. When the final padding is > 7 bit in length the decoding must fail as well. | |||
2020-03-19 | Document the new cow_cookie functions | Loïc Hoguin | |
2020-03-11 | Add cow_cookie:cookie/1 | Loïc Hoguin | |
2020-03-06 | Add cow_cookie:parse_set_cookie/1 | Loïc Hoguin | |
Also do minor fixes to cow_cookie:parse_cookie/1. There is a potential incompatibility from these changes, because now a header "Cookie: foo" will be translated to a cookie with an empty name and value "foo", instead of cookie name "foo" and empty value. Also cookie names starting with $ are no longer ignored. These fixes are necessary for the cookies test suite from Web platform tests to work, and match the upcoming cookie RFC. | |||
2020-02-27 | Clarify error when expecting a SETTINGS frame in HTTP/2 preface | Loïc Hoguin | |
The error was appropriate for server mode, but not for client mode, because the server does not send the preface sequence. | |||
2020-01-06 | Use a map for streams in cow_http2_machine | Loïc Hoguin | |
2019-12-31 | Fix sending trailers when there are data frames in queue | Tony Han | |
2019-12-29 | HPACK: Fix inline integer decodings | Loïc Hoguin | |
There's no shift to be done for the first value. | |||
2019-12-27 | HPACK: Turn off Dialyzer warning about improper lists | Loïc Hoguin | |
2019-12-27 | HPACK decode: decode integers directly to avoid copying binaries | Loïc Hoguin | |
2019-12-27 | HPACK decode: don't try to drop entries when increasing size | Loïc Hoguin | |
2019-12-27 | HPACK encoding now produces a more compact result | Loïc Hoguin | |
This in turn leads to a small performance improvement. | |||
2019-12-26 | Fix Proper tests following cow_hpack changes | Loïc Hoguin | |
2019-12-26 | HPACK encode shouldn't maps:get(huffman...) for every string | Loïc Hoguin | |
2019-12-26 | Use binary append instead of lists:reverse | Loïc Hoguin | |
2019-12-26 | Remove unused cow_hpack:decode/3 Opts argument | Loïc Hoguin | |
2019-12-26 | HPACK encode: conditionally call an iolist_to_binary | Loïc Hoguin | |
This provides a small but noticeable improvement so it's probably worth doing. | |||
2019-12-25 | Fix typo in comment | Loïc Hoguin | |
2019-12-25 | Optimize HPACK Huffman decoding | Loïc Hoguin | |
The previous naive implementation ended up not benefitting from binary match context reuse because it was matching on bit boundaries (and not bytes). This new implementation matches a byte at a time. The result is almost twice faster when decoding the examples from the HPACK RFC (before/after): cow_hpack:decode_huffman in 0.250666s cow_hpack:decode_huffman in 0.133743s | |||
2019-12-19 | Accept iodata() when building links | Loïc Hoguin | |
2019-12-19 | Escape attribute values when building link headers | Loïc Hoguin | |
2019-12-18 | Rename cow_uri_templates to cow_uri_template | Loïc Hoguin | |
Fits better since we are dealing with a single template at a time. | |||
2019-12-18 | Add cow_uri_templates | Loïc Hoguin | |
Implements RFC6570 level 4. | |||
2019-11-25 | Reorganize cow_http_hd | Loïc Hoguin | |
2019-11-25 | Add structured headers, variants and variant-key building | Loïc Hoguin | |
2019-11-23 | Add cow_http_struct_hd | Loïc Hoguin | |
Implements draft-ietf-httpbis-header-structure-14. | |||
2019-11-23 | Add cow_link implementing RFC8288 (link header) | Loïc Hoguin | |
2019-10-10 | Add cow_http2_machine:is_lingering_stream/22.8.0 | Loïc Hoguin | |
2019-10-10 | Fix cow_http_te:decode_ret() type | Loïc Hoguin | |
2019-10-10 | Fix cookie_opts() type in code and documentation | Loïc Hoguin | |
It's supposed to be a map, not a proplist. | |||
2019-10-05 | Allow disabling the UTF-8 Websocket text frames validation | Loïc Hoguin | |