<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cowlib.git/include, branch faster-http2</title>
<subtitle>Support library for manipulating Web protocols.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowlib.git/'/>
<entry>
<title>Update copyrights</title>
<updated>2018-06-04T06:51:39+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2018-06-04T06:51:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowlib.git/commit/?id=af88cb78fc0dffb27fd9ab09659a6ba595493c1a'/>
<id>af88cb78fc0dffb27fd9ab09659a6ba595493c1a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Maintenance</title>
<updated>2015-03-12T15:13:40+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2015-03-12T15:13:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowlib.git/commit/?id=6f9b4bbc415db026f080b10a3d3d4400801882b1'/>
<id>6f9b4bbc415db026f080b10a3d3d4400801882b1</id>
<content type='text'>
* Update copyright years.
* Update erlang.mk.
* Fix triq testing.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Update copyright years.
* Update erlang.mk.
* Fix triq testing.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use 'or' instead of 'orelse' in cow_http_hd</title>
<updated>2015-01-07T11:48:23+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2015-01-07T11:48:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowlib.git/commit/?id=404aefb052d6671c08017347273debf67123bfa9'/>
<id>404aefb052d6671c08017347273debf67123bfa9</id>
<content type='text'>
About the same except for functions with tons of tests per clauses,
like parse_content_language/1.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
About the same except for functions with tons of tests per clauses,
like parse_content_language/1.
</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify the cow_http_hd code</title>
<updated>2015-01-04T18:30:11+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2015-01-04T18:30:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowlib.git/commit/?id=8bd6a5fc574a7f2fb94d12f29f37c650b1586a31'/>
<id>8bd6a5fc574a7f2fb94d12f29f37c650b1586a31</id>
<content type='text'>
Also rename the macros for inline lowercasing to ?LOWER,
and move the type detection macros to cow_parse.hrl.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also rename the macros for inline lowercasing to ?LOWER,
and move the type detection macros to cow_parse.hrl.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add cow_http_hd:parse_authorization/1</title>
<updated>2014-12-30T23:07:42+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2014-12-30T23:07:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowlib.git/commit/?id=2548432042a97c4e174bb956e542b54203c46d3b'/>
<id>2548432042a97c4e174bb956e542b54203c46d3b</id>
<content type='text'>
Supports Basic, Digest and Bearer schemes only.

From RFC7235, RFC2617 and RFC6750.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Supports Basic, Digest and Bearer schemes only.

From RFC7235, RFC2617 and RFC6750.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add cow_http_hd:parse_host/1, remove cow_http:parse_fullhost/1</title>
<updated>2014-12-29T16:24:04+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2014-12-29T16:21:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowlib.git/commit/?id=1c732125bfd12fb3a25997f93cdf9e418666bddb'/>
<id>1c732125bfd12fb3a25997f93cdf9e418666bddb</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add cow_http_hd:parse_content_range/1</title>
<updated>2014-12-28T14:43:10+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2014-12-28T14:43:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowlib.git/commit/?id=c85ef5cf4f4aca5ea3d32261f53501097374755c'/>
<id>c85ef5cf4f4aca5ea3d32261f53501097374755c</id>
<content type='text'>
From RFC7233.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
From RFC7233.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add cow_http_hd:parse_range/1</title>
<updated>2014-12-27T18:09:28+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2014-12-27T18:07:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowlib.git/commit/?id=3953fe4182af5e36542c6105d3ae74736699828c'/>
<id>3953fe4182af5e36542c6105d3ae74736699828c</id>
<content type='text'>
From RFC7233.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
From RFC7233.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add cow_http_hd:parse_content_language/1</title>
<updated>2014-12-20T00:06:07+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2014-12-20T00:06:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowlib.git/commit/?id=1f8a70d0860862a8b5d5819f5d9e0240abdbe69e'/>
<id>1f8a70d0860862a8b5d5819f5d9e0240abdbe69e</id>
<content type='text'>
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 =&lt; C =&lt; $z) instead of the current solution makes compilation
much faster, but the function executes twice as slow which is not
acceptable.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 =&lt; C =&lt; $z) instead of the current solution makes compilation
much faster, but the function executes twice as slow which is not
acceptable.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add cow_http_hd:parse_if_match/1</title>
<updated>2014-12-17T22:08:14+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2014-12-17T21:54:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowlib.git/commit/?id=8ebb992434c89e191389503cbc705d7f30706772'/>
<id>8ebb992434c89e191389503cbc705d7f30706772</id>
<content type='text'>
From RFC7232.

Nearly twice as fast as current Cowboy code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
From RFC7232.

Nearly twice as fast as current Cowboy code.
</pre>
</div>
</content>
</entry>
</feed>
