Age | Commit message (Collapse) | Author | |
---|---|---|---|
2014-12-20 | Speed up a few properties by limiting parameters input | Loïc Hoguin | |
2014-12-20 | Add cow_http_hd:parse_content_language/1 | Loïc Hoguin | |
From RFC7231 and RFC5646. The ABNF for language tags is terrible. It makes parsing efficiently a big challenge and the result is this huge ugly set of functions. Thankfully triq allows us to make sure the implementation is correct. A large number of examples has also been extracted from both RFCs. The various ?IS_ALPHA(C), ?IS_TOKEN(C) and so on have received a change: they now use 'orelse' instead of ';'. This is because in this new code we need to check more than one character per clause. The compilation time for this module increased dramatically. Apparently happens because the guards are too big. Using ranges ($a =< C =< $z) instead of the current solution makes compilation much faster, but the function executes twice as slow which is not acceptable. | |||
2014-12-19 | Add cow_http_hd:parse_content_encoding/1 | Loïc Hoguin | |
From RFC7231. | |||
2014-12-18 | Improve cow_http_hd:parse_max_forwards/1 spec | Loïc Hoguin | |
2014-12-18 | Add cow_http_hd:parse_sec_websocket_extensions/1 | Loïc Hoguin | |
From RFC6455. This function is about 3 times faster than the current Cowboy code. | |||
2014-12-18 | Add cow_http_hd:parse_sec_websocket_protocol_client/1 | Loïc Hoguin | |
2014-12-18 | Add cow_http_hd:parse_sec_websocket_version_client/1 | Loïc Hoguin | |
From RFC6455. The code is slower than a plain binary_to_integer(Version), because it enforces that the value is in the 0..255 range as per the specification, and that the input binary is no longer than 3 characters. It is however better to enforce this because the client could also send a huge integer and we don't really want to convert it and waste resources. | |||
2014-12-18 | Add cow_http_hd:parse_expires/1 | Loïc Hoguin | |
From RFC7234. | |||
2014-12-18 | Rename a local cow_http_hd function for better precision | Loïc Hoguin | |
2014-12-18 | Add cow_http_hd:parse_etag/1 | Loïc Hoguin | |
From RFC7232. | |||
2014-12-18 | Add cow_http_hd:parse_if_none_match/1 | Loïc Hoguin | |
From RFC7232. | |||
2014-12-18 | Add cow_http_hd:parse_if_match/1 | Loïc Hoguin | |
From RFC7232. Nearly twice as fast as current Cowboy code. | |||
2014-12-17 | Add test cases taken from RFC7230 | Loïc Hoguin | |
2014-12-17 | Add cow_http_hd:parse_upgrade/1 | Loïc Hoguin | |
From RFC7230. Compared to the current Cowboy implementation we added support for protocol-version. We return protocol-name/protocol-version as a single binary as these will typically be matched directly. | |||
2014-12-17 | Add cow_date:parse_date/1 and move date parsing code there | Loïc Hoguin | |
2014-12-16 | Add cow_http_hd:parse_last_modified/1 | Loïc Hoguin | |
From RFC7232. | |||
2014-12-16 | Add cow_http_hd:parse_date/1 | Loïc Hoguin | |
From RFC7231. | |||
2014-12-16 | Add cow_http_hd:parse_if_unmodified_since/1 | Loïc Hoguin | |
2014-12-16 | Add cow_http_hd:parse_if_modified_since/1 | Loïc Hoguin | |
From RFC7231 and RFC7232. The new code is faster than the one in Cowboy: 2 times faster for fixdate format, 2.5 times faster for rfc850 format and 3+ times faster for asctime format. Unlike previous code, there is no parsing speed difference between the 3 different date formats. | |||
2014-12-16 | Add a property for cow_http_hd:parse_transfer_encoding/1 | Loïc Hoguin | |
2014-12-16 | Remove an unused test function | Loïc Hoguin | |
2014-12-16 | Add property for cow_http_hd:parse_max_forwards/1 | Loïc Hoguin | |
2014-12-16 | Add property for cow_http_hd:parse_expect/1 | Loïc Hoguin | |
2014-12-16 | Add a property for cow_http_hd:parse_connection/1 | Loïc Hoguin | |
2014-12-16 | Fix a shadow var warning in a property | Loïc Hoguin | |
2014-12-15 | Add a property for cow_http_hd:parse_accept_language/1 | Loïc Hoguin | |
2014-12-15 | Add a property for cow_http_hd:parse_accept_encoding/1 | Loïc Hoguin | |
2014-12-15 | Add a property for cow_http_hd:parse_accept_charset/1 | Loïc Hoguin | |
2014-12-15 | Add a property for cow_http_hd:parse_accept/1 | Loïc Hoguin | |
Also fixes a few bugs uncovered by the property, and also allow empty Accept values as per RFC7231. | |||
2014-12-14 | Add cow_http_hd:parse_content_type/1 | Loïc Hoguin | |
From RFC7231. This implementation is about 4 times faster than the one currently found in Cowboy. | |||
2014-12-14 | Add a property for parse_content_length/1 | Loïc Hoguin | |
2014-12-14 | Fix a typo in ?IS_TOKEN macro | Loïc Hoguin | |
Detected by triq. | |||
2014-12-13 | Add testing for bad input for cow_http_hd:parse_content_length/1 | Loïc Hoguin | |
2014-12-13 | Add cow_http_hd:parse_accept_language/1 | Loïc Hoguin | |
From RFC7231. This code is more than twice faster as the current Cowboy code, while filtering out more bad cases. | |||
2014-12-13 | Add cow_http_hd:parse_accept_encoding/1 | Loïc Hoguin | |
From RFC7231. | |||
2014-12-13 | Add cow_http_hd:parse_charset/1 | Loïc Hoguin | |
From RFC7231. This code is more than twice faster as the current Cowboy code, while filtering out more bad cases. | |||
2014-12-13 | Add cow_http_hd:parse_accept/1 | Loïc Hoguin | |
From RFC7231. This code is more than twice faster as the current Cowboy code, while filtering out more bad cases. | |||
2014-12-12 | Add cow_http_hd:parse_max_forwards/1 | Loïc Hoguin | |
From RFC7231. | |||
2014-12-12 | Optimize cow_http:parse_fullhost/1 | Loïc Hoguin | |
Using two functions instead of an argument is a much better way to handle two specific pathways in the code. | |||
2014-12-12 | Add cow_http_hd:parse_expect/1 | Loïc Hoguin | |
From RFC7231. | |||
2014-11-07 | Update cowlib to 1.0.11.0.1 | Loïc Hoguin | |
2014-11-07 | Add CHANGELOG | Loïc Hoguin | |
2014-11-07 | Add AUTHORS | Loïc Hoguin | |
2014-11-07 | Update erlang.mk | Loïc Hoguin | |
2014-11-06 | Merge branch 'remove-linebreak-requirement' of git://github.com/issuu/cowlib | Loïc Hoguin | |
2014-11-06 | No line break required after close-delimiter | Mikkel Jensen | |
RFC 1341 does not specify this and indeed some upload clients (for example Flash) do not terminate the request with line breaks | |||
2014-08-01 | Update cowlib to 1.0.01.0.0 | Loïc Hoguin | |
2014-08-01 | Remove an unnecessary line from the Makefile | Loïc Hoguin | |
2014-08-01 | Update list of tested releases | Loïc Hoguin | |
2014-08-01 | Update erlang.mk to 1.0.0 | Loïc Hoguin | |