aboutsummaryrefslogtreecommitdiffstats
path: root/include
AgeCommit message (Collapse)Author
2015-03-12MaintenanceLoïc Hoguin
* Update copyright years. * Update erlang.mk. * Fix triq testing.
2015-01-07Use 'or' instead of 'orelse' in cow_http_hdLoïc Hoguin
About the same except for functions with tons of tests per clauses, like parse_content_language/1.
2015-01-04Simplify the cow_http_hd codeLoïc Hoguin
Also rename the macros for inline lowercasing to ?LOWER, and move the type detection macros to cow_parse.hrl.
2014-12-31Add cow_http_hd:parse_authorization/1Loïc Hoguin
Supports Basic, Digest and Bearer schemes only. From RFC7235, RFC2617 and RFC6750.
2014-12-29Add cow_http_hd:parse_host/1, remove cow_http:parse_fullhost/1Loïc Hoguin
From RFC7230 and RFC3986. The new function now validates that the characters are correct, but does not go as far as validate segment sizes or number of segments. Its main purpose is still to split host and port.
2014-12-28Add cow_http_hd:parse_content_range/1Loïc Hoguin
From RFC7233.
2014-12-27Add cow_http_hd:parse_range/1Loïc Hoguin
From RFC7233.
2014-12-20Add cow_http_hd:parse_content_language/1Loï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-18Add cow_http_hd:parse_if_match/1Loïc Hoguin
From RFC7232. Nearly twice as fast as current Cowboy code.
2014-12-14Fix a typo in ?IS_TOKEN macroLoïc Hoguin
Detected by triq.
2014-12-13Add cow_http_hd:parse_accept_language/1Loïc Hoguin
From RFC7231. This code is more than twice faster as the current Cowboy code, while filtering out more bad cases.
2014-12-13Add cow_http_hd:parse_accept/1Loïc Hoguin
From RFC7231. This code is more than twice faster as the current Cowboy code, while filtering out more bad cases.
2014-02-05Add the cow_multipart module for multipart message parsing and buildingLoïc Hoguin
This is a new implementation that has been measured to be up to 33% faster than the implementation that was in Cowboy.