aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-03-19Add HPACK decoding and encoding functionsLoïc Hoguin
No decoding options have been added in this commit. They will be added in the future. Only one encoding option has been added: #{huffman => boolean()}. It allows to disable Huffman compression of strings. This compression is enabled by default.
2015-03-13Update test dependenciesLoïc Hoguin
2015-03-12Update Cowlib to 1.3.01.3.0Loïc Hoguin
2015-03-12Simplify the SPDY code for merging duplicate headersLoïc Hoguin
2015-03-12Move the settings test near its functionLoïc Hoguin
2015-03-12Merge branch 'master' of https://github.com/camshaft/cowlibLoïc Hoguin
2015-03-12Update erlang.mkLoïc Hoguin
2015-03-12Merge branch 'spdy_dev' of https://github.com/Etsukata/cowlibLoïc Hoguin
2015-03-12Merge branch 'fix-multipart-bodies-without-headers' of ↵Loïc Hoguin
https://github.com/danielwhite/cowlib
2015-03-12MaintenanceLoïc Hoguin
* Update copyright years. * Update erlang.mk. * Fix triq testing.
2015-03-12Add missing client functionality to Websocket codeLoïc Hoguin
2015-03-06Update Cowlib to 1.2.01.2.0Loïc Hoguin
2015-03-06Rewrite UTF-8 validation codeLoïc Hoguin
Use a version of the Flexible and Economical UTF-8 Decoder algorithm specifically optimized for Erlang. http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ The utf8_state() type is now exported and changed from a binary to an integer from 0..8.
2015-03-04Add permessage-deflate extension support to WebsocketLoïc Hoguin
https://tools.ietf.org/html/draft-ietf-hybi-permessage-compression-19 This also fixes some previously unknown issues with UTF-8 handling and simplifies the interface for parsing frames.
2015-03-03Fix parsing of multipart bodies without headersDaniel White
This was discovered while verifying if cow_multipart was a suitable replacement for our existing multipart parser. Our suite for parsing an example from RFC 2046 failed.
2015-02-16Update Cowlib to 1.1.01.1.0Loïc Hoguin
2015-02-16Add cow_qs for Websocket protocol parsing/buildingLoïc Hoguin
Code extracted from Cowboy and generalized. There are no tests in this file: the code is tested with Autobahntestsuite through the Cowboy test suite. There currently is no function to build a masked frame.
2015-02-16Add a comment on a testLoïc Hoguin
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.
2015-01-03Add @todos in cow_http_hd for additional headersLoïc Hoguin
2015-01-02Make sure tokens are non-empty in cow_http_hdLoïc Hoguin
2015-01-02Add cow_http_hd:parse_proxy_authenticate/1Loïc Hoguin
From RFC7235. See cow_http_hd:parse_www_authenticate/1.
2015-01-02Add cow_http_hd:parse_www_authenticate/1Loïc Hoguin
From RFC7235, RFC2617 and RFC6750. Features an attempt at simplifying the code using ?IS_WS macro.
2014-12-31Add cow_http_hd:parse_proxy_authorization/1Loïc Hoguin
From RFC7235. See cow_http_hd:parse_authorization/1.
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-31Remove an extraneous empty lineLoïc Hoguin
2014-12-29Add cow_http_hd:parse_x_forwarded_for/1Loïc Hoguin
From thin air.
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_pragma/1Loïc Hoguin
We go for an exact <<"no-cache">> match because this is the only directive that was ever defined, because the header is only kept for backward compatible reasons with HTTP/1.0 caches, and because for all other uses the cache-control header is preferred.
2014-12-28Add a test for cow_http_hd:parse_content_length/1Loïc Hoguin
Negative number.
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-26Add cow_http_hd:parse_if_range/1Loïc Hoguin
From RFC7233.
2014-12-26Add cow_http_hd:parse_accept_ranges/1Loïc Hoguin
From RFC7233.
2014-12-26Fix a parse_max_forwards testLoïc Hoguin
2014-12-26Add cow_http_hd:parse_retry_after/1Loïc Hoguin
From RFC7231.
2014-12-26Add specs to cow_date:parse_date/1Loïc Hoguin
2014-12-26Improve internal cow_http_hd function token_ci_list/2Loïc Hoguin
We now ensure that the tokens are made of token characters only.
2014-12-26Add cow_http_hd:parse_allow/1Loïc Hoguin
From RFC7231.
2014-12-26Add cow_http_hd:parse_age/1Loïc Hoguin
From RFC7234.
2014-12-26Add cow_http_hd:parse_vary/1Loïc Hoguin
From RFC7231.
2014-12-26Fix a parse_upgrade testLoïc Hoguin
2014-12-26Add missing export for second previous commitLoïc Hoguin
2014-12-26Simplify the code for parsing 1*DIGIT header valuesLoïc Hoguin
Follow-up from the change that ensured we don't get any extra whitespace following the value. We can now call binary_to_integer/1 which is more efficient.
2014-12-25Add cow_http_hd:parse_sec_websocket_version_resp/1Loïc Hoguin
From RFC6455. Ho ho ho!
2014-12-24Add cow_http_hd:parse_sec_websocket_protocol_resp/1Loïc Hoguin
From RFC6455.
2014-12-24Use _req instead of _client for request-specific parsersLoïc Hoguin
2014-12-24Add dummy functions for Sec-WebSocket-(Accept|Key) headersLoïc Hoguin
From RFC6455. These base64 values are expected to be matched directly in the first case, or hashed to generate a new base64 value, therefore no parsing or validation is required.
2014-12-24Fix a variable shadow issue in the testsLoïc Hoguin