summaryrefslogtreecommitdiffstats
path: root/docs/en/cowboy/2.4/manual
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2018-06-13 09:54:12 +0200
committerLoïc Hoguin <[email protected]>2018-06-13 09:54:12 +0200
commit92b54aacc0de5446dd5497c39897b0bbff72e626 (patch)
treec3a98cfec636d1271f5804e5c19b35b208bba00d /docs/en/cowboy/2.4/manual
parent8b5c3dc972b99f174750123c9e4abc96259c34a9 (diff)
downloadninenines.eu-92b54aacc0de5446dd5497c39897b0bbff72e626.tar.gz
ninenines.eu-92b54aacc0de5446dd5497c39897b0bbff72e626.tar.bz2
ninenines.eu-92b54aacc0de5446dd5497c39897b0bbff72e626.zip
Rebuild using Asciideck
Diffstat (limited to 'docs/en/cowboy/2.4/manual')
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy.set_env/index.html124
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy.start_clear/index.html159
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy.start_tls/index.html165
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy.stop_listener/index.html87
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy/index.html135
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_app/index.html178
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_constraints.int/index.html92
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_constraints.nonempty/index.html90
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_constraints/index.html85
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_handler.terminate/index.html115
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_handler/index.html108
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_http/index.html321
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_http2/index.html279
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_loop/index.html140
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_middleware/index.html123
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.binding/index.html122
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.bindings/index.html82
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.body_length/index.html86
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.cert/index.html108
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.delete_resp_header/index.html94
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.has_body/index.html76
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.has_resp_body/index.html83
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.has_resp_header/index.html95
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.header/index.html129
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.headers/index.html87
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.host/index.html88
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.host_info/index.html84
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.inform/index.html139
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.match_cookies/index.html134
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.match_qs/index.html134
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.method/index.html102
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.parse_cookies/index.html94
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.parse_header/index.html359
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.parse_qs/index.html118
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.path/index.html87
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.path_info/index.html84
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.peer/index.html97
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.port/index.html88
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.push/index.html162
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.qs/index.html86
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.read_body/index.html165
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.read_part/index.html200
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.read_part_body/index.html150
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.read_urlencoded_body/index.html140
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.reply/index.html190
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.resp_header/index.html119
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.resp_headers/index.html75
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.scheme/index.html93
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.set_resp_body/index.html151
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.set_resp_cookie/index.html189
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.set_resp_header/index.html129
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.set_resp_headers/index.html116
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.sock/index.html83
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.stream_body/index.html129
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.stream_reply/index.html174
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.stream_trailers/index.html118
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.uri/index.html199
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req.version/index.html85
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_req/index.html556
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_rest/index.html845
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_router.compile/index.html93
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_router/index.html117
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_static/index.html221
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_stream/index.html540
-rw-r--r--docs/en/cowboy/2.4/manual/cowboy_websocket/index.html370
-rw-r--r--docs/en/cowboy/2.4/manual/http_status_codes/index.html267
-rw-r--r--docs/en/cowboy/2.4/manual/index.html178
67 files changed, 3143 insertions, 7568 deletions
diff --git a/docs/en/cowboy/2.4/manual/cowboy.set_env/index.html b/docs/en/cowboy/2.4/manual/cowboy.set_env/index.html
index 89ae117c..5ac0bdb2 100644
--- a/docs/en/cowboy/2.4/manual/cowboy.set_env/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy.set_env/index.html
@@ -62,117 +62,59 @@
<h1 class="lined-header"><span>cowboy:set_env(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy:set_env - Update a listener&#8217;s environment value</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy:set_env - Update a listener&apos;s environment value</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">set_env</span></span>(<span style="color: #009900">Name</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">ranch:ref</span></span>(),
- <span style="color: #009900">Key</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">atom</span></span>(),
- <span style="color: #009900">Value</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>())
- <span style="color: #990000">-&gt;</span> <span style="color: #FF6600">ok</span></tt></pre></div></div>
-<div class="paragraph"><p>Set or update an environment value for a previously started
-listener.</p></div>
-<div class="paragraph"><p>This is most useful for updating the routes dynamically,
-without having to restart the listener.</p></div>
-<div class="paragraph"><p>The new value will only be available to new connections.
-Pre-existing connections will still use the old value.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">set_env</font></b>(<font color="#009900">Name</font> <font color="#990000">::</font> <b><font color="#000000">ranch:ref</font></b>(),
+ <font color="#009900">Key</font> <font color="#990000">::</font> <b><font color="#000080">atom</font></b>(),
+ <font color="#009900">Value</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>())
+ <font color="#990000">-&gt;</font> <font color="#FF6600">ok</font></tt></pre>
+</div></div>
+<p>Set or update an environment value for a previously started listener.</p>
+<p>This is most useful for updating the routes dynamically, without having to restart the listener.</p>
+<p>The new value will only be available to new connections. Pre-existing connections will still use the old value.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Name
-</dt>
-<dd>
-<p>
-The name of the listener to update.
-</p>
-<div class="paragraph"><p>The name of the listener is the first argument given to the
-<a href="../cowboy.start_clear">cowboy:start_clear(3)</a>,
-<a href="../cowboy.start_tls">cowboy:start_tls(3)</a> or
-<a href="../ranch.start_listener">ranch:start_listener(3)</a> function.</p></div>
+<dl><dt>Name</dt>
+<dd><p>The name of the listener to update.</p>
+<p>The name of the listener is the first argument given to the <a href="../cowboy.start_clear">cowboy:start_clear(3)</a>, <a href="../cowboy.start_tls">cowboy:start_tls(3)</a> or <a href="../ranch.start_listener">ranch:start_listener(3)</a> function.</p>
</dd>
-<dt class="hdlist1">
-Key
-</dt>
-<dd>
-<p>
-The key in the environment map. Common keys include <code>dispatch</code>
-and <code>middlewares</code>.
-</p>
+<dt>Key</dt>
+<dd><p>The key in the environment map. Common keys include <code>dispatch</code> and <code>middlewares</code>.</p>
</dd>
-<dt class="hdlist1">
-Value
-</dt>
-<dd>
-<p>
-The new value.
-</p>
-<div class="paragraph"><p>The type of the value differs depending on the key.</p></div>
+<dt>Value</dt>
+<dd><p>The new value.</p>
+<p>The type of the value differs depending on the key.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The atom <code>ok</code> is returned on success.</p></div>
-<div class="paragraph"><p>An <code>exit:badarg</code> exception is thrown when the listener does
-not exist.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The atom <code>ok</code> is returned on success.</p>
+<p>An <code>exit:badarg</code> exception is thrown when the listener does not exist.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<ul><li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Update a listener&#8217;s routes</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Update a listener&apos;s routes</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Dispatch</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_router:compile</span></span>([
- {<span style="color: #FF6600">'_'</span>, [
- {<span style="color: #FF0000">"/"</span>, <span style="color: #FF6600">toppage_h</span>, []},
- {<span style="color: #FF0000">"/ws"</span>, <span style="color: #FF6600">websocket_h</span>, []}
+<pre><tt><font color="#009900">Dispatch</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_router:compile</font></b>([
+ {<font color="#FF6600">'_'</font>, [
+ {<font color="#FF0000">"/"</font>, <font color="#FF6600">toppage_h</font>, []},
+ {<font color="#FF0000">"/ws"</font>, <font color="#FF6600">websocket_h</font>, []}
]}
]),
-<span style="font-weight: bold"><span style="color: #000000">cowboy:set_env</span></span>(<span style="color: #FF6600">example</span>, <span style="color: #FF6600">dispatch</span>, <span style="color: #009900">Dispatch</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<b><font color="#000000">cowboy:set_env</font></b>(<font color="#FF6600">example</font>, <font color="#FF6600">dispatch</font>, <font color="#009900">Dispatch</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy">cowboy(3)</a>,
-<a href="../cowboy.start_clear">cowboy:start_clear(3)</a>,
-<a href="../cowboy.start_tls">cowboy:start_tls(3)</a>,
-<a href="../ranch.set_protocol_options">ranch:set_protocol_options(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy">cowboy(3)</a>, <a href="../cowboy.start_clear">cowboy:start_clear(3)</a>, <a href="../cowboy.start_tls">cowboy:start_tls(3)</a>, <a href="../ranch.set_protocol_options">ranch:set_protocol_options(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy.start_clear/index.html b/docs/en/cowboy/2.4/manual/cowboy.start_clear/index.html
index 04d9f310..f932cb38 100644
--- a/docs/en/cowboy/2.4/manual/cowboy.start_clear/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy.start_clear/index.html
@@ -62,148 +62,77 @@
<h1 class="lined-header"><span>cowboy:start_clear(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy:start_clear - Listen for connections using plain TCP</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy:start_clear - Listen for connections using plain TCP</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">start_clear</span></span>(<span style="color: #009900">Name</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">ranch:ref</span></span>(),
- <span style="color: #009900">TransportOpts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">ranch_tcp:opts</span></span>(),
- <span style="color: #009900">ProtocolOpts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">opts</span></span>())
- <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">ok</span>, <span style="color: #009900">ListenerPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>()}
- | {<span style="color: #FF6600">error</span>, <span style="font-weight: bold"><span style="color: #000000">any</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>Start listening for connections over a clear TCP channel.</p></div>
-<div class="paragraph"><p>Both HTTP/1.1 and HTTP/2 are supported on this listener.
-HTTP/2 has two methods of establishing a connection over
-a clear TCP channel. Both the upgrade and the prior knowledge
-methods are supported.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">start_clear</font></b>(<font color="#009900">Name</font> <font color="#990000">::</font> <b><font color="#000000">ranch:ref</font></b>(),
+ <font color="#009900">TransportOpts</font> <font color="#990000">::</font> <b><font color="#000000">ranch_tcp:opts</font></b>(),
+ <font color="#009900">ProtocolOpts</font> <font color="#990000">::</font> <b><font color="#000000">opts</font></b>())
+ <font color="#990000">-&gt;</font> {<font color="#FF6600">ok</font>, <font color="#009900">ListenerPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()}
+ | {<font color="#FF6600">error</font>, <b><font color="#000000">any</font></b>()}</tt></pre>
+</div></div>
+<p>Start listening for connections over a clear TCP channel.</p>
+<p>Both HTTP/1.1 and HTTP/2 are supported on this listener. HTTP/2 has two methods of establishing a connection over a clear TCP channel. Both the upgrade and the prior knowledge methods are supported.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Name
-</dt>
-<dd>
-<p>
-The listener name is used to refer to this listener in
-future calls, for example when stopping it or when
-updating the routes defined.
-</p>
-<div class="paragraph"><p>It can be any Erlang term. An atom is generally good enough,
-for example <code>api</code>, <code>my_app_clear</code> or <code>my_app_tls</code>.</p></div>
+<dl><dt>Name</dt>
+<dd><p>The listener name is used to refer to this listener in future calls, for example when stopping it or when updating the routes defined.</p>
+<p>It can be any Erlang term. An atom is generally good enough, for example <code>api</code>, <code>my_app_clear</code> or <code>my_app_tls</code>.</p>
</dd>
-<dt class="hdlist1">
-TransportOpts
-</dt>
-<dd>
-<p>
-The transport options are where the TCP options, including
-the listener&#8217;s port number, are defined. Transport options
-are provided as a list of keys and values, for example
-<code>[{port, 8080}]</code>.
-</p>
-<div class="paragraph"><p>The available options are documented in the
-<a href="../ranch_tcp">ranch_tcp(3)</a> manual.</p></div>
+<dt>TransportOpts</dt>
+<dd><p>The transport options are where the TCP options, including the listener&apos;s port number, are defined. Transport options are provided as a list of keys and values, for example <code>[{port, 8080}]</code>.</p>
+<p>The available options are documented in the <a href="../ranch_tcp">ranch_tcp(3)</a> manual.</p>
</dd>
-<dt class="hdlist1">
-ProtocolOpts
-</dt>
-<dd>
-<p>
-The protocol options are in a map containing all the options for
-the different protocols that may be involved when connecting
-to the listener, including HTTP/1.1 and HTTP/2.
-</p>
-<div class="paragraph"><p>The HTTP/1.1 options are documented in the
-<a href="../cowboy_http">cowboy_http(3)</a> manual;
-and the HTTP/2 options in
-<a href="../cowboy_http2">cowboy_http2(3)</a>.</p></div>
+<dt>ProtocolOpts</dt>
+<dd><p>The protocol options are in a map containing all the options for the different protocols that may be involved when connecting to the listener, including HTTP/1.1 and HTTP/2.</p>
+<p>The HTTP/1.1 options are documented in the <a href="../cowboy_http">cowboy_http(3)</a> manual; and the HTTP/2 options in <a href="../cowboy_http2">cowboy_http2(3)</a>.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>An ok tuple is returned on success. It contains the pid of
-the top-level supervisor for the listener.</p></div>
-<div class="paragraph"><p>An error tuple is returned on error. The error reason may
-be any Erlang term.</p></div>
-<div class="paragraph"><p>A common error is <code>eaddrinuse</code>. It indicates that the port
-configured for Cowboy is already in use.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>An ok tuple is returned on success. It contains the pid of the top-level supervisor for the listener.</p>
+<p>An error tuple is returned on error. The error reason may be any Erlang term.</p>
+<p>A common error is <code>eaddrinuse</code>. It indicates that the port configured for Cowboy is already in use.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: HTTP/2 support added.
-</p>
+<ul><li><strong>2.0</strong>: HTTP/2 support added.
</li>
-<li>
-<p>
-<strong>2.0</strong>: Function introduced. Replaces <code>cowboy:start_http/4</code>.
-</p>
+<li><strong>2.0</strong>: Function introduced. Replaces <code>cowboy:start_http/4</code>.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Start a listener</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Start a listener</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Dispatch</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_router:compile</span></span>([
- {<span style="color: #FF6600">'_'</span>, [
- {<span style="color: #FF0000">"/"</span>, <span style="color: #FF6600">toppage_h</span>, []}
+<pre><tt><font color="#009900">Dispatch</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_router:compile</font></b>([
+ {<font color="#FF6600">'_'</font>, [
+ {<font color="#FF0000">"/"</font>, <font color="#FF6600">toppage_h</font>, []}
]}
]),
-{<span style="color: #FF6600">ok</span>, <span style="color: #990000">_</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:start_clear</span></span>(<span style="color: #FF6600">example</span>, [{<span style="color: #FF6600">port</span>, <span style="color: #993399">8080</span>}], #{
- <span style="color: #0000FF">env</span> <span style="color: #990000">=&gt;</span> #{<span style="color: #0000FF">dispatch</span> <span style="color: #990000">=&gt;</span> <span style="color: #009900">Dispatch</span>}
-})<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Start a listener on a random port</div>
-<div class="content"><!-- Generator: GNU source-highlight
+{<font color="#FF6600">ok</font>, <font color="#990000">_</font>} <font color="#990000">=</font> <b><font color="#000000">cowboy:start_clear</font></b>(<font color="#FF6600">example</font>, [{<font color="#FF6600">port</font>, <font color="#993399">8080</font>}], #{
+ <font color="#0000FF">env</font> <font color="#990000">=&gt;</font> #{<font color="#0000FF">dispatch</font> <font color="#990000">=&gt;</font> <font color="#009900">Dispatch</font>}
+})<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Start a listener on a random port</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Name</span> <span style="color: #990000">=</span> <span style="color: #FF6600">example</span>,
+<pre><tt><font color="#009900">Name</font> <font color="#990000">=</font> <font color="#FF6600">example</font>,
-{<span style="color: #FF6600">ok</span>, <span style="color: #990000">_</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:start_clear</span></span>(<span style="color: #009900">Name</span>, [], #{
- <span style="color: #0000FF">env</span> <span style="color: #990000">=&gt;</span> #{<span style="color: #0000FF">dispatch</span> <span style="color: #990000">=&gt;</span> <span style="color: #009900">Dispatch</span>}
+{<font color="#FF6600">ok</font>, <font color="#990000">_</font>} <font color="#990000">=</font> <b><font color="#000000">cowboy:start_clear</font></b>(<font color="#009900">Name</font>, [], #{
+ <font color="#0000FF">env</font> <font color="#990000">=&gt;</font> #{<font color="#0000FF">dispatch</font> <font color="#990000">=&gt;</font> <font color="#009900">Dispatch</font>}
}),
-<span style="color: #009900">Port</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">ranch:get_port</span></span>(<span style="color: #009900">Name</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<font color="#009900">Port</font> <font color="#990000">=</font> <b><font color="#000000">ranch:get_port</font></b>(<font color="#009900">Name</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy">cowboy(3)</a>,
-<a href="../cowboy.start_tls">cowboy:start_tls(3)</a>,
-<a href="../cowboy.stop_listener">cowboy:stop_listener(3)</a>,
-<a href="../ranch">ranch(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy">cowboy(3)</a>, <a href="../cowboy.start_tls">cowboy:start_tls(3)</a>, <a href="../cowboy.stop_listener">cowboy:stop_listener(3)</a>, <a href="../ranch">ranch(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy.start_tls/index.html b/docs/en/cowboy/2.4/manual/cowboy.start_tls/index.html
index 009a39a5..27f8e409 100644
--- a/docs/en/cowboy/2.4/manual/cowboy.start_tls/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy.start_tls/index.html
@@ -62,153 +62,82 @@
<h1 class="lined-header"><span>cowboy:start_tls(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy:start_tls - Listen for connections using TLS</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy:start_tls - Listen for connections using TLS</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">start_tls</span></span>(<span style="color: #009900">Name</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">ranch:ref</span></span>(),
- <span style="color: #009900">TransportOpts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">ranch_ssl:opts</span></span>(),
- <span style="color: #009900">ProtocolOpts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">opts</span></span>())
- <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">ok</span>, <span style="color: #009900">ListenerPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>()}
- | {<span style="color: #FF6600">error</span>, <span style="font-weight: bold"><span style="color: #000000">any</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>Start listening for connections over a secure TLS channel.</p></div>
-<div class="paragraph"><p>Both HTTP/1.1 and HTTP/2 are supported on this listener.
-The ALPN TLS extension must be used to initiate an HTTP/2
-connection.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">start_tls</font></b>(<font color="#009900">Name</font> <font color="#990000">::</font> <b><font color="#000000">ranch:ref</font></b>(),
+ <font color="#009900">TransportOpts</font> <font color="#990000">::</font> <b><font color="#000000">ranch_ssl:opts</font></b>(),
+ <font color="#009900">ProtocolOpts</font> <font color="#990000">::</font> <b><font color="#000000">opts</font></b>())
+ <font color="#990000">-&gt;</font> {<font color="#FF6600">ok</font>, <font color="#009900">ListenerPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()}
+ | {<font color="#FF6600">error</font>, <b><font color="#000000">any</font></b>()}</tt></pre>
+</div></div>
+<p>Start listening for connections over a secure TLS channel.</p>
+<p>Both HTTP/1.1 and HTTP/2 are supported on this listener. The ALPN TLS extension must be used to initiate an HTTP/2 connection.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Name
-</dt>
-<dd>
-<p>
-The listener name is used to refer to this listener in
-future calls, for example when stopping it or when
-updating the routes defined.
-</p>
-<div class="paragraph"><p>It can be any Erlang term. An atom is generally good enough,
-for example <code>api</code>, <code>my_app_clear</code> or <code>my_app_tls</code>.</p></div>
+<dl><dt>Name</dt>
+<dd><p>The listener name is used to refer to this listener in future calls, for example when stopping it or when updating the routes defined.</p>
+<p>It can be any Erlang term. An atom is generally good enough, for example <code>api</code>, <code>my_app_clear</code> or <code>my_app_tls</code>.</p>
</dd>
-<dt class="hdlist1">
-TransportOpts
-</dt>
-<dd>
-<p>
-The transport options are where the TCP options, including
-the listener&#8217;s port number, are defined. They also contain
-the TLS options, like the server&#8217;s certificate. Transport options
-are provided as a list of keys and values, for example
-<code>[{port, 8443}, {certfile, "path/to/cert.pem"}]</code>.
-</p>
-<div class="paragraph"><p>The available options are documented in the
-<a href="../ranch_ssl">ranch_ssl(3)</a> manual.</p></div>
+<dt>TransportOpts</dt>
+<dd><p>The transport options are where the TCP options, including the listener&apos;s port number, are defined. They also contain the TLS options, like the server&apos;s certificate. Transport options are provided as a list of keys and values, for example <code>[{port, 8443}, {certfile, &quot;path/to/cert.pem&quot;}]</code>.</p>
+<p>The available options are documented in the <a href="../ranch_ssl">ranch_ssl(3)</a> manual.</p>
</dd>
-<dt class="hdlist1">
-ProtocolOpts
-</dt>
-<dd>
-<p>
-The protocol options are in a map containing all the options for
-the different protocols that may be involved when connecting
-to the listener, including HTTP/1.1 and HTTP/2.
-</p>
-<div class="paragraph"><p>The HTTP/1.1 options are documented in the
-<a href="../cowboy_http">cowboy_http(3)</a> manual;
-and the HTTP/2 options in
-<a href="../cowboy_http2">cowboy_http2(3)</a>.</p></div>
+<dt>ProtocolOpts</dt>
+<dd><p>The protocol options are in a map containing all the options for the different protocols that may be involved when connecting to the listener, including HTTP/1.1 and HTTP/2.</p>
+<p>The HTTP/1.1 options are documented in the <a href="../cowboy_http">cowboy_http(3)</a> manual; and the HTTP/2 options in <a href="../cowboy_http2">cowboy_http2(3)</a>.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>An ok tuple is returned on success. It contains the pid of
-the top-level supervisor for the listener.</p></div>
-<div class="paragraph"><p>An error tuple is returned on error. The error reason may
-be any Erlang term.</p></div>
-<div class="paragraph"><p>A common error is <code>eaddrinuse</code>. It indicates that the port
-configured for Cowboy is already in use.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>An ok tuple is returned on success. It contains the pid of the top-level supervisor for the listener.</p>
+<p>An error tuple is returned on error. The error reason may be any Erlang term.</p>
+<p>A common error is <code>eaddrinuse</code>. It indicates that the port configured for Cowboy is already in use.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: HTTP/2 support added.
-</p>
+<ul><li><strong>2.0</strong>: HTTP/2 support added.
</li>
-<li>
-<p>
-<strong>2.0</strong>: Function introduced. Replaces <code>cowboy:start_https/4</code>.
-</p>
+<li><strong>2.0</strong>: Function introduced. Replaces <code>cowboy:start_https/4</code>.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Start a listener</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Start a listener</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Dispatch</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_router:compile</span></span>([
- {<span style="color: #FF6600">'_'</span>, [
- {<span style="color: #FF0000">"/"</span>, <span style="color: #FF6600">toppage_h</span>, []}
+<pre><tt><font color="#009900">Dispatch</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_router:compile</font></b>([
+ {<font color="#FF6600">'_'</font>, [
+ {<font color="#FF0000">"/"</font>, <font color="#FF6600">toppage_h</font>, []}
]}
]),
-{<span style="color: #FF6600">ok</span>, <span style="color: #990000">_</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:start_tls</span></span>(<span style="color: #FF6600">example</span>, [
- {<span style="color: #FF6600">port</span>, <span style="color: #993399">8443</span>},
- {<span style="color: #FF6600">cert</span>, <span style="color: #FF0000">"path/to/cert.pem"</span>}
+{<font color="#FF6600">ok</font>, <font color="#990000">_</font>} <font color="#990000">=</font> <b><font color="#000000">cowboy:start_tls</font></b>(<font color="#FF6600">example</font>, [
+ {<font color="#FF6600">port</font>, <font color="#993399">8443</font>},
+ {<font color="#FF6600">cert</font>, <font color="#FF0000">"path/to/cert.pem"</font>}
], #{
- <span style="color: #0000FF">env</span> <span style="color: #990000">=&gt;</span> #{<span style="color: #0000FF">dispatch</span> <span style="color: #990000">=&gt;</span> <span style="color: #009900">Dispatch</span>}
-})<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Start a listener on a random port</div>
-<div class="content"><!-- Generator: GNU source-highlight
+ <font color="#0000FF">env</font> <font color="#990000">=&gt;</font> #{<font color="#0000FF">dispatch</font> <font color="#990000">=&gt;</font> <font color="#009900">Dispatch</font>}
+})<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Start a listener on a random port</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Name</span> <span style="color: #990000">=</span> <span style="color: #FF6600">example</span>,
+<pre><tt><font color="#009900">Name</font> <font color="#990000">=</font> <font color="#FF6600">example</font>,
-{<span style="color: #FF6600">ok</span>, <span style="color: #990000">_</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:start_tls</span></span>(<span style="color: #009900">Name</span>, [
- {<span style="color: #FF6600">cert</span>, <span style="color: #FF0000">"path/to/cert.pem"</span>}
+{<font color="#FF6600">ok</font>, <font color="#990000">_</font>} <font color="#990000">=</font> <b><font color="#000000">cowboy:start_tls</font></b>(<font color="#009900">Name</font>, [
+ {<font color="#FF6600">cert</font>, <font color="#FF0000">"path/to/cert.pem"</font>}
], #{
- <span style="color: #0000FF">env</span> <span style="color: #990000">=&gt;</span> #{<span style="color: #0000FF">dispatch</span> <span style="color: #990000">=&gt;</span> <span style="color: #009900">Dispatch</span>}
+ <font color="#0000FF">env</font> <font color="#990000">=&gt;</font> #{<font color="#0000FF">dispatch</font> <font color="#990000">=&gt;</font> <font color="#009900">Dispatch</font>}
}),
-<span style="color: #009900">Port</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">ranch:get_port</span></span>(<span style="color: #009900">Name</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<font color="#009900">Port</font> <font color="#990000">=</font> <b><font color="#000000">ranch:get_port</font></b>(<font color="#009900">Name</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy">cowboy(3)</a>,
-<a href="../cowboy.start_clear">cowboy:start_clear(3)</a>,
-<a href="../cowboy.stop_listener">cowboy:stop_listener(3)</a>,
-<a href="../ranch">ranch(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy">cowboy(3)</a>, <a href="../cowboy.start_clear">cowboy:start_clear(3)</a>, <a href="../cowboy.stop_listener">cowboy:stop_listener(3)</a>, <a href="../ranch">ranch(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy.stop_listener/index.html b/docs/en/cowboy/2.4/manual/cowboy.stop_listener/index.html
index 06b88e2d..59e0c6eb 100644
--- a/docs/en/cowboy/2.4/manual/cowboy.stop_listener/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy.stop_listener/index.html
@@ -62,87 +62,42 @@
<h1 class="lined-header"><span>cowboy:stop_listener(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy:stop_listener - Stop the given listener</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy:stop_listener - Stop the given listener</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">stop_listener</span></span>(<span style="color: #009900">Name</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">ranch:ref</span></span>())
- <span style="color: #990000">-&gt;</span> <span style="color: #FF6600">ok</span> | {<span style="color: #FF6600">error</span>, <span style="color: #FF6600">not_found</span>}<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="paragraph"><p>Stop a previously started listener.</p></div>
-<div class="paragraph"><p>Alias of <a href="../ranch.stop_listener">ranch:stop_listener(3)</a>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">stop_listener</font></b>(<font color="#009900">Name</font> <font color="#990000">::</font> <b><font color="#000000">ranch:ref</font></b>())
+ <font color="#990000">-&gt;</font> <font color="#FF6600">ok</font> | {<font color="#FF6600">error</font>, <font color="#FF6600">not_found</font>}<font color="#990000">.</font></tt></pre>
+</div></div>
+<p>Stop a previously started listener.</p>
+<p>Alias of <a href="../ranch.stop_listener">ranch:stop_listener(3)</a>.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Name
-</dt>
-<dd>
-<p>
-The name of the listener to be stopped.
-</p>
-<div class="paragraph"><p>The name of the listener is the first argument given to the
-<a href="../cowboy.start_clear">cowboy:start_clear(3)</a>,
-<a href="../cowboy.start_tls">cowboy:start_tls(3)</a> or
-<a href="../ranch.start_listener">ranch:start_listener(3)</a> function.</p></div>
+<dl><dt>Name</dt>
+<dd><p>The name of the listener to be stopped.</p>
+<p>The name of the listener is the first argument given to the <a href="../cowboy.start_clear">cowboy:start_clear(3)</a>, <a href="../cowboy.start_tls">cowboy:start_tls(3)</a> or <a href="../ranch.start_listener">ranch:start_listener(3)</a> function.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The atom <code>ok</code> is returned on success.</p></div>
-<div class="paragraph"><p>The <code>{error, not_found}</code> tuple is returned when the listener
-does not exist.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The atom <code>ok</code> is returned on success.</p>
+<p>The <code>{error, not_found}</code> tuple is returned when the listener does not exist.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<ul><li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Stop a listener</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Stop a listener</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #0000FF">ok</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:stop_listener</span></span>(<span style="color: #FF6600">example</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#0000FF">ok</font> <font color="#990000">=</font> <b><font color="#000000">cowboy:stop_listener</font></b>(<font color="#FF6600">example</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy">cowboy(3)</a>,
-<a href="../cowboy.start_clear">cowboy:start_clear(3)</a>,
-<a href="../cowboy.start_tls">cowboy:start_tls(3)</a>,
-<a href="../ranch">ranch(3)</a>,
-<a href="../ranch.start_listener">ranch:start_listener(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy">cowboy(3)</a>, <a href="../cowboy.start_clear">cowboy:start_clear(3)</a>, <a href="../cowboy.start_tls">cowboy:start_tls(3)</a>, <a href="../ranch">ranch(3)</a>, <a href="../ranch.start_listener">ranch:start_listener(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy/index.html b/docs/en/cowboy/2.4/manual/cowboy/index.html
index f9e9e279..fb723a60 100644
--- a/docs/en/cowboy/2.4/manual/cowboy/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy/index.html
@@ -62,129 +62,76 @@
<h1 class="lined-header"><span>cowboy(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy - HTTP server</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy - HTTP server</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The module <code>cowboy</code> provides convenience functions for
-manipulating Ranch listeners.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The module <code>cowboy</code> provides convenience functions for manipulating Ranch listeners.</p>
<h2 id="_exports">Exports</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="../cowboy.start_clear">cowboy:start_clear(3)</a> - Listen for connections using plain TCP
-</p>
+<ul><li><a href="../cowboy.start_clear">cowboy:start_clear(3)</a> - Listen for connections using plain TCP
</li>
-<li>
-<p>
-<a href="../cowboy.start_tls">cowboy:start_tls(3)</a> - Listen for connections using TLS
-</p>
+<li><a href="../cowboy.start_tls">cowboy:start_tls(3)</a> - Listen for connections using TLS
</li>
-<li>
-<p>
-<a href="../cowboy.stop_listener">cowboy:stop_listener(3)</a> - Stop the given listener
-</p>
+<li><a href="../cowboy.stop_listener">cowboy:stop_listener(3)</a> - Stop the given listener
</li>
-<li>
-<p>
-<a href="../cowboy.set_env">cowboy:set_env(3)</a> - Update a listener&#8217;s environment value
-</p>
+<li><a href="../cowboy.set_env">cowboy:set_env(3)</a> - Update a listener&apos;s environment value
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_types">Types</h2>
-<div class="sectionbody">
-<div class="sect2">
<h3 id="_fields">fields()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">fields</span></span>() <span style="color: #990000">::</span> [<span style="color: #009900">Name</span>
- | {<span style="color: #009900">Name</span>, <span style="color: #009900">Constraints</span>}
- | {<span style="color: #009900">Name</span>, <span style="color: #009900">Constraints</span>, <span style="color: #009900">Default</span>}]
-
-<span style="color: #009900">Name</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">atom</span></span>()
-<span style="color: #009900">Constraints</span> <span style="color: #990000">::</span> <span style="color: #009900">Constraint</span> | [<span style="color: #009900">Constraint</span>]
-<span style="color: #009900">Constraint</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_constraints:constraint</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Fields description for match operations.</p></div>
-<div class="paragraph"><p>This type is used in <a href="../cowboy_router">cowboy_router(3)</a>
-for matching bindings and in the match functions found in
-<a href="../cowboy_req">cowboy_req(3)</a>.</p></div>
-</div>
-<div class="sect2">
+<pre><tt><b><font color="#000000">fields</font></b>() <font color="#990000">::</font> [<font color="#009900">Name</font>
+ | {<font color="#009900">Name</font>, <font color="#009900">Constraints</font>}
+ | {<font color="#009900">Name</font>, <font color="#009900">Constraints</font>, <font color="#009900">Default</font>}]
+
+<font color="#009900">Name</font> <font color="#990000">::</font> <b><font color="#000080">atom</font></b>()
+<font color="#009900">Constraints</font> <font color="#990000">::</font> <font color="#009900">Constraint</font> | [<font color="#009900">Constraint</font>]
+<font color="#009900">Constraint</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_constraints:constraint</font></b>()
+<font color="#009900">Default</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()</tt></pre>
+</div></div>
+<p>Fields description for match operations.</p>
+<p>This type is used in <a href="../cowboy_router">cowboy_router(3)</a> for matching bindings and in the match functions found in <a href="../cowboy_req">cowboy_req(3)</a>.</p>
<h3 id="_http_headers">http_headers()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">http_headers</span></span>() <span style="color: #990000">::</span> #{<span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>HTTP headers.</p></div>
-</div>
-<div class="sect2">
+<pre><tt><b><font color="#000000">http_headers</font></b>() <font color="#990000">::</font> #{<b><font color="#000080">binary</font></b>() <font color="#990000">=&gt;</font> <b><font color="#000000">iodata</font></b>()}</tt></pre>
+</div></div>
+<p>HTTP headers.</p>
<h3 id="_http_status">http_status()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">http_status</span></span>() <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>() | <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>HTTP response status.</p></div>
-<div class="paragraph"><p>A binary status can be used to set a reason phrase. Note
-however that HTTP/2 only sends the status code and drops
-the reason phrase entirely.</p></div>
-</div>
-<div class="sect2">
+<pre><tt><b><font color="#000000">http_status</font></b>() <font color="#990000">::</font> <b><font color="#000000">non_neg_integer</font></b>() | <b><font color="#000080">binary</font></b>()</tt></pre>
+</div></div>
+<p>HTTP response status.</p>
+<p>A binary status can be used to set a reason phrase. Note however that HTTP/2 only sends the status code and drops the reason phrase entirely.</p>
<h3 id="_http_version">http_version()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">http_version</span></span>() <span style="color: #990000">::</span> <span style="color: #FF6600">'HTTP/2'</span> | <span style="color: #FF6600">'HTTP/1.1'</span> | <span style="color: #FF6600">'HTTP/1.0'</span></tt></pre></div></div>
-<div class="paragraph"><p>HTTP version.</p></div>
-<div class="paragraph"><p>Note that semantically, HTTP/1.1 and HTTP/2 are equivalent.</p></div>
-</div>
-<div class="sect2">
+<pre><tt><b><font color="#000000">http_version</font></b>() <font color="#990000">::</font> <font color="#FF6600">'HTTP/2'</font> | <font color="#FF6600">'HTTP/1.1'</font> | <font color="#FF6600">'HTTP/1.0'</font></tt></pre>
+</div></div>
+<p>HTTP version.</p>
+<p>Note that semantically, HTTP/1.1 and HTTP/2 are equivalent.</p>
<h3 id="_opts">opts()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">opts</span></span>() <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">map</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Options for the HTTP/1.1, HTTP/2 and Websocket protocols.</p></div>
-<div class="paragraph"><p>The protocol options are in a map containing all the options for
-the different protocols that may be involved when connecting
-to the listener, including HTTP/1.1 and HTTP/2.</p></div>
-<div class="paragraph"><p>The HTTP/1.1 options are documented in the
-<a href="../cowboy_http">cowboy_http(3)</a> manual
-and the HTTP/2 options in
-<a href="../cowboy_http2">cowboy_http2(3)</a>.</p></div>
-</div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">opts</font></b>() <font color="#990000">::</font> <b><font color="#000000">map</font></b>()</tt></pre>
+</div></div>
+<p>Options for the HTTP/1.1, HTTP/2 and Websocket protocols.</p>
+<p>The protocol options are in a map containing all the options for the different protocols that may be involved when connecting to the listener, including HTTP/1.1 and HTTP/2.</p>
+<p>The HTTP/1.1 options are documented in the <a href="../cowboy_http">cowboy_http(3)</a> manual and the HTTP/2 options in <a href="../cowboy_http2">cowboy_http2(3)</a>.</p>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="..">cowboy(7)</a>,
-<a href="../ranch">ranch(3)</a></p></div>
-</div>
-</div>
+<p><a href="..">cowboy(7)</a>, <a href="../ranch">ranch(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_app/index.html b/docs/en/cowboy/2.4/manual/cowboy_app/index.html
index ab3eecf9..11819440 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_app/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_app/index.html
@@ -62,171 +62,77 @@
<h1 class="lined-header"><span>cowboy(7)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy - Small, fast, modern HTTP server for Erlang/OTP</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy - Small, fast, modern HTTP server for Erlang/OTP</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Cowboy is an HTTP server for Erlang/OTP with support for the
-HTTP/1.1, HTTP/2 and Websocket protocols.</p></div>
-<div class="paragraph"><p>Cowboy aims to provide a complete HTTP stack. This includes
-the implementation of the HTTP RFCs but also any directly
-related standards, like Websocket or Server-Sent Events.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>Cowboy is an HTTP server for Erlang/OTP with support for the HTTP/1.1, HTTP/2 and Websocket protocols.</p>
+<p>Cowboy aims to provide a complete HTTP stack. This includes the implementation of the HTTP RFCs but also any directly related standards, like Websocket or Server-Sent Events.</p>
<h2 id="_modules">Modules</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Functions:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="../cowboy">cowboy(3)</a> - Listener management
-</p>
+<p>Functions:</p>
+<ul><li><a href="../cowboy">cowboy(3)</a> - Listener management
</li>
-<li>
-<p>
-<a href="../cowboy_req">cowboy_req(3)</a> - Request and response
-</p>
+<li><a href="../cowboy_req">cowboy_req(3)</a> - Request and response
</li>
-<li>
-<p>
-<a href="../cowboy_router">cowboy_router(3)</a> - Router
-</p>
+<li><a href="../cowboy_router">cowboy_router(3)</a> - Router
</li>
-<li>
-<p>
-<a href="../cowboy_constraints">cowboy_constraints(3)</a> - Constraints
-</p>
+<li><a href="../cowboy_constraints">cowboy_constraints(3)</a> - Constraints
</li>
-</ul></div>
-<div class="paragraph"><p>Protocols:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="../cowboy_http">cowboy_http(3)</a> - HTTP/1.1
-</p>
+</ul>
+<p>Protocols:</p>
+<ul><li><a href="../cowboy_http">cowboy_http(3)</a> - HTTP/1.1
</li>
-<li>
-<p>
-<a href="../cowboy_http2">cowboy_http2(3)</a> - HTTP/2
-</p>
+<li><a href="../cowboy_http2">cowboy_http2(3)</a> - HTTP/2
</li>
-<li>
-<p>
-<a href="../cowboy_websocket">cowboy_websocket(3)</a> - Websocket
-</p>
+<li><a href="../cowboy_websocket">cowboy_websocket(3)</a> - Websocket
</li>
-</ul></div>
-<div class="paragraph"><p>Handlers:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="../cowboy_static">cowboy_static(3)</a> - Static file handler
-</p>
+</ul>
+<p>Handlers:</p>
+<ul><li><a href="../cowboy_static">cowboy_static(3)</a> - Static file handler
</li>
-</ul></div>
-<div class="paragraph"><p>Behaviors:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="../cowboy_handler">cowboy_handler(3)</a> - Plain HTTP handlers
-</p>
+</ul>
+<p>Behaviors:</p>
+<ul><li><a href="../cowboy_handler">cowboy_handler(3)</a> - Plain HTTP handlers
</li>
-<li>
-<p>
-<a href="../cowboy_loop">cowboy_loop(3)</a> - Loop handlers
-</p>
+<li><a href="../cowboy_loop">cowboy_loop(3)</a> - Loop handlers
</li>
-<li>
-<p>
-<a href="../cowboy_middleware">cowboy_middleware(3)</a> - Middlewares
-</p>
+<li><a href="../cowboy_middleware">cowboy_middleware(3)</a> - Middlewares
</li>
-<li>
-<p>
-<a href="../cowboy_rest">cowboy_rest(3)</a> - REST handlers
-</p>
+<li><a href="../cowboy_rest">cowboy_rest(3)</a> - REST handlers
</li>
-<li>
-<p>
-<a href="../cowboy_stream">cowboy_stream(3)</a> - Stream handlers
-</p>
+<li><a href="../cowboy_stream">cowboy_stream(3)</a> - Stream handlers
</li>
-<li>
-<p>
-<a href="../cowboy_websocket">cowboy_websocket(3)</a> - Websocket handlers
-</p>
+<li><a href="../cowboy_websocket">cowboy_websocket(3)</a> - Websocket handlers
</li>
-</ul></div>
-<div class="paragraph"><p>Middlewares:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="../cowboy_router">cowboy_router(3)</a> - Router middleware
-</p>
+</ul>
+<p>Middlewares:</p>
+<ul><li><a href="../cowboy_router">cowboy_router(3)</a> - Router middleware
</li>
-<li>
-<p>
-<a href="../cowboy_handler">cowboy_handler(3)</a> - Handler middleware
-</p>
+<li><a href="../cowboy_handler">cowboy_handler(3)</a> - Handler middleware
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
+<!-- @todo http_status_codes is not linked to; what to do with it?-->
<h2 id="_dependencies">Dependencies</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="../ranch">ranch(7)</a> - Socket acceptor pool for TCP protocols
-</p>
+<ul><li><a href="../ranch">ranch(7)</a> - Socket acceptor pool for TCP protocols
</li>
-<li>
-<p>
-<a href="../cowlib">cowlib(7)</a> - Support library for manipulating Web protocols
-</p>
+<li><a href="../cowlib">cowlib(7)</a> - Support library for manipulating Web protocols
</li>
-<li>
-<p>
-ssl - Secure communication over sockets
-</p>
+<li>ssl - Secure communication over sockets
</li>
-<li>
-<p>
-crypto - Crypto functions
-</p>
+<li>crypto - Crypto functions
</li>
-</ul></div>
-<div class="paragraph"><p>All these applications must be started before the <code>cowboy</code>
-application. To start Cowboy and all dependencies at once:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+</ul>
+<p>All these applications must be started before the <code>cowboy</code> application. To start Cowboy and all dependencies at once:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #FF6600">ok</span>, <span style="color: #990000">_</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">application:ensure_all_started</span></span>(<span style="color: #FF6600">cowboy</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#990000">_</font>} <font color="#990000">=</font> <b><font color="#000000">application:ensure_all_started</font></b>(<font color="#FF6600">cowboy</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_environment">Environment</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The <code>cowboy</code> application does not define any application
-environment configuration parameters.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The <code>cowboy</code> application does not define any application environment configuration parameters.</p>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../ranch">ranch(7)</a>,
-<a href="../cowlib">cowlib(7)</a></p></div>
-</div>
-</div>
+<p><a href="../ranch">ranch(7)</a>, <a href="../cowlib">cowlib(7)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_constraints.int/index.html b/docs/en/cowboy/2.4/manual/cowboy_constraints.int/index.html
index aa888d30..38536c3f 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_constraints.int/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_constraints.int/index.html
@@ -62,92 +62,52 @@
<h1 class="lined-header"><span>cowboy_constraints:int(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_constraints:int - Integer constraint</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_constraints:int - Integer constraint</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Constraint functions implement a number of different operations.</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<p>Constraint functions implement a number of different operations.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">int</span></span>(<span style="color: #FF6600">forward</span>, <span style="color: #009900">Bin</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Int</span>} | {<span style="color: #FF6600">error</span>, <span style="color: #FF6600">not_an_integer</span>}
+<pre><tt><b><font color="#000000">int</font></b>(<font color="#FF6600">forward</font>, <font color="#009900">Bin</font>) <font color="#990000">-&gt;</font> {<font color="#FF6600">ok</font>, <font color="#009900">Int</font>} | {<font color="#FF6600">error</font>, <font color="#FF6600">not_an_integer</font>}
-<span style="color: #009900">Bin</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()
-<span style="color: #009900">Int</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">integer</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Validate and convert the text representation of an integer.</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<font color="#009900">Bin</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()
+<font color="#009900">Int</font> <font color="#990000">::</font> <b><font color="#000080">integer</font></b>()</tt></pre>
+</div></div>
+<p>Validate and convert the text representation of an integer.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">int</span></span>(<span style="color: #FF6600">reverse</span>, <span style="color: #009900">Int</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Bin</span>} | {<span style="color: #FF6600">error</span>, <span style="color: #FF6600">not_an_integer</span>}</tt></pre></div></div>
-<div class="paragraph"><p>Convert an integer back to its text representation.</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">int</font></b>(<font color="#FF6600">reverse</font>, <font color="#009900">Int</font>) <font color="#990000">-&gt;</font> {<font color="#FF6600">ok</font>, <font color="#009900">Bin</font>} | {<font color="#FF6600">error</font>, <font color="#FF6600">not_an_integer</font>}</tt></pre>
+</div></div>
+<p>Convert an integer back to its text representation.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">int</span></span>(<span style="color: #FF6600">format_error</span>, <span style="color: #009900">Error</span>) <span style="color: #990000">-&gt;</span> <span style="color: #009900">HumanReadable</span>
+<pre><tt><b><font color="#000000">int</font></b>(<font color="#FF6600">format_error</font>, <font color="#009900">Error</font>) <font color="#990000">-&gt;</font> <font color="#009900">HumanReadable</font>
-<span style="color: #009900">Error</span> <span style="color: #990000">::</span> {<span style="color: #FF6600">not_an_integer</span>, <span style="color: #009900">Bin</span> | <span style="color: #009900">Int</span>}
-<span style="color: #009900">HumanReadable</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iolist</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Generate a human-readable error message.</p></div>
-</div>
-</div>
-<div class="sect1">
+<font color="#009900">Error</font> <font color="#990000">::</font> {<font color="#FF6600">not_an_integer</font>, <font color="#009900">Bin</font> | <font color="#009900">Int</font>}
+<font color="#009900">HumanReadable</font> <font color="#990000">::</font> <b><font color="#000000">iolist</font></b>()</tt></pre>
+</div></div>
+<p>Generate a human-readable error message.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Arguments vary depending on the operation. Constraint
-functions always take the operation type as first argument,
-and the value as second argument.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>Arguments vary depending on the operation. Constraint functions always take the operation type as first argument, and the value as second argument.</p>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The return value varies depending on the operation.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The return value varies depending on the operation.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Interface modified to allow for a variety of operations.
-</p>
+<ul><li><strong>2.0</strong>: Interface modified to allow for a variety of operations.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Constraint introduced.
-</p>
+<li><strong>1.0</strong>: Constraint introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This function is not meant to be called directly.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This function is not meant to be called directly.</p>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_constraints">cowboy_constraints(3)</a>,
-<a href="../cowboy_constraints.nonempty">cowboy_constraints:nonempty(3)</a>,
-<a href="../cowboy_router">cowboy_router(3)</a>,
-<a href="../cowboy_req.match_cookies">cowboy_req:match_cookies(3)</a>,
-<a href="../cowboy_req.match_qs">cowboy_req:match_qs(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_constraints">cowboy_constraints(3)</a>, <a href="../cowboy_constraints.nonempty">cowboy_constraints:nonempty(3)</a>, <a href="../cowboy_router">cowboy_router(3)</a>, <a href="../cowboy_req.match_cookies">cowboy_req:match_cookies(3)</a>, <a href="../cowboy_req.match_qs">cowboy_req:match_qs(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_constraints.nonempty/index.html b/docs/en/cowboy/2.4/manual/cowboy_constraints.nonempty/index.html
index 25112067..e0369700 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_constraints.nonempty/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_constraints.nonempty/index.html
@@ -62,91 +62,51 @@
<h1 class="lined-header"><span>cowboy_constraints:nonempty(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_constraints:nonempty - Non-empty constraint</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_constraints:nonempty - Non-empty constraint</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Constraint functions implement a number of different operations.</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<p>Constraint functions implement a number of different operations.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">nonempty</span></span>(<span style="color: #FF6600">forward</span> | <span style="color: #FF6600">reverse</span>, <span style="color: #990000">&lt;&lt;&gt;&gt;</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">error</span>, <span style="color: #FF6600">empty</span>}</tt></pre></div></div>
-<div class="paragraph"><p>Reject empty values.</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">nonempty</font></b>(<font color="#FF6600">forward</font> | <font color="#FF6600">reverse</font>, <font color="#990000">&lt;&lt;&gt;&gt;</font>) <font color="#990000">-&gt;</font> {<font color="#FF6600">error</font>, <font color="#FF6600">empty</font>}</tt></pre>
+</div></div>
+<p>Reject empty values.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">nonempty</span></span>(<span style="color: #FF6600">forward</span> | <span style="color: #FF6600">reverse</span>, <span style="color: #009900">Bin</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Bin</span>}
+<pre><tt><b><font color="#000000">nonempty</font></b>(<font color="#FF6600">forward</font> | <font color="#FF6600">reverse</font>, <font color="#009900">Bin</font>) <font color="#990000">-&gt;</font> {<font color="#FF6600">ok</font>, <font color="#009900">Bin</font>}
-<span style="color: #009900">Bin</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Accept any other binary values.</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<font color="#009900">Bin</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()</tt></pre>
+</div></div>
+<p>Accept any other binary values.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">nonempty</span></span>(<span style="color: #FF6600">format_error</span>, <span style="color: #009900">Error</span>) <span style="color: #990000">-&gt;</span> <span style="color: #009900">HumanReadable</span>
+<pre><tt><b><font color="#000000">nonempty</font></b>(<font color="#FF6600">format_error</font>, <font color="#009900">Error</font>) <font color="#990000">-&gt;</font> <font color="#009900">HumanReadable</font>
-<span style="color: #009900">Error</span> <span style="color: #990000">::</span> {<span style="color: #FF6600">empty</span>, <span style="color: #009900">Bin</span>}
-<span style="color: #009900">HumanReadable</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iolist</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Generate a human-readable error message.</p></div>
-</div>
-</div>
-<div class="sect1">
+<font color="#009900">Error</font> <font color="#990000">::</font> {<font color="#FF6600">empty</font>, <font color="#009900">Bin</font>}
+<font color="#009900">HumanReadable</font> <font color="#990000">::</font> <b><font color="#000000">iolist</font></b>()</tt></pre>
+</div></div>
+<p>Generate a human-readable error message.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Arguments vary depending on the operation. Constraint
-functions always take the operation type as first argument,
-and the value as second argument.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>Arguments vary depending on the operation. Constraint functions always take the operation type as first argument, and the value as second argument.</p>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The return value varies depending on the operation.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The return value varies depending on the operation.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Interface modified to allow for a variety of operations.
-</p>
+<ul><li><strong>2.0</strong>: Interface modified to allow for a variety of operations.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Constraint introduced.
-</p>
+<li><strong>1.0</strong>: Constraint introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This function is not meant to be called directly.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This function is not meant to be called directly.</p>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_constraints">cowboy_constraints(3)</a>,
-<a href="../cowboy_constraints.int">cowboy_constraints:int(3)</a>,
-<a href="../cowboy_router">cowboy_router(3)</a>,
-<a href="../cowboy_req.match_cookies">cowboy_req:match_cookies(3)</a>,
-<a href="../cowboy_req.match_qs">cowboy_req:match_qs(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_constraints">cowboy_constraints(3)</a>, <a href="../cowboy_constraints.int">cowboy_constraints:int(3)</a>, <a href="../cowboy_router">cowboy_router(3)</a>, <a href="../cowboy_req.match_cookies">cowboy_req:match_cookies(3)</a>, <a href="../cowboy_req.match_qs">cowboy_req:match_qs(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_constraints/index.html b/docs/en/cowboy/2.4/manual/cowboy_constraints/index.html
index 09db9803..82c7f1a2 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_constraints/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_constraints/index.html
@@ -62,84 +62,43 @@
<h1 class="lined-header"><span>cowboy_constraints(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_constraints - Constraints</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_constraints - Constraints</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The module <code>cowboy_constraints</code> defines the built-in
-constraints in Cowboy and provides an interface for
-manipulating these constraints.</p></div>
-<div class="paragraph"><p>Constraints are functions that define what type of
-input is allowed. They are used throughout Cowboy,
-from the router to query strings to cookies.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The module <code>cowboy_constraints</code> defines the built-in constraints in Cowboy and provides an interface for manipulating these constraints.</p>
+<p>Constraints are functions that define what type of input is allowed. They are used throughout Cowboy, from the router to query strings to cookies.</p>
<h2 id="_exports">Exports</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Built-in constraints:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="../cowboy_constraints.int">cowboy_constraints:int(3)</a> - Integer constraint
-</p>
+<p>Built-in constraints:</p>
+<ul><li><a href="../cowboy_constraints.int">cowboy_constraints:int(3)</a> - Integer constraint
</li>
-<li>
-<p>
-<a href="../cowboy_constraints.nonempty">cowboy_constraints:nonempty(3)</a> - Non-empty constraint
-</p>
+<li><a href="../cowboy_constraints.nonempty">cowboy_constraints:nonempty(3)</a> - Non-empty constraint
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_types">Types</h2>
-<div class="sectionbody">
-<div class="sect2">
<h3 id="_constraint">constraint()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">constraint</span></span>() <span style="color: #990000">::</span> <span style="color: #FF6600">int</span> | <span style="color: #FF6600">nonempty</span> | <span style="font-weight: bold"><span style="color: #0000FF">fun</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>A constraint function.</p></div>
-<div class="paragraph"><p>The atom constraints are built-in, see the corresponding
-function in the exports list above.</p></div>
-</div>
-<div class="sect2">
+<pre><tt><b><font color="#000000">constraint</font></b>() <font color="#990000">::</font> <font color="#FF6600">int</font> | <font color="#FF6600">nonempty</font> | <b><font color="#0000FF">fun</font></b>()</tt></pre>
+</div></div>
+<p>A constraint function.</p>
+<p>The atom constraints are built-in, see the corresponding function in the exports list above.</p>
<h3 id="_reason">reason()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">reason</span></span>() <span style="color: #990000">::</span> {<span style="font-weight: bold"><span style="color: #000000">constraint</span></span>(), <span style="color: #009900">Reason</span>, <span style="color: #009900">Value</span>}
-
-<span style="color: #009900">Reason</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()
-<span style="color: #009900">Value</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Reason for the constraint failure.</p></div>
-<div class="paragraph"><p>It includes the constraint function in question,
-a machine-readable error reason and the value that
-made the constraint fail.</p></div>
-</div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">reason</font></b>() <font color="#990000">::</font> {<b><font color="#000000">constraint</font></b>(), <font color="#009900">Reason</font>, <font color="#009900">Value</font>}
+
+<font color="#009900">Reason</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()
+<font color="#009900">Value</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()</tt></pre>
+</div></div>
+<p>Reason for the constraint failure.</p>
+<p>It includes the constraint function in question, a machine-readable error reason and the value that made the constraint fail.</p>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="..">cowboy(7)</a>,
-<a href="../cowboy">cowboy(3)</a>,
-<a href="../cowboy_router">cowboy_router(3)</a>,
-<a href="../cowboy_req.match_cookies">cowboy_req:match_cookies(3)</a>,
-<a href="../cowboy_req.match_qs">cowboy_req:match_qs(3)</a></p></div>
-</div>
-</div>
+<p><a href="..">cowboy(7)</a>, <a href="../cowboy">cowboy(3)</a>, <a href="../cowboy_router">cowboy_router(3)</a>, <a href="../cowboy_req.match_cookies">cowboy_req:match_cookies(3)</a>, <a href="../cowboy_req.match_qs">cowboy_req:match_qs(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_handler.terminate/index.html b/docs/en/cowboy/2.4/manual/cowboy_handler.terminate/index.html
index 2c010b6a..f677bbab 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_handler.terminate/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_handler.terminate/index.html
@@ -62,109 +62,54 @@
<h1 class="lined-header"><span>cowboy_handler:terminate(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_handler:terminate - Terminate the handler</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_handler:terminate - Terminate the handler</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">terminate</span></span>(<span style="color: #009900">Reason</span>, <span style="color: #009900">PartialReq</span>, <span style="color: #009900">State</span>, <span style="color: #009900">Handler</span>) <span style="color: #990000">-&gt;</span> <span style="color: #FF6600">ok</span>
-
-<span style="color: #009900">Reason</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()
-<span style="color: #009900">PartialReq</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">map</span></span>()
-<span style="color: #009900">State</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()
-<span style="color: #009900">Handler</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">module</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Call the optional terminate callback if it is defined.</p></div>
-<div class="paragraph"><p>Make sure to use this function at the end of the execution
-of modules that implement custom handler behaviors.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">terminate</font></b>(<font color="#009900">Reason</font>, <font color="#009900">PartialReq</font>, <font color="#009900">State</font>, <font color="#009900">Handler</font>) <font color="#990000">-&gt;</font> <font color="#FF6600">ok</font>
+
+<font color="#009900">Reason</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()
+<font color="#009900">PartialReq</font> <font color="#990000">::</font> <b><font color="#000000">map</font></b>()
+<font color="#009900">State</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()
+<font color="#009900">Handler</font> <font color="#990000">::</font> <b><font color="#000000">module</font></b>()</tt></pre>
+</div></div>
+<p>Call the optional terminate callback if it is defined.</p>
+<p>Make sure to use this function at the end of the execution of modules that implement custom handler behaviors.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Reason
-</dt>
-<dd>
-<p>
-Reason for termination.
-</p>
+<dl><dt>Reason</dt>
+<dd><p>Reason for termination.</p>
</dd>
-<dt class="hdlist1">
-PartialReq
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
-<div class="paragraph"><p>It is possible to remove fields from the Req object to save memory
-when the handler has no concept of requests/responses. The only
-requirement is that a map is provided.</p></div>
+<dt>PartialReq</dt>
+<dd><p>The Req object.</p>
+<p>It is possible to remove fields from the Req object to save memory when the handler has no concept of requests/responses. The only requirement is that a map is provided.</p>
</dd>
-<dt class="hdlist1">
-State
-</dt>
-<dd>
-<p>
-Handler state.
-</p>
+<dt>State</dt>
+<dd><p>Handler state.</p>
</dd>
-<dt class="hdlist1">
-Handler
-</dt>
-<dd>
-<p>
-Handler module.
-</p>
+<dt>Handler</dt>
+<dd><p>Handler module.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The atom <code>ok</code> is always returned. It can be safely ignored.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The atom <code>ok</code> is always returned. It can be safely ignored.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Function introduced.
-</p>
+<ul><li><strong>2.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Terminate a handler normally</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Terminate a handler normally</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">cowboy_handler:terminate</span></span>(<span style="font-weight: bold"><span style="color: #000080">normal</span></span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>, <span style="color: #009900">Handler</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">cowboy_handler:terminate</font></b>(<b><font color="#000080">normal</font></b>, <font color="#009900">Req</font>, <font color="#009900">State</font>, <font color="#009900">Handler</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_handler">cowboy_handler(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_handler">cowboy_handler(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_handler/index.html b/docs/en/cowboy/2.4/manual/cowboy_handler/index.html
index 5414b066..e6a0c3f4 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_handler/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_handler/index.html
@@ -62,96 +62,46 @@
<h1 class="lined-header"><span>cowboy_handler(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_handler - Plain HTTP handlers</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_handler - Plain HTTP handlers</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The <code>cowboy_handler</code> middleware executes the handler selected
-by the router or any other preceding middleware.</p></div>
-<div class="paragraph"><p>This middleware takes the handler module and initial state
-from the <code>handler</code> and <code>handler_opts</code> environment values,
-respectively. On completion, it adds a <code>result</code> value to
-the middleware environment, containing the return value
-of the <code>terminate/3</code> callback (if defined) and <code>ok</code> otherwise.</p></div>
-<div class="paragraph"><p>This module also defines a callback interface for handling
-HTTP requests.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The <code>cowboy_handler</code> middleware executes the handler selected by the router or any other preceding middleware.</p>
+<p>This middleware takes the handler module and initial state from the <code>handler</code> and <code>handler_opts</code> environment values, respectively. On completion, it adds a <code>result</code> value to the middleware environment, containing the return value of the <code>terminate/3</code> callback (if defined) and <code>ok</code> otherwise.</p>
+<p>This module also defines a callback interface for handling HTTP requests.</p>
<h2 id="_callbacks">Callbacks</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Plain HTTP handlers implement the following interface:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<p>Plain HTTP handlers implement the following interface:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">init</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
-
-<span style="font-weight: bold"><span style="color: #000000">terminate</span></span>(<span style="color: #009900">Reason</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> <span style="color: #FF6600">ok</span> <span style="font-style: italic"><span style="color: #9A1900">%% optional</span></span>
-
-<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()
-<span style="color: #009900">State</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()
-<span style="color: #009900">Reason</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">normal</span></span>
- | {<span style="color: #FF6600">crash</span>, <span style="color: #FF6600">error</span> | <span style="font-weight: bold"><span style="color: #000080">exit</span></span> | <span style="font-weight: bold"><span style="color: #000080">throw</span></span>, <span style="font-weight: bold"><span style="color: #000000">any</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>These two callbacks are common to all handlers.</p></div>
-<div class="paragraph"><p>Plain HTTP handlers do all their work in the <code>init/2</code>
-callback. Returning <code>ok</code> terminates the handler. If no
-response is sent, Cowboy will send a <code>204 No Content</code>.</p></div>
-<div class="paragraph"><p>The optional <code>terminate/3</code> callback will ultimately be called
-with the reason for the termination of the handler.
-Cowboy will terminate the process right after this. There
-is no need to perform any cleanup in this callback.</p></div>
-<div class="paragraph"><p>The following terminate reasons are defined for plain HTTP
-handlers:</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-normal
-</dt>
-<dd>
-<p>
- The connection was closed normally.
-</p>
+<pre><tt><b><font color="#000000">init</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#FF6600">ok</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
+
+<b><font color="#000000">terminate</font></b>(<font color="#009900">Reason</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> <font color="#FF6600">ok</font> <i><font color="#9A1900">%% optional</font></i>
+
+<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()
+<font color="#009900">State</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()
+<font color="#009900">Reason</font> <font color="#990000">::</font> <b><font color="#000080">normal</font></b>
+ | {<font color="#FF6600">crash</font>, <font color="#FF6600">error</font> | <b><font color="#000080">exit</font></b> | <b><font color="#000080">throw</font></b>, <b><font color="#000000">any</font></b>()}</tt></pre>
+</div></div>
+<p>These two callbacks are common to all handlers.</p>
+<p>Plain HTTP handlers do all their work in the <code>init/2</code> callback. Returning <code>ok</code> terminates the handler. If no response is sent, Cowboy will send a <code>204 No Content</code>.</p>
+<p>The optional <code>terminate/3</code> callback will ultimately be called with the reason for the termination of the handler. Cowboy will terminate the process right after this. There is no need to perform any cleanup in this callback.</p>
+<p>The following terminate reasons are defined for plain HTTP handlers:</p>
+<dl><dt>normal</dt>
+<dd><p>The connection was closed normally.</p>
</dd>
-<dt class="hdlist1">
-{crash, Class, Reason}
-</dt>
-<dd>
-<p>
- A crash occurred in the handler. <code>Class</code> and <code>Reason</code> can be
- used to obtain more information about the crash. The function
- <code>erlang:get_stacktrace/0</code> can also be called to obtain the
- stacktrace of the process when the crash occurred.
-</p>
+<dt>{crash, Class, Reason}</dt>
+<dd><p>A crash occurred in the handler. <code>Class</code> and <code>Reason</code> can be used to obtain more information about the crash. The function <code>erlang:get_stacktrace/0</code> can also be called to obtain the stacktrace of the process when the crash occurred.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_exports">Exports</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The following function should be called by modules implementing
-custom handlers to execute the optional terminate callback:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="../cowboy_handler.terminate">cowboy_handler:terminate(3)</a> - Terminate the handler
-</p>
+<p>The following function should be called by modules implementing custom handlers to execute the optional terminate callback:</p>
+<ul><li><a href="../cowboy_handler.terminate">cowboy_handler:terminate(3)</a> - Terminate the handler
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="..">cowboy(7)</a></p></div>
-</div>
-</div>
+<p><a href="..">cowboy(7)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_http/index.html b/docs/en/cowboy/2.4/manual/cowboy_http/index.html
index d7304e5a..467563e1 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_http/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_http/index.html
@@ -62,255 +62,116 @@
<h1 class="lined-header"><span>cowboy_http(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_http - HTTP/1.1</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_http - HTTP/1.1</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The module <code>cowboy_http</code> implements HTTP/1.1 and HTTP/1.0
-as a Ranch protocol.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The module <code>cowboy_http</code> implements HTTP/1.1 and HTTP/1.0 as a Ranch protocol.</p>
<h2 id="_options">Options</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<!-- @todo Might be worth moving cowboy_clear/tls/stream_h options-->
+<!-- to their respective manual, when they are added.-->
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">opts</span></span>() <span style="color: #990000">::</span> #{
- <span style="color: #0000FF">connection_type</span> <span style="color: #990000">=&gt;</span> <span style="color: #FF6600">worker</span> | <span style="color: #FF6600">supervisor</span>,
- <span style="color: #0000FF">env</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_middleware:env</span></span>(),
- <span style="color: #0000FF">idle_timeout</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>(),
- <span style="color: #0000FF">inactivity_timeout</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>(),
- <span style="color: #0000FF">max_empty_lines</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
- <span style="color: #0000FF">max_header_name_length</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
- <span style="color: #0000FF">max_header_value_length</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
- <span style="color: #0000FF">max_headers</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
- <span style="color: #0000FF">max_keepalive</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
- <span style="color: #0000FF">max_method_length</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
- <span style="color: #0000FF">max_request_line_length</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
- <span style="color: #0000FF">max_skip_body_length</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
- <span style="color: #0000FF">middlewares</span> <span style="color: #990000">=&gt;</span> [<span style="font-weight: bold"><span style="color: #000000">module</span></span>()],
- <span style="color: #0000FF">request_timeout</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>(),
- <span style="color: #000080">shutdown</span><span style="color: #009900">_timeout</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>(),
- <span style="color: #0000FF">stream_handlers</span> <span style="color: #990000">=&gt;</span> [<span style="font-weight: bold"><span style="color: #000000">module</span></span>()]
-}</tt></pre></div></div>
-<div class="paragraph"><p>Configuration for the HTTP/1.1 protocol.</p></div>
-<div class="paragraph"><p>This configuration is passed to Cowboy when starting listeners
-using <code>cowboy:start_clear/3</code> or <code>cowboy:start_tls/3</code> functions.</p></div>
-<div class="paragraph"><p>It can be updated without restarting listeners using the
-Ranch functions <code>ranch:get_protocol_options/1</code> and
-<code>ranch:set_protocol_options/2</code>.</p></div>
-<div class="paragraph"><p>The default value is given next to the option name:</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-connection_type (supervisor)
-</dt>
-<dd>
-<p>
- Whether the connection process also acts as a supervisor.
-</p>
-</dd>
-<dt class="hdlist1">
-env (#{})
-</dt>
-<dd>
-<p>
- Middleware environment.
-</p>
-</dd>
-<dt class="hdlist1">
-idle_timeout (60000)
-</dt>
-<dd>
-<p>
- Time in ms with no data received before Cowboy closes the connection.
-</p>
-</dd>
-<dt class="hdlist1">
-inactivity_timeout (300000)
-</dt>
-<dd>
-<p>
- Time in ms with nothing received at all before Cowboy closes the connection.
-</p>
-</dd>
-<dt class="hdlist1">
-max_empty_lines (5)
-</dt>
-<dd>
-<p>
- Maximum number of empty lines before a request.
-</p>
-</dd>
-<dt class="hdlist1">
-max_header_name_length (64)
-</dt>
-<dd>
-<p>
- Maximum length of header names.
-</p>
-</dd>
-<dt class="hdlist1">
-max_header_value_length (4096)
-</dt>
-<dd>
-<p>
- Maximum length of header values.
-</p>
-</dd>
-<dt class="hdlist1">
-max_headers (100)
-</dt>
-<dd>
-<p>
- Maximum number of headers allowed per request.
-</p>
-</dd>
-<dt class="hdlist1">
-max_keepalive (100)
-</dt>
-<dd>
-<p>
- Maximum number of requests allowed per connection.
-</p>
-</dd>
-<dt class="hdlist1">
-max_method_length (32)
-</dt>
-<dd>
-<p>
- Maximum length of the method.
-</p>
-</dd>
-<dt class="hdlist1">
-max_request_line_length (8000)
-</dt>
-<dd>
-<p>
- Maximum length of the request line.
-</p>
-</dd>
-<dt class="hdlist1">
-max_skip_body_length (1000000)
-</dt>
-<dd>
-<p>
- Maximum length Cowboy is willing to skip when the user code did not read the body fully.
- When the remaining length is too large or unknown Cowboy will close the connection.
-</p>
-</dd>
-<dt class="hdlist1">
-middlewares ([cowboy_router, cowboy_handler])
-</dt>
-<dd>
-<p>
- Middlewares to run for every request.
-</p>
-</dd>
-<dt class="hdlist1">
-request_timeout (5000)
-</dt>
-<dd>
-<p>
- Time in ms with no requests before Cowboy closes the connection.
-</p>
-</dd>
-<dt class="hdlist1">
-shutdown_timeout (5000)
-</dt>
-<dd>
-<p>
- Time in ms Cowboy will wait for child processes to shut down before killing them.
-</p>
-</dd>
-<dt class="hdlist1">
-stream_handlers ([cowboy_stream_h])
-</dt>
-<dd>
-<p>
- Ordered list of stream handlers that will handle all stream events.
-</p>
-</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">opts</font></b>() <font color="#990000">::</font> #{
+ <font color="#0000FF">connection_type</font> <font color="#990000">=&gt;</font> <font color="#FF6600">worker</font> | <font color="#FF6600">supervisor</font>,
+ <font color="#0000FF">env</font> <font color="#990000">=&gt;</font> <b><font color="#000000">cowboy_middleware:env</font></b>(),
+ <font color="#0000FF">idle_timeout</font> <font color="#990000">=&gt;</font> <b><font color="#000000">timeout</font></b>(),
+ <font color="#0000FF">inactivity_timeout</font> <font color="#990000">=&gt;</font> <b><font color="#000000">timeout</font></b>(),
+ <font color="#0000FF">max_empty_lines</font> <font color="#990000">=&gt;</font> <b><font color="#000000">non_neg_integer</font></b>(),
+ <font color="#0000FF">max_header_name_length</font> <font color="#990000">=&gt;</font> <b><font color="#000000">non_neg_integer</font></b>(),
+ <font color="#0000FF">max_header_value_length</font> <font color="#990000">=&gt;</font> <b><font color="#000000">non_neg_integer</font></b>(),
+ <font color="#0000FF">max_headers</font> <font color="#990000">=&gt;</font> <b><font color="#000000">non_neg_integer</font></b>(),
+ <font color="#0000FF">max_keepalive</font> <font color="#990000">=&gt;</font> <b><font color="#000000">non_neg_integer</font></b>(),
+ <font color="#0000FF">max_method_length</font> <font color="#990000">=&gt;</font> <b><font color="#000000">non_neg_integer</font></b>(),
+ <font color="#0000FF">max_request_line_length</font> <font color="#990000">=&gt;</font> <b><font color="#000000">non_neg_integer</font></b>(),
+ <font color="#0000FF">max_skip_body_length</font> <font color="#990000">=&gt;</font> <b><font color="#000000">non_neg_integer</font></b>(),
+ <font color="#0000FF">middlewares</font> <font color="#990000">=&gt;</font> [<b><font color="#000000">module</font></b>()],
+ <font color="#0000FF">request_timeout</font> <font color="#990000">=&gt;</font> <b><font color="#000000">timeout</font></b>(),
+ <font color="#000080">shutdown</font><font color="#009900">_timeout</font> <font color="#990000">=&gt;</font> <b><font color="#000000">timeout</font></b>(),
+ <font color="#0000FF">stream_handlers</font> <font color="#990000">=&gt;</font> [<b><font color="#000000">module</font></b>()]
+}</tt></pre>
+</div></div>
+<p>Configuration for the HTTP/1.1 protocol.</p>
+<p>This configuration is passed to Cowboy when starting listeners using <code>cowboy:start_clear/3</code> or <code>cowboy:start_tls/3</code> functions.</p>
+<p>It can be updated without restarting listeners using the Ranch functions <code>ranch:get_protocol_options/1</code> and <code>ranch:set_protocol_options/2</code>.</p>
+<p>The default value is given next to the option name:</p>
+<dl><dt>connection_type (supervisor)</dt>
+<dd><p>Whether the connection process also acts as a supervisor.</p>
+</dd>
+<dt>env (#{})</dt>
+<dd><p>Middleware environment.</p>
+</dd>
+<dt>idle_timeout (60000)</dt>
+<dd><p>Time in ms with no data received before Cowboy closes the connection.</p>
+</dd>
+<dt>inactivity_timeout (300000)</dt>
+<dd><p>Time in ms with nothing received at all before Cowboy closes the connection.</p>
+</dd>
+<dt>max_empty_lines (5)</dt>
+<dd><p>Maximum number of empty lines before a request.</p>
+</dd>
+<dt>max_header_name_length (64)</dt>
+<dd><p>Maximum length of header names.</p>
+</dd>
+<dt>max_header_value_length (4096)</dt>
+<dd><p>Maximum length of header values.</p>
+</dd>
+<dt>max_headers (100)</dt>
+<dd><p>Maximum number of headers allowed per request.</p>
+</dd>
+<dt>max_keepalive (100)</dt>
+<dd><p>Maximum number of requests allowed per connection.</p>
+</dd>
+<dt>max_method_length (32)</dt>
+<dd><p>Maximum length of the method.</p>
+</dd>
+<dt>max_request_line_length (8000)</dt>
+<dd><p>Maximum length of the request line.</p>
+</dd>
+<dt>max_skip_body_length (1000000)</dt>
+<dd><p>Maximum length Cowboy is willing to skip when the user code did not read the body fully. When the remaining length is too large or unknown Cowboy will close the connection.</p>
+</dd>
+<dt>middlewares ([cowboy_router, cowboy_handler])</dt>
+<dd><p>Middlewares to run for every request.</p>
+</dd>
+<dt>request_timeout (5000)</dt>
+<dd><p>Time in ms with no requests before Cowboy closes the connection.</p>
+</dd>
+<dt>shutdown_timeout (5000)</dt>
+<dd><p>Time in ms Cowboy will wait for child processes to shut down before killing them.</p>
+</dd>
+<dt>stream_handlers ([cowboy_stream_h])</dt>
+<dd><p>Ordered list of stream handlers that will handle all stream events.</p>
+</dd>
+</dl>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.2</strong>: The <code>max_skip_body_length</code> option was added.
-</p>
+<ul><li><strong>2.2</strong>: The <code>max_skip_body_length</code> option was added.
</li>
-<li>
-<p>
-<strong>2.0</strong>: The <code>timeout</code> option was renamed <code>request_timeout</code>.
-</p>
+<li><strong>2.0</strong>: The <code>timeout</code> option was renamed <code>request_timeout</code>.
</li>
-<li>
-<p>
-<strong>2.0</strong>: The <code>idle_timeout</code>, <code>inactivity_timeout</code> and <code>shutdown_timeout</code> options were added.
-</p>
+<li><strong>2.0</strong>: The <code>idle_timeout</code>, <code>inactivity_timeout</code> and <code>shutdown_timeout</code> options were added.
</li>
-<li>
-<p>
-<strong>2.0</strong>: The <code>max_method_length</code> option was added.
-</p>
+<li><strong>2.0</strong>: The <code>max_method_length</code> option was added.
</li>
-<li>
-<p>
-<strong>2.0</strong>: The <code>max_request_line_length</code> default was increased from 4096 to 8000.
-</p>
+<li><strong>2.0</strong>: The <code>max_request_line_length</code> default was increased from 4096 to 8000.
</li>
-<li>
-<p>
-<strong>2.0</strong>: The <code>connection_type</code> option was added.
-</p>
+<li><strong>2.0</strong>: The <code>connection_type</code> option was added.
</li>
-<li>
-<p>
-<strong>2.0</strong>: The <code>env</code> option is now a map instead of a proplist.
-</p>
+<li><strong>2.0</strong>: The <code>env</code> option is now a map instead of a proplist.
</li>
-<li>
-<p>
-<strong>2.0</strong>: The <code>stream_handlers</code> option was added.
-</p>
+<li><strong>2.0</strong>: The <code>stream_handlers</code> option was added.
</li>
-<li>
-<p>
-<strong>2.0</strong>: The <code>compress</code> option was removed in favor of the <code>cowboy_compress_h</code> stream handler.
-</p>
+<li><strong>2.0</strong>: The <code>compress</code> option was removed in favor of the <code>cowboy_compress_h</code> stream handler.
</li>
-<li>
-<p>
-<strong>2.0</strong>: Options are now a map instead of a proplist.
-</p>
+<li><strong>2.0</strong>: Options are now a map instead of a proplist.
</li>
-<li>
-<p>
-<strong>2.0</strong>: Protocol introduced. Replaces <code>cowboy_protocol</code>.
-</p>
+<li><strong>2.0</strong>: Protocol introduced. Replaces <code>cowboy_protocol</code>.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="..">cowboy(7)</a>,
-<a href="../cowboy_http2">cowboy_http2(3)</a>,
-<a href="../cowboy_websocket">cowboy_websocket(3)</a></p></div>
-</div>
-</div>
+<p><a href="..">cowboy(7)</a>, <a href="../cowboy_http2">cowboy_http2(3)</a>, <a href="../cowboy_websocket">cowboy_websocket(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_http2/index.html b/docs/en/cowboy/2.4/manual/cowboy_http2/index.html
index ec1b8d28..9b915b91 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_http2/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_http2/index.html
@@ -62,243 +62,102 @@
<h1 class="lined-header"><span>cowboy_http2(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_http2 - HTTP/2</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_http2 - HTTP/2</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The module <code>cowboy_http2</code> implements HTTP/2
-as a Ranch protocol.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The module <code>cowboy_http2</code> implements HTTP/2 as a Ranch protocol.</p>
<h2 id="_options">Options</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<!-- @todo Might be worth moving cowboy_clear/tls/stream_h options-->
+<!-- to their respective manual, when they are added.-->
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">opts</span></span>() <span style="color: #990000">::</span> #{
- <span style="color: #0000FF">connection_type</span> <span style="color: #990000">=&gt;</span> <span style="color: #FF6600">worker</span> | <span style="color: #FF6600">supervisor</span>,
- <span style="color: #0000FF">enable_connect_protocol</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>(),
- <span style="color: #0000FF">env</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_middleware:env</span></span>(),
- <span style="color: #0000FF">inactivity_timeout</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>(),
- <span style="color: #0000FF">initial_connection_window_size</span> <span style="color: #990000">=&gt;</span> <span style="color: #993399">65535</span><span style="color: #990000">..</span><span style="color: #993399">16#7fffffff</span>,
- <span style="color: #0000FF">initial_stream_window_size</span> <span style="color: #990000">=&gt;</span> <span style="color: #993399">0</span><span style="color: #990000">..</span><span style="color: #993399">16#7fffffff</span>,
- <span style="color: #0000FF">max_concurrent_streams</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>() | <span style="color: #FF6600">infinity</span>,
- <span style="color: #0000FF">max_decode_table_size</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
- <span style="color: #0000FF">max_encode_table_size</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
- <span style="color: #0000FF">max_frame_size_received</span> <span style="color: #990000">=&gt;</span> <span style="color: #993399">16384</span><span style="color: #990000">..</span><span style="color: #993399">16777215</span>,
- <span style="color: #0000FF">max_frame_size_sent</span> <span style="color: #990000">=&gt;</span> <span style="color: #993399">16384</span><span style="color: #990000">..</span><span style="color: #993399">16777215</span> | <span style="color: #FF6600">infinity</span>,
- <span style="color: #0000FF">middlewares</span> <span style="color: #990000">=&gt;</span> [<span style="font-weight: bold"><span style="color: #000000">module</span></span>()],
- <span style="color: #0000FF">preface_timeout</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>(),
- <span style="color: #0000FF">settings_timeout</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>(),
- <span style="color: #000080">shutdown</span><span style="color: #009900">_timeout</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>(),
- <span style="color: #0000FF">stream_handlers</span> <span style="color: #990000">=&gt;</span> [<span style="font-weight: bold"><span style="color: #000000">module</span></span>()]
-}</tt></pre></div></div>
-<div class="paragraph"><p>Configuration for the HTTP/2 protocol.</p></div>
-<div class="paragraph"><p>This configuration is passed to Cowboy when starting listeners
-using <code>cowboy:start_clear/3</code> or <code>cowboy:start_tls/3</code> functions.</p></div>
-<div class="paragraph"><p>It can be updated without restarting listeners using the
-Ranch functions <code>ranch:get_protocol_options/1</code> and
-<code>ranch:set_protocol_options/2</code>.</p></div>
-<div class="paragraph"><p>The default value is given next to the option name:</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-connection_type (supervisor)
-</dt>
-<dd>
-<p>
- Whether the connection process also acts as a supervisor.
-</p>
+<pre><tt><b><font color="#000000">opts</font></b>() <font color="#990000">::</font> #{
+ <font color="#0000FF">connection_type</font> <font color="#990000">=&gt;</font> <font color="#FF6600">worker</font> | <font color="#FF6600">supervisor</font>,
+ <font color="#0000FF">enable_connect_protocol</font> <font color="#990000">=&gt;</font> <b><font color="#000000">boolean</font></b>(),
+ <font color="#0000FF">env</font> <font color="#990000">=&gt;</font> <b><font color="#000000">cowboy_middleware:env</font></b>(),
+ <font color="#0000FF">inactivity_timeout</font> <font color="#990000">=&gt;</font> <b><font color="#000000">timeout</font></b>(),
+ <font color="#0000FF">initial_connection_window_size</font> <font color="#990000">=&gt;</font> <font color="#993399">65535</font><font color="#990000">..</font><font color="#993399">16#7fffffff</font>,
+ <font color="#0000FF">initial_stream_window_size</font> <font color="#990000">=&gt;</font> <font color="#993399">0</font><font color="#990000">..</font><font color="#993399">16#7fffffff</font>,
+ <font color="#0000FF">max_concurrent_streams</font> <font color="#990000">=&gt;</font> <b><font color="#000000">non_neg_integer</font></b>() | <font color="#FF6600">infinity</font>,
+ <font color="#0000FF">max_decode_table_size</font> <font color="#990000">=&gt;</font> <b><font color="#000000">non_neg_integer</font></b>(),
+ <font color="#0000FF">max_encode_table_size</font> <font color="#990000">=&gt;</font> <b><font color="#000000">non_neg_integer</font></b>(),
+ <font color="#0000FF">max_frame_size_received</font> <font color="#990000">=&gt;</font> <font color="#993399">16384</font><font color="#990000">..</font><font color="#993399">16777215</font>,
+ <font color="#0000FF">max_frame_size_sent</font> <font color="#990000">=&gt;</font> <font color="#993399">16384</font><font color="#990000">..</font><font color="#993399">16777215</font> | <font color="#FF6600">infinity</font>,
+ <font color="#0000FF">middlewares</font> <font color="#990000">=&gt;</font> [<b><font color="#000000">module</font></b>()],
+ <font color="#0000FF">preface_timeout</font> <font color="#990000">=&gt;</font> <b><font color="#000000">timeout</font></b>(),
+ <font color="#0000FF">settings_timeout</font> <font color="#990000">=&gt;</font> <b><font color="#000000">timeout</font></b>(),
+ <font color="#000080">shutdown</font><font color="#009900">_timeout</font> <font color="#990000">=&gt;</font> <b><font color="#000000">timeout</font></b>(),
+ <font color="#0000FF">stream_handlers</font> <font color="#990000">=&gt;</font> [<b><font color="#000000">module</font></b>()]
+}</tt></pre>
+</div></div>
+<p>Configuration for the HTTP/2 protocol.</p>
+<p>This configuration is passed to Cowboy when starting listeners using <code>cowboy:start_clear/3</code> or <code>cowboy:start_tls/3</code> functions.</p>
+<p>It can be updated without restarting listeners using the Ranch functions <code>ranch:get_protocol_options/1</code> and <code>ranch:set_protocol_options/2</code>.</p>
+<p>The default value is given next to the option name:</p>
+<dl><dt>connection_type (supervisor)</dt>
+<dd><p>Whether the connection process also acts as a supervisor.</p>
</dd>
-<dt class="hdlist1">
-enable_connect_protocol (false)
-</dt>
-<dd>
-<p>
- Whether to enable the extended CONNECT method to allow
- protocols like Websocket to be used over an HTTP/2 stream.
- This option is experimental and disabled by default.
-</p>
+<dt>enable_connect_protocol (false)</dt>
+<dd><p>Whether to enable the extended CONNECT method to allow protocols like Websocket to be used over an HTTP/2 stream. This option is experimental and disabled by default.</p>
</dd>
-<dt class="hdlist1">
-env (#{})
-</dt>
-<dd>
-<p>
- Middleware environment.
-</p>
+<dt>env (#{})</dt>
+<dd><p>Middleware environment.</p>
</dd>
-<dt class="hdlist1">
-inactivity_timeout (300000)
-</dt>
-<dd>
-<p>
- Time in ms with nothing received at all before Cowboy closes the connection.
-</p>
+<dt>inactivity_timeout (300000)</dt>
+<dd><p>Time in ms with nothing received at all before Cowboy closes the connection.</p>
</dd>
-<dt class="hdlist1">
-initial_connection_window_size (65535)
-</dt>
-<dd>
-<p>
- Initial window size for the connection. This is the total amount
- of data (from request bodies for example) that may be buffered
- by the connection across all streams before the user code
- explicitly requests it.
-</p>
-<div class="literalblock">
-<div class="content">
-<pre><code>Note that this value cannot be lower than the default.</code></pre>
-</div></div>
+<dt>initial_connection_window_size (65535)</dt>
+<dd><p>Initial window size for the connection. This is the total amount of data (from request bodies for example) that may be buffered by the connection across all streams before the user code explicitly requests it.</p>
+<p>Note that this value cannot be lower than the default.</p>
</dd>
-<dt class="hdlist1">
-initial_stream_window_size (65535)
-</dt>
-<dd>
-<p>
- Initial window size for new streams. This is the total amount
- of data (from request bodies for example) that may be buffered
- by a single stream before the user code explicitly requests it.
-</p>
+<dt>initial_stream_window_size (65535)</dt>
+<dd><p>Initial window size for new streams. This is the total amount of data (from request bodies for example) that may be buffered by a single stream before the user code explicitly requests it.</p>
</dd>
-<dt class="hdlist1">
-max_concurrent_streams (infinity)
-</dt>
-<dd>
-<p>
- Maximum number of concurrent streams allowed on the connection.
-</p>
+<dt>max_concurrent_streams (infinity)</dt>
+<dd><p>Maximum number of concurrent streams allowed on the connection.</p>
</dd>
-<dt class="hdlist1">
-max_decode_table_size (4096)
-</dt>
-<dd>
-<p>
- Maximum header table size used by the decoder. This is the value advertised
- to the client. The client can then choose a header table size equal or lower
- to the advertised value.
-</p>
+<dt>max_decode_table_size (4096)</dt>
+<dd><p>Maximum header table size used by the decoder. This is the value advertised to the client. The client can then choose a header table size equal or lower to the advertised value.</p>
</dd>
-<dt class="hdlist1">
-max_encode_table_size (4096)
-</dt>
-<dd>
-<p>
- Maximum header table size used by the encoder. The server will compare this
- value to what the client advertises and choose the smallest one as the
- encoder&#8217;s header table size.
-</p>
+<dt>max_encode_table_size (4096)</dt>
+<dd><p>Maximum header table size used by the encoder. The server will compare this value to what the client advertises and choose the smallest one as the encoder&apos;s header table size.</p>
</dd>
-<dt class="hdlist1">
-max_frame_size_received (16384)
-</dt>
-<dd>
-<p>
- Maximum size of the frames received by the server. This value is
- advertised to the remote endpoint which can then decide to use
- any value lower or equal for its frame sizes.
-</p>
+<dt>max_frame_size_received (16384)</dt>
+<dd><p>Maximum size of the frames received by the server. This value is advertised to the remote endpoint which can then decide to use any value lower or equal for its frame sizes.</p>
</dd>
-<dt class="hdlist1">
-max_frame_size_sent (infinity)
-</dt>
-<dd>
-<p>
- Maximum size of the frames sent by the server. This option allows
- setting an upper limit to the frame sizes instead of blindly
- following the client&#8217;s advertised maximum.
-</p>
-<div class="literalblock">
-<div class="content">
-<pre><code>Note that actual frame sizes may be lower than the limit when
-there is not enough space left in the flow control window.</code></pre>
-</div></div>
+<dt>max_frame_size_sent (infinity)</dt>
+<dd><p>Maximum size of the frames sent by the server. This option allows setting an upper limit to the frame sizes instead of blindly following the client&apos;s advertised maximum.</p>
+<p>Note that actual frame sizes may be lower than the limit when there is not enough space left in the flow control window.</p>
</dd>
-<dt class="hdlist1">
-middlewares ([cowboy_router, cowboy_handler])
-</dt>
-<dd>
-<p>
- Middlewares to run for every request.
-</p>
+<dt>middlewares ([cowboy_router, cowboy_handler])</dt>
+<dd><p>Middlewares to run for every request.</p>
</dd>
-<dt class="hdlist1">
-preface_timeout (5000)
-</dt>
-<dd>
-<p>
- Time in ms Cowboy is willing to wait for the connection preface.
-</p>
+<dt>preface_timeout (5000)</dt>
+<dd><p>Time in ms Cowboy is willing to wait for the connection preface.</p>
</dd>
-<dt class="hdlist1">
-settings_timeout (5000)
-</dt>
-<dd>
-<p>
- Time in ms Cowboy is willing to wait for a SETTINGS ack.
-</p>
+<dt>settings_timeout (5000)</dt>
+<dd><p>Time in ms Cowboy is willing to wait for a SETTINGS ack.</p>
</dd>
-<dt class="hdlist1">
-shutdown_timeout (5000)
-</dt>
-<dd>
-<p>
- Time in ms Cowboy will wait for child processes to shut down before killing them.
-</p>
+<dt>shutdown_timeout (5000)</dt>
+<dd><p>Time in ms Cowboy will wait for child processes to shut down before killing them.</p>
</dd>
-<dt class="hdlist1">
-stream_handlers ([cowboy_stream_h])
-</dt>
-<dd>
-<p>
- Ordered list of stream handlers that will handle all stream events.
-</p>
+<dt>stream_handlers ([cowboy_stream_h])</dt>
+<dd><p>Ordered list of stream handlers that will handle all stream events.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.4</strong>: Add the options <code>initial_connection_window_size</code>,
- <code>initial_stream_window_size</code>, <code>max_concurrent_streams</code>,
- <code>max_decode_table_size</code>, <code>max_encode_table_size</code>,
- <code>max_frame_size_received</code>, <code>max_frame_size_sent</code>
- and <code>settings_timeout</code> to configure HTTP/2 SETTINGS
- and related behavior.
-</p>
+<ul><li><strong>2.4</strong>: Add the options <code>initial_connection_window_size</code>, <code>initial_stream_window_size</code>, <code>max_concurrent_streams</code>, <code>max_decode_table_size</code>, <code>max_encode_table_size</code>, <code>max_frame_size_received</code>, <code>max_frame_size_sent</code> and <code>settings_timeout</code> to configure HTTP/2 SETTINGS and related behavior.
</li>
-<li>
-<p>
-<strong>2.4</strong>: Add the experimental option <code>enable_connect_protocol</code>.
-</p>
+<li><strong>2.4</strong>: Add the experimental option <code>enable_connect_protocol</code>.
</li>
-<li>
-<p>
-<strong>2.0</strong>: Protocol introduced.
-</p>
+<li><strong>2.0</strong>: Protocol introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="..">cowboy(7)</a>,
-<a href="../cowboy_http">cowboy_http(3)</a>,
-<a href="../cowboy_websocket">cowboy_websocket(3)</a></p></div>
-</div>
-</div>
+<p><a href="..">cowboy(7)</a>, <a href="../cowboy_http">cowboy_http(3)</a>, <a href="../cowboy_websocket">cowboy_websocket(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_loop/index.html b/docs/en/cowboy/2.4/manual/cowboy_loop/index.html
index ea078cb9..a6348946 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_loop/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_loop/index.html
@@ -62,120 +62,60 @@
<h1 class="lined-header"><span>cowboy_loop(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_loop - Loop handlers</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_loop - Loop handlers</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The module <code>cowboy_loop</code> defines a callback interface for
-long running HTTP connections.</p></div>
-<div class="paragraph"><p>You should switch to this behavior for long polling,
-server-sent events and similar long-running requests.</p></div>
-<div class="paragraph"><p>There are generally two usage patterns:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-Loop until receiving a specific message, then send
- a response and stop execution (for example long polling);
-</p>
+<p>The module <code>cowboy_loop</code> defines a callback interface for long running HTTP connections.</p>
+<p>You should switch to this behavior for long polling, server-sent events and similar long-running requests.</p>
+<p>There are generally two usage patterns:</p>
+<ul><li>Loop until receiving a specific message, then send a response and stop execution (for example long polling);
</li>
-<li>
-<p>
-Or initiate a response in <code>init/2</code> and stream the
- body in <code>info/3</code> as necessary (for example server-sent events).
-</p>
+<li>Or initiate a response in <code>init/2</code> and stream the body in <code>info/3</code> as necessary (for example server-sent events).
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_callbacks">Callbacks</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Loop handlers implement the following interface:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<p>Loop handlers implement the following interface:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">init</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>)
- <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">cowboy_loop</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
- | {<span style="color: #FF6600">cowboy_loop</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>, <span style="color: #FF6600">hibernate</span>}
-
-<span style="font-weight: bold"><span style="color: #000000">info</span></span>(<span style="color: #009900">Info</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>)
- <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
- | {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>, <span style="color: #FF6600">hibernate</span>}
- | {<span style="color: #FF6600">stop</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
-
-<span style="font-weight: bold"><span style="color: #000000">terminate</span></span>(<span style="color: #009900">Reason</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> <span style="color: #FF6600">ok</span> <span style="font-style: italic"><span style="color: #9A1900">%% optional</span></span>
-
-<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()
-<span style="color: #009900">State</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()
-<span style="color: #009900">Info</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()
-<span style="color: #009900">Reason</span> <span style="color: #990000">::</span> <span style="color: #FF6600">stop</span>
- | {<span style="color: #FF6600">crash</span>, <span style="color: #FF6600">error</span> | <span style="font-weight: bold"><span style="color: #000080">exit</span></span> | <span style="font-weight: bold"><span style="color: #000080">throw</span></span>, <span style="font-weight: bold"><span style="color: #000000">any</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>The <code>init/2</code> callback is common to all handlers. To switch
-to the loop behavior, it must return <code>cowboy_loop</code> as the
-first element of the tuple.</p></div>
-<div class="paragraph"><p>The <code>info/3</code> callback will be called for every Erlang message
-received. It may choose to continue the receive loop or stop
-it.</p></div>
-<div class="paragraph"><p>The optional <code>terminate/3</code> callback will ultimately be called
-with the reason for the termination of the handler.
-Cowboy will terminate the process right after this. There
-is no need to perform any cleanup in this callback.</p></div>
-<div class="paragraph"><p>The following terminate reasons are defined for loop handlers:</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-stop
-</dt>
-<dd>
-<p>
- The handler requested to close the connection by returning
- a <code>stop</code> tuple.
-</p>
+<pre><tt><b><font color="#000000">init</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>)
+ <font color="#990000">-&gt;</font> {<font color="#FF6600">cowboy_loop</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
+ | {<font color="#FF6600">cowboy_loop</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>, <font color="#FF6600">hibernate</font>}
+
+<b><font color="#000000">info</font></b>(<font color="#009900">Info</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>)
+ <font color="#990000">-&gt;</font> {<font color="#FF6600">ok</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
+ | {<font color="#FF6600">ok</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>, <font color="#FF6600">hibernate</font>}
+ | {<font color="#FF6600">stop</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
+
+<b><font color="#000000">terminate</font></b>(<font color="#009900">Reason</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> <font color="#FF6600">ok</font> <i><font color="#9A1900">%% optional</font></i>
+
+<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()
+<font color="#009900">State</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()
+<font color="#009900">Info</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()
+<font color="#009900">Reason</font> <font color="#990000">::</font> <font color="#FF6600">stop</font>
+ | {<font color="#FF6600">crash</font>, <font color="#FF6600">error</font> | <b><font color="#000080">exit</font></b> | <b><font color="#000080">throw</font></b>, <b><font color="#000000">any</font></b>()}</tt></pre>
+</div></div>
+<p>The <code>init/2</code> callback is common to all handlers. To switch to the loop behavior, it must return <code>cowboy_loop</code> as the first element of the tuple.</p>
+<p>The <code>info/3</code> callback will be called for every Erlang message received. It may choose to continue the receive loop or stop it.</p>
+<p>The optional <code>terminate/3</code> callback will ultimately be called with the reason for the termination of the handler. Cowboy will terminate the process right after this. There is no need to perform any cleanup in this callback.</p>
+<p>The following terminate reasons are defined for loop handlers:</p>
+<dl><dt>stop</dt>
+<dd><p>The handler requested to close the connection by returning a <code>stop</code> tuple.</p>
</dd>
-<dt class="hdlist1">
-{crash, Class, Reason}
-</dt>
-<dd>
-<p>
- A crash occurred in the handler. <code>Class</code> and <code>Reason</code> can be
- used to obtain more information about the crash. The function
- <code>erlang:get_stacktrace/0</code> can also be called to obtain the
- stacktrace of the process when the crash occurred.
-</p>
+<dt>{crash, Class, Reason}</dt>
+<dd><p>A crash occurred in the handler. <code>Class</code> and <code>Reason</code> can be used to obtain more information about the crash. The function <code>erlang:get_stacktrace/0</code> can also be called to obtain the stacktrace of the process when the crash occurred.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Loop handlers no longer need to handle overflow/timeouts.
-</p>
+<ul><li><strong>2.0</strong>: Loop handlers no longer need to handle overflow/timeouts.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Behavior introduced.
-</p>
+<li><strong>1.0</strong>: Behavior introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="..">cowboy(7)</a>,
-<a href="../cowboy_handler">cowboy_handler(3)</a></p></div>
-</div>
-</div>
+<p><a href="..">cowboy(7)</a>, <a href="../cowboy_handler">cowboy_handler(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_middleware/index.html b/docs/en/cowboy/2.4/manual/cowboy_middleware/index.html
index e7e7de29..8d5a30ad 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_middleware/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_middleware/index.html
@@ -62,115 +62,56 @@
<h1 class="lined-header"><span>cowboy_middleware(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_middleware - Middlewares</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_middleware - Middlewares</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The module <code>cowboy_middleware</code> defines a callback interface for
-Cowboy middlewares.</p></div>
-<div class="paragraph"><p>Middlewares process the request sequentially in the order they
-are configured.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The module <code>cowboy_middleware</code> defines a callback interface for Cowboy middlewares.</p>
+<p>Middlewares process the request sequentially in the order they are configured.</p>
<h2 id="_callbacks">Callbacks</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Middlewares implement the following interface:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<p>Middlewares implement the following interface:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">execute</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">Env</span>)
- <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">Env</span>}
- | {<span style="color: #FF6600">suspend</span>, <span style="font-weight: bold"><span style="color: #000000">module</span></span>(), <span style="font-weight: bold"><span style="color: #000080">atom</span></span>(), [<span style="font-weight: bold"><span style="color: #000000">any</span></span>()]}
- | {<span style="color: #FF6600">stop</span>, <span style="color: #009900">Req</span>}
-
-<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()
-<span style="color: #009900">Env</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_middleware:env</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>The <code>execute/2</code> is the only callback that needs to be
-implemented. It must execute the middleware and return
-with instructions for Cowboy.</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-ok
-</dt>
-<dd>
-<p>
-Cowboy should continue processing the request using the
-returned Req object and environment.
-</p>
+<pre><tt><b><font color="#000000">execute</font></b>(<font color="#009900">Req</font>, <font color="#009900">Env</font>)
+ <font color="#990000">-&gt;</font> {<font color="#FF6600">ok</font>, <font color="#009900">Req</font>, <font color="#009900">Env</font>}
+ | {<font color="#FF6600">suspend</font>, <b><font color="#000000">module</font></b>(), <b><font color="#000080">atom</font></b>(), [<b><font color="#000000">any</font></b>()]}
+ | {<font color="#FF6600">stop</font>, <font color="#009900">Req</font>}
+
+<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()
+<font color="#009900">Env</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_middleware:env</font></b>()</tt></pre>
+</div></div>
+<p>The <code>execute/2</code> is the only callback that needs to be implemented. It must execute the middleware and return with instructions for Cowboy.</p>
+<dl><dt>ok</dt>
+<dd><p>Cowboy should continue processing the request using the returned Req object and environment.</p>
</dd>
-<dt class="hdlist1">
-suspend
-</dt>
-<dd>
-<p>
-Cowboy will hibernate the process. When resuming, Cowboy
-will apply the returned module, function and arguments.
-</p>
+<dt>suspend</dt>
+<dd><p>Cowboy will hibernate the process. When resuming, Cowboy will apply the returned module, function and arguments.</p>
</dd>
-<dt class="hdlist1">
-stop
-</dt>
-<dd>
-<p>
-Cowboy will stop middleware execution. No other middleware
-will be executed. This effectively ends the processing of
-the request.
-</p>
+<dt>stop</dt>
+<dd><p>Cowboy will stop middleware execution. No other middleware will be executed. This effectively ends the processing of the request.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_types">Types</h2>
-<div class="sectionbody">
-<div class="sect2">
<h3 id="_env">env()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">env</span></span>() <span style="color: #990000">::</span> #{<span style="font-weight: bold"><span style="color: #000080">atom</span></span>() <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>Middleware environment.</p></div>
-<div class="paragraph"><p>A new environment is created for every request. The initial
-environment contained the user configured environment values
-(like <code>dispatch</code> for example) plus the <code>listener</code> value which
-contains the name of the listener for this connection.</p></div>
-<div class="paragraph"><p>Middlewares may modify the environment as necessary.</p></div>
-</div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">env</font></b>() <font color="#990000">::</font> #{<b><font color="#000080">atom</font></b>() <font color="#990000">=&gt;</font> <b><font color="#000000">any</font></b>()}</tt></pre>
+</div></div>
+<p>Middleware environment.</p>
+<p>A new environment is created for every request. The initial environment contained the user configured environment values (like <code>dispatch</code> for example) plus the <code>listener</code> value which contains the name of the listener for this connection.</p>
+<p>Middlewares may modify the environment as necessary.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: The <code>env</code> type is now a map instead of a proplist.
-</p>
+<ul><li><strong>2.0</strong>: The <code>env</code> type is now a map instead of a proplist.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Behavior introduced.
-</p>
+<li><strong>1.0</strong>: Behavior introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="..">cowboy(7)</a></p></div>
-</div>
-</div>
+<p><a href="..">cowboy(7)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.binding/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.binding/index.html
index 46d46121..95666a38 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.binding/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.binding/index.html
@@ -62,116 +62,60 @@
<h1 class="lined-header"><span>cowboy_req:binding(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:binding - Access a value bound from the route</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:binding - Access a value bound from the route</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">binding</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Req</span>) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">binding</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Req</span>, <span style="color: #000080">undefined</span>)
-<span style="font-weight: bold"><span style="color: #000000">binding</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">Default</span>) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>() | <span style="color: #009900">Default</span>
-
-<span style="color: #009900">Name</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">atom</span></span>()
-<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Return the value for the given binding.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">binding</font></b>(<font color="#009900">Name</font>, <font color="#009900">Req</font>) <font color="#990000">-&gt;</font> <b><font color="#000000">binding</font></b>(<font color="#009900">Name</font>, <font color="#009900">Req</font>, <font color="#000080">undefined</font>)
+<b><font color="#000000">binding</font></b>(<font color="#009900">Name</font>, <font color="#009900">Req</font>, <font color="#009900">Default</font>) <font color="#990000">-&gt;</font> <b><font color="#000000">any</font></b>() | <font color="#009900">Default</font>
+
+<font color="#009900">Name</font> <font color="#990000">::</font> <b><font color="#000080">atom</font></b>()
+<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()
+<font color="#009900">Default</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()</tt></pre>
+</div></div>
+<p>Return the value for the given binding.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Name
-</dt>
-<dd>
-<p>
-Desired binding name as an atom.
-</p>
+<dl><dt>Name</dt>
+<dd><p>Desired binding name as an atom.</p>
</dd>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-<dt class="hdlist1">
-Default
-</dt>
-<dd>
-<p>
-Default value returned when the binding is missing.
-</p>
+<dt>Default</dt>
+<dd><p>Default value returned when the binding is missing.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>By default the value is a case sensitive binary string, however
-constraints may change the type of this value (for example
-automatically converting numbers to integer).</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>By default the value is a case sensitive binary string, however constraints may change the type of this value (for example automatically converting numbers to integer).</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Only the value is returned, it is no longer wrapped in a tuple.
-</p>
+<ul><li><strong>2.0</strong>: Only the value is returned, it is no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Get the username from the path</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Get the username from the path</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-style: italic"><span style="color: #9A1900">%% Route is "/users/:user"</span></span>
-<span style="color: #009900">Username</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:binding</span></span>(<span style="color: #FF6600">user</span>, <span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Get the branch name, with a default</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><i><font color="#9A1900">%% Route is "/users/:user"</font></i>
+<font color="#009900">Username</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:binding</font></b>(<font color="#FF6600">user</font>, <font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Get the branch name, with a default</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-style: italic"><span style="color: #9A1900">%% Route is "/log[/:branch]"</span></span>
-<span style="color: #009900">Branch</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:binding</span></span>(<span style="color: #FF6600">branch</span>, <span style="color: #009900">Req</span>, <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"master"</span><span style="color: #990000">&gt;&gt;</span>)</tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><i><font color="#9A1900">%% Route is "/log[/:branch]"</font></i>
+<font color="#009900">Branch</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:binding</font></b>(<font color="#FF6600">branch</font>, <font color="#009900">Req</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"master"</font><font color="#990000">&gt;&gt;</font>)</tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.bindings">cowboy_req:bindings(3)</a>,
-<a href="../cowboy_req.host_info">cowboy_req:host_info(3)</a>,
-<a href="../cowboy_req.path_info">cowboy_req:path_info(3)</a>,
-<a href="../cowboy_router">cowboy_router(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.bindings">cowboy_req:bindings(3)</a>, <a href="../cowboy_req.host_info">cowboy_req:host_info(3)</a>, <a href="../cowboy_req.path_info">cowboy_req:path_info(3)</a>, <a href="../cowboy_router">cowboy_router(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.bindings/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.bindings/index.html
index 12415270..aa61c3ac 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.bindings/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.bindings/index.html
@@ -62,86 +62,40 @@
<h1 class="lined-header"><span>cowboy_req:bindings(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:bindings - Access all values bound from the route</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:bindings - Access all values bound from the route</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">bindings</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_router:bindings</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Return a map containing all bindings.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">bindings</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <b><font color="#000000">cowboy_router:bindings</font></b>()</tt></pre>
+</div></div>
+<p>Return a map containing all bindings.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>By default values are case sensitive binary strings, however
-constraints may change the type of this value (for example
-automatically converting numbers to integer).</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>By default values are case sensitive binary strings, however constraints may change the type of this value (for example automatically converting numbers to integer).</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Only the values are returned, they are no longer wrapped in a tuple.
-</p>
+<ul><li><strong>2.0</strong>: Only the values are returned, they are no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Get all bindings</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Get all bindings</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Bindings</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:bindings</span></span>(<span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Bindings</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:bindings</font></b>(<font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.binding">cowboy_req:binding(3)</a>,
-<a href="../cowboy_req.host_info">cowboy_req:host_info(3)</a>,
-<a href="../cowboy_req.path_info">cowboy_req:path_info(3)</a>,
-<a href="../cowboy_router">cowboy_router(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.binding">cowboy_req:binding(3)</a>, <a href="../cowboy_req.host_info">cowboy_req:host_info(3)</a>, <a href="../cowboy_req.path_info">cowboy_req:path_info(3)</a>, <a href="../cowboy_router">cowboy_router(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.body_length/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.body_length/index.html
index de5f9045..fe1fc5bc 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.body_length/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.body_length/index.html
@@ -62,89 +62,41 @@
<h1 class="lined-header"><span>cowboy_req:body_length(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:body_length - Body length</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:body_length - Body length</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">body_length</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="color: #000080">undefined</span> | <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Return the length of the request body.</p></div>
-<div class="paragraph"><p>The length is not always known before reading the body.
-In those cases Cowboy will return <code>undefined</code>. The body
-length is available after the body has been fully read.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">body_length</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <font color="#000080">undefined</font> | <b><font color="#000000">non_neg_integer</font></b>()</tt></pre>
+</div></div>
+<p>Return the length of the request body.</p>
+<p>The length is not always known before reading the body. In those cases Cowboy will return <code>undefined</code>. The body length is available after the body has been fully read.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The length of the request body, or <code>undefined</code> if it is
-not known.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The length of the request body, or <code>undefined</code> if it is not known.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Only the length is returned, it is no longer wrapped in a tuple.
-</p>
+<ul><li><strong>2.0</strong>: Only the length is returned, it is no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Get the body length</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Get the body length</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Length</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:body_length</span></span>(<span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Length</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:body_length</font></b>(<font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.has_body">cowboy_req:has_body(3)</a>,
-<a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a>,
-<a href="../cowboy_req.read_urlencoded_body">cowboy_req:read_urlencoded_body(3)</a>,
-<a href="../cowboy_req.read_part">cowboy_req:read_part(3)</a>,
-<a href="../cowboy_req.read_part_body">cowboy_req:read_part_body(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.has_body">cowboy_req:has_body(3)</a>, <a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a>, <a href="../cowboy_req.read_urlencoded_body">cowboy_req:read_urlencoded_body(3)</a>, <a href="../cowboy_req.read_part">cowboy_req:read_part(3)</a>, <a href="../cowboy_req.read_part_body">cowboy_req:read_part_body(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.cert/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.cert/index.html
index 5035f160..3222b2f3 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.cert/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.cert/index.html
@@ -62,104 +62,60 @@
<h1 class="lined-header"><span>cowboy_req:cert(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:cert - Client TLS certificate</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:cert - Client TLS certificate</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">cert</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() | <span style="color: #000080">undefined</span></tt></pre></div></div>
-<div class="paragraph"><p>Return the peer&#8217;s TLS certificate.</p></div>
-<div class="paragraph"><p>Using the default configuration this function will always return
-<code>undefined</code>. You need to explicitly configure Cowboy to request
-the client certificate. To do this you need to set the <code>verify</code>
-transport option to <code>verify_peer</code>:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">cert</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <b><font color="#000080">binary</font></b>() | <font color="#000080">undefined</font></tt></pre>
+</div></div>
+<p>Return the peer&apos;s TLS certificate.</p>
+<p>Using the default configuration this function will always return <code>undefined</code>. You need to explicitly configure Cowboy to request the client certificate. To do this you need to set the <code>verify</code> transport option to <code>verify_peer</code>:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #FF6600">ok</span>, <span style="color: #990000">_</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:start_tls</span></span>(<span style="color: #FF6600">example</span>, [
- {<span style="color: #FF6600">port</span>, <span style="color: #993399">8443</span>},
- {<span style="color: #FF6600">cert</span>, <span style="color: #FF0000">"path/to/cert.pem"</span>},
- {<span style="color: #FF6600">verify</span>, <span style="color: #FF6600">verify_peer</span>}
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#990000">_</font>} <font color="#990000">=</font> <b><font color="#000000">cowboy:start_tls</font></b>(<font color="#FF6600">example</font>, [
+ {<font color="#FF6600">port</font>, <font color="#993399">8443</font>},
+ {<font color="#FF6600">cert</font>, <font color="#FF0000">"path/to/cert.pem"</font>},
+ {<font color="#FF6600">verify</font>, <font color="#FF6600">verify_peer</font>}
], #{
- <span style="color: #0000FF">env</span> <span style="color: #990000">=&gt;</span> #{<span style="color: #0000FF">dispatch</span> <span style="color: #990000">=&gt;</span> <span style="color: #009900">Dispatch</span>}
-})<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="paragraph"><p>You may also want to customize the <code>verify_fun</code> function. Please
-consult the <code>ssl</code> application&#8217;s manual for more details.</p></div>
-<div class="paragraph"><p>TCP connections do not allow a certificate and this function
-will therefore always return <code>undefined</code>.</p></div>
-<div class="paragraph"><p>The certificate can also be obtained using pattern matching:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+ <font color="#0000FF">env</font> <font color="#990000">=&gt;</font> #{<font color="#0000FF">dispatch</font> <font color="#990000">=&gt;</font> <font color="#009900">Dispatch</font>}
+})<font color="#990000">.</font></tt></pre>
+</div></div>
+<p>You may also want to customize the <code>verify_fun</code> function. Please consult the <code>ssl</code> application&apos;s manual for more details.</p>
+<p>TCP connections do not allow a certificate and this function will therefore always return <code>undefined</code>.</p>
+<p>The certificate can also be obtained using pattern matching:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>#{<span style="color: #FF6600">cert</span> <span style="color: #990000">:=</span> <span style="color: #009900">Cert</span>} <span style="color: #990000">=</span> <span style="color: #009900">Req</span><span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>#{<font color="#FF6600">cert</font> <font color="#990000">:=</font> <font color="#009900">Cert</font>} <font color="#990000">=</font> <font color="#009900">Req</font><font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The client TLS certificate.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The client TLS certificate.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.1</strong>: Function introduced.
-</p>
+<ul><li><strong>2.1</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Get the client TLS certificate.</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Get the client TLS certificate.</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Cert</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:cert</span></span>(<span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Cert</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:cert</font></b>(<font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.peer">cowboy_req:peer(3)</a>,
-<a href="../cowboy_req.sock">cowboy_req:sock(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.peer">cowboy_req:peer(3)</a>, <a href="../cowboy_req.sock">cowboy_req:sock(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.delete_resp_header/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.delete_resp_header/index.html
index 073d8fb9..8dfbb72d 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.delete_resp_header/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.delete_resp_header/index.html
@@ -62,95 +62,45 @@
<h1 class="lined-header"><span>cowboy_req:delete_resp_header(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:delete_resp_header - Delete a response header</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:delete_resp_header - Delete a response header</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">delete_resp_header</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="color: #009900">Req</span>
+<pre><tt><b><font color="#000000">delete_resp_header</font></b>(<font color="#009900">Name</font>, <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <font color="#009900">Req</font>
-<span style="color: #009900">Name</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% lowercase; case insensitive</span></span></tt></pre></div></div>
-<div class="paragraph"><p>Delete the given response header.</p></div>
-<div class="paragraph"><p>The header name must be given as a lowercase binary string.
-While header names are case insensitive, Cowboy requires them
-to be given as lowercase to function properly.</p></div>
-</div>
-</div>
-<div class="sect1">
+<font color="#009900">Name</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% lowercase; case insensitive</font></i></tt></pre>
+</div></div>
+<p>Delete the given response header.</p>
+<p>The header name must be given as a lowercase binary string. While header names are case insensitive, Cowboy requires them to be given as lowercase to function properly.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Name
-</dt>
-<dd>
-<p>
-Header name as a lowercase binary string.
-</p>
+<dl><dt>Name</dt>
+<dd><p>Header name as a lowercase binary string.</p>
</dd>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>A new Req object is returned.</p></div>
-<div class="paragraph"><p>The returned Req object must be used from that point onward,
-otherwise the header will still be sent in the response.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>A new Req object is returned.</p>
+<p>The returned Req object must be used from that point onward, otherwise the header will still be sent in the response.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<ul><li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Remove the content-type header from the response</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Remove the content-type header from the response</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:delete_resp_header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req0</span>),</tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:delete_resp_header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req0</font>),</tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a>,
-<a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a>,
-<a href="../cowboy_req.has_resp_header">cowboy_req:has_resp_header(3)</a>,
-<a href="../cowboy_req.resp_header">cowboy_req:resp_header(3)</a>,
-<a href="../cowboy_req.resp_headers">cowboy_req:resp_headers(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a>, <a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a>, <a href="../cowboy_req.has_resp_header">cowboy_req:has_resp_header(3)</a>, <a href="../cowboy_req.resp_header">cowboy_req:resp_header(3)</a>, <a href="../cowboy_req.resp_headers">cowboy_req:resp_headers(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.has_body/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.has_body/index.html
index c093e60d..591691aa 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.has_body/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.has_body/index.html
@@ -62,80 +62,38 @@
<h1 class="lined-header"><span>cowboy_req:has_body(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:has_body - Is there a request body?</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:has_body - Is there a request body?</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">has_body</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Return whether the request has a body.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">has_body</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <b><font color="#000000">boolean</font></b>()</tt></pre>
+</div></div>
+<p>Return whether the request has a body.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>A boolean indicating whether the request has a body.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>A boolean indicating whether the request has a body.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<ul><li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Ensure the request has a body</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Ensure the request has a body</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #000080">true</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:has_body</span></span>(<span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#000080">true</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:has_body</font></b>(<font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.body_length">cowboy_req:body_length(3)</a>,
-<a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a>,
-<a href="../cowboy_req.read_urlencoded_body">cowboy_req:read_urlencoded_body(3)</a>,
-<a href="../cowboy_req.read_part">cowboy_req:read_part(3)</a>,
-<a href="../cowboy_req.read_part_body">cowboy_req:read_part_body(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.body_length">cowboy_req:body_length(3)</a>, <a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a>, <a href="../cowboy_req.read_urlencoded_body">cowboy_req:read_urlencoded_body(3)</a>, <a href="../cowboy_req.read_part">cowboy_req:read_part(3)</a>, <a href="../cowboy_req.read_part_body">cowboy_req:read_part_body(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.has_resp_body/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.has_resp_body/index.html
index e99ff1b7..34624718 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.has_resp_body/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.has_resp_body/index.html
@@ -62,82 +62,43 @@
<h1 class="lined-header"><span>cowboy_req:has_resp_body(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:has_resp_body - Is there a response body?</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:has_resp_body - Is there a response body?</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">has_resp_body</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Return whether a response body has been set.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">has_resp_body</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <b><font color="#000000">boolean</font></b>()</tt></pre>
+</div></div>
+<p>Return whether a response body has been set.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>A boolean indicating whether a response body has been set.</p></div>
-<div class="paragraph"><p>This function will return <code>false</code> when an empty response
-body has been set.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>A boolean indicating whether a response body has been set.</p>
+<p>This function will return <code>false</code> when an empty response body has been set.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<ul><li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Check whether a body has been set</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Check whether a body has been set</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #000080">false</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:has_resp_body</span></span>(<span style="color: #009900">Req0</span>),
-<span style="color: #009900">Req1</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:set_resp_body</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"Hello!"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req0</span>),
-<span style="color: #000080">true</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:has_resp_body</span></span>(<span style="color: #009900">Req1</span>),
-<span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:set_resp_body</span></span>(<span style="color: #990000">&lt;&lt;&gt;&gt;</span>, <span style="color: #009900">Req1</span>),
-<span style="color: #000080">false</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:has_resp_body</span></span>(<span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#000080">false</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:has_resp_body</font></b>(<font color="#009900">Req0</font>),
+<font color="#009900">Req1</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:set_resp_body</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"Hello!"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req0</font>),
+<font color="#000080">true</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:has_resp_body</font></b>(<font color="#009900">Req1</font>),
+<font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:set_resp_body</font></b>(<font color="#990000">&lt;&lt;&gt;&gt;</font>, <font color="#009900">Req1</font>),
+<font color="#000080">false</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:has_resp_body</font></b>(<font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.set_resp_body">cowboy_req:set_resp_body(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.set_resp_body">cowboy_req:set_resp_body(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.has_resp_header/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.has_resp_header/index.html
index 21eca0bc..2d613eca 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.has_resp_header/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.has_resp_header/index.html
@@ -62,95 +62,46 @@
<h1 class="lined-header"><span>cowboy_req:has_resp_header(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:has_resp_header - Is the given response header set?</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:has_resp_header - Is the given response header set?</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">has_resp_header</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>()
+<pre><tt><b><font color="#000000">has_resp_header</font></b>(<font color="#009900">Name</font>, <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <b><font color="#000000">boolean</font></b>()
-<span style="color: #009900">Name</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% lowercase; case insensitive</span></span></tt></pre></div></div>
-<div class="paragraph"><p>Return whether the given response header has been set.</p></div>
-<div class="paragraph"><p>The header name must be given as a lowercase binary string.
-While header names are case insensitive, Cowboy requires them
-to be given as lowercase to function properly.</p></div>
-</div>
-</div>
-<div class="sect1">
+<font color="#009900">Name</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% lowercase; case insensitive</font></i></tt></pre>
+</div></div>
+<p>Return whether the given response header has been set.</p>
+<p>The header name must be given as a lowercase binary string. While header names are case insensitive, Cowboy requires them to be given as lowercase to function properly.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Name
-</dt>
-<dd>
-<p>
-Header name as a lowercase binary string.
-</p>
+<dl><dt>Name</dt>
+<dd><p>Header name as a lowercase binary string.</p>
</dd>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>A boolean indicating whether the given response header has been set.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>A boolean indicating whether the given response header has been set.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<ul><li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Check whether the content-type header has been set</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Check whether the content-type header has been set</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #000080">false</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:has_resp_header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req0</span>),
-<span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:set_resp_header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"text/html"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req0</span>),
-<span style="color: #000080">true</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:has_resp_header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#000080">false</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:has_resp_header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req0</font>),
+<font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:set_resp_header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"text/html"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req0</font>),
+<font color="#000080">true</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:has_resp_header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a>,
-<a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a>,
-<a href="../cowboy_req.resp_header">cowboy_req:resp_header(3)</a>,
-<a href="../cowboy_req.resp_headers">cowboy_req:resp_headers(3)</a>,
-<a href="../cowboy_req.delete_resp_header">cowboy_req:delete_resp_header(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a>, <a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a>, <a href="../cowboy_req.resp_header">cowboy_req:resp_header(3)</a>, <a href="../cowboy_req.resp_headers">cowboy_req:resp_headers(3)</a>, <a href="../cowboy_req.delete_resp_header">cowboy_req:delete_resp_header(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.header/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.header/index.html
index ed2978a7..487a76da 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.header/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.header/index.html
@@ -62,122 +62,67 @@
<h1 class="lined-header"><span>cowboy_req:header(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:header - HTTP header</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:header - HTTP header</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">header</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Req</span>) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">header</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Req</span>, <span style="color: #000080">undefined</span>)
-<span style="font-weight: bold"><span style="color: #000000">header</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">Default</span>) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() | <span style="color: #009900">Default</span>
-
-<span style="color: #009900">Name</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% lowercase; case insensitive</span></span>
-<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Return the value for the given HTTP header.</p></div>
-<div class="paragraph"><p>The header name must be given as a lowercase binary string.
-While header names are case insensitive, Cowboy requires them
-to be given as lowercase to function properly.</p></div>
-<div class="paragraph"><p>Headers can also be obtained using pattern matching:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">header</font></b>(<font color="#009900">Name</font>, <font color="#009900">Req</font>) <font color="#990000">-&gt;</font> <b><font color="#000000">header</font></b>(<font color="#009900">Name</font>, <font color="#009900">Req</font>, <font color="#000080">undefined</font>)
+<b><font color="#000000">header</font></b>(<font color="#009900">Name</font>, <font color="#009900">Req</font>, <font color="#009900">Default</font>) <font color="#990000">-&gt;</font> <b><font color="#000080">binary</font></b>() | <font color="#009900">Default</font>
+
+<font color="#009900">Name</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% lowercase; case insensitive</font></i>
+<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()
+<font color="#009900">Default</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()</tt></pre>
+</div></div>
+<p>Return the value for the given HTTP header.</p>
+<p>The header name must be given as a lowercase binary string. While header names are case insensitive, Cowboy requires them to be given as lowercase to function properly.</p>
+<p>Headers can also be obtained using pattern matching:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>#{<span style="color: #FF6600">headers</span> <span style="color: #990000">:=</span> #{<span style="color: #009900">Name</span> <span style="color: #990000">:=</span> <span style="color: #009900">Value</span>}} <span style="color: #990000">=</span> <span style="color: #009900">Req</span><span style="color: #990000">.</span></tt></pre></div></div>
-<div class="paragraph"><p>Note that this snippet will crash if the header is missing.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>#{<font color="#FF6600">headers</font> <font color="#990000">:=</font> #{<font color="#009900">Name</font> <font color="#990000">:=</font> <font color="#009900">Value</font>}} <font color="#990000">=</font> <font color="#009900">Req</font><font color="#990000">.</font></tt></pre>
+</div></div>
+<p>Note that this snippet will crash if the header is missing.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Name
-</dt>
-<dd>
-<p>
-Desired HTTP header name as a lowercase binary string.
-</p>
+<dl><dt>Name</dt>
+<dd><p>Desired HTTP header name as a lowercase binary string.</p>
</dd>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-<dt class="hdlist1">
-Default
-</dt>
-<dd>
-<p>
-Default value returned when the header is missing.
-</p>
+<dt>Default</dt>
+<dd><p>Default value returned when the header is missing.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The header value is returned as a binary string. When the
-header is missing, the default argument is returned.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The header value is returned as a binary string. When the header is missing, the default argument is returned.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Only the header value is returned, it is no longer wrapped in a tuple.
-</p>
+<ul><li><strong>2.0</strong>: Only the header value is returned, it is no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Get the accept header</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Get the accept header</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Accept</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"accept"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Get the content-length header with a default value</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><font color="#009900">Accept</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"accept"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Get the content-length header with a default value</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Length</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"content-length"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req</span>, <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"0"</span><span style="color: #990000">&gt;&gt;</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Length</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-length"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"0"</font><font color="#990000">&gt;&gt;</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.headers">cowboy_req:headers(3)</a>,
-<a href="../cowboy_req.parse_header">cowboy_req:parse_header(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.headers">cowboy_req:headers(3)</a>, <a href="../cowboy_req.parse_header">cowboy_req:parse_header(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.headers/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.headers/index.html
index 420c594e..514d9f2a 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.headers/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.headers/index.html
@@ -62,90 +62,47 @@
<h1 class="lined-header"><span>cowboy_req:headers(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:headers - HTTP headers</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:headers - HTTP headers</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">headers</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:http_headers</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Return all request headers.</p></div>
-<div class="paragraph"><p>Request headers can also be obtained using pattern matching:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">headers</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <b><font color="#000000">cowboy:http_headers</font></b>()</tt></pre>
+</div></div>
+<p>Return all request headers.</p>
+<p>Request headers can also be obtained using pattern matching:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>#{<span style="color: #FF6600">headers</span> <span style="color: #990000">:=</span> <span style="color: #009900">Headers</span>} <span style="color: #990000">=</span> <span style="color: #009900">Req</span><span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>#{<font color="#FF6600">headers</font> <font color="#990000">:=</font> <font color="#009900">Headers</font>} <font color="#990000">=</font> <font color="#009900">Req</font><font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Headers are returned as a map with keys being lowercase
-binary strings, and values as binary strings.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>Headers are returned as a map with keys being lowercase binary strings, and values as binary strings.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Only the headers are returned, they are no longer wrapped in a tuple.
-</p>
+<ul><li><strong>2.0</strong>: Only the headers are returned, they are no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Get all headers</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Get all headers</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Headers</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:headers</span></span>(<span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Headers</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:headers</font></b>(<font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.header">cowboy_req:header(3)</a>,
-<a href="../cowboy_req.parse_header">cowboy_req:parse_header(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.header">cowboy_req:header(3)</a>, <a href="../cowboy_req.parse_header">cowboy_req:parse_header(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.host/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.host/index.html
index f04f7c16..a8e0e313 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.host/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.host/index.html
@@ -62,91 +62,47 @@
<h1 class="lined-header"><span>cowboy_req:host(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:host - URI host name</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:host - URI host name</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">host</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="color: #009900">Host</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Return the host name of the effective request URI.</p></div>
-<div class="paragraph"><p>The host name can also be obtained using pattern matching:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">host</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <font color="#009900">Host</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()</tt></pre>
+</div></div>
+<p>Return the host name of the effective request URI.</p>
+<p>The host name can also be obtained using pattern matching:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>#{<span style="color: #FF6600">host</span> <span style="color: #990000">:=</span> <span style="color: #009900">Host</span>} <span style="color: #990000">=</span> <span style="color: #009900">Req</span><span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>#{<font color="#FF6600">host</font> <font color="#990000">:=</font> <font color="#009900">Host</font>} <font color="#990000">=</font> <font color="#009900">Req</font><font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The host name is returned as a lowercase binary string.
-It is case insensitive.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The host name is returned as a lowercase binary string. It is case insensitive.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Only the host name is returned, it is no longer wrapped in a tuple.
-</p>
+<ul><li><strong>2.0</strong>: Only the host name is returned, it is no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Get the effective request URI&#8217;s host name</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Get the effective request URI&apos;s host name</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Host</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:host</span></span>(<span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Host</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:host</font></b>(<font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.binding">cowboy_req:binding(3)</a>,
-<a href="../cowboy_req.bindings">cowboy_req:bindings(3)</a>,
-<a href="../cowboy_req.host_info">cowboy_req:host_info(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.binding">cowboy_req:binding(3)</a>, <a href="../cowboy_req.bindings">cowboy_req:bindings(3)</a>, <a href="../cowboy_req.host_info">cowboy_req:host_info(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.host_info/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.host_info/index.html
index 16947144..bff72d35 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.host_info/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.host_info/index.html
@@ -62,87 +62,41 @@
<h1 class="lined-header"><span>cowboy_req:host_info(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:host_info - Access the route&#8217;s heading host segments</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:host_info - Access the route&apos;s heading host segments</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">host_info</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_router:tokens</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Return the tokens for the heading host segments.</p></div>
-<div class="paragraph"><p>This is the part of the host name that was matched using
-the <code>...</code> notation.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">host_info</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <b><font color="#000000">cowboy_router:tokens</font></b>()</tt></pre>
+</div></div>
+<p>Return the tokens for the heading host segments.</p>
+<p>This is the part of the host name that was matched using the <code>...</code> notation.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The tokens are returned as a list of case insensitive
-binary strings.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The tokens are returned as a list of case insensitive binary strings.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Only the tokens are returned, they are no longer wrapped in a tuple.
-</p>
+<ul><li><strong>2.0</strong>: Only the tokens are returned, they are no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Get the host_info tokens</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Get the host_info tokens</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">HostInfo</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:host_info</span></span>(<span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">HostInfo</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:host_info</font></b>(<font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.binding">cowboy_req:binding(3)</a>,
-<a href="../cowboy_req.bindings">cowboy_req:bindings(3)</a>,
-<a href="../cowboy_req.path_info">cowboy_req:path_info(3)</a>,
-<a href="../cowboy_router">cowboy_router(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.binding">cowboy_req:binding(3)</a>, <a href="../cowboy_req.bindings">cowboy_req:bindings(3)</a>, <a href="../cowboy_req.path_info">cowboy_req:path_info(3)</a>, <a href="../cowboy_router">cowboy_router(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.inform/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.inform/index.html
index b017d12d..b3c27fe1 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.inform/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.inform/index.html
@@ -62,125 +62,66 @@
<h1 class="lined-header"><span>cowboy_req:inform(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:inform - Send an informational response</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:inform - Send an informational response</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">inform</span></span>(<span style="color: #009900">Status</span>, <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>())
- <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">inform</span></span>(<span style="color: #009900">StatusCode</span>, #{}, <span style="color: #009900">Req</span>)
-
-<span style="font-weight: bold"><span style="color: #000000">inform</span></span>(<span style="color: #009900">Status</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>())
- <span style="color: #990000">-&gt;</span> <span style="color: #FF6600">ok</span>
-
-<span style="color: #009900">Status</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:http_status</span></span>()
-<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:http_headers</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Send an informational response.</p></div>
-<div class="paragraph"><p>Informational responses use a status code between 100 and 199.
-They cannot include a body. This function will not use any
-of the previously set headers. All headers to be sent must
-be given directly.</p></div>
-<div class="paragraph"><p>Any number of informational responses can be sent as long as
-they are sent before the proper response. Attempting to use
-this function after sending a normal response will result
-in an error.</p></div>
-<div class="paragraph"><p>The header names must be given as lowercase binary strings.
-While header names are case insensitive, Cowboy requires them
-to be given as lowercase to function properly.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">inform</font></b>(<font color="#009900">Status</font>, <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>())
+ <font color="#990000">-&gt;</font> <b><font color="#000000">inform</font></b>(<font color="#009900">StatusCode</font>, #{}, <font color="#009900">Req</font>)
+
+<b><font color="#000000">inform</font></b>(<font color="#009900">Status</font>, <font color="#009900">Headers</font>, <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>())
+ <font color="#990000">-&gt;</font> <font color="#FF6600">ok</font>
+
+<font color="#009900">Status</font> <font color="#990000">::</font> <b><font color="#000000">cowboy:http_status</font></b>()
+<font color="#009900">Headers</font> <font color="#990000">::</font> <b><font color="#000000">cowboy:http_headers</font></b>()</tt></pre>
+</div></div>
+<p>Send an informational response.</p>
+<p>Informational responses use a status code between 100 and 199. They cannot include a body. This function will not use any of the previously set headers. All headers to be sent must be given directly.</p>
+<p>Any number of informational responses can be sent as long as they are sent before the proper response. Attempting to use this function after sending a normal response will result in an error.</p>
+<p>The header names must be given as lowercase binary strings. While header names are case insensitive, Cowboy requires them to be given as lowercase to function properly.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Status
-</dt>
-<dd>
-<p>
-The status code for the response.
-</p>
+<dl><dt>Status</dt>
+<dd><p>The status code for the response.</p>
</dd>
-<dt class="hdlist1">
-Headers
-</dt>
-<dd>
-<p>
-The response headers.
-</p>
+<dt>Headers</dt>
+<dd><p>The response headers.</p>
</dd>
-</dl></div>
-<div class="paragraph"><p>Header names must be given as lowercase binary strings.</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+</dl>
+<p>Header names must be given as lowercase binary strings.</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The atom <code>ok</code> is always returned. It can be safely ignored.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The atom <code>ok</code> is always returned. It can be safely ignored.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.1</strong>: Function introduced.
-</p>
+<ul><li><strong>2.1</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Send an informational response</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Send an informational response</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:inform</span></span>(<span style="color: #993399">102</span>, <span style="color: #009900">Req0</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Send an informational response with headers</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:inform</font></b>(<font color="#993399">102</font>, <font color="#009900">Req0</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Send an informational response with headers</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:inform</span></span>(<span style="color: #993399">103</span>, #{
- <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"link"</span><span style="color: #990000">&gt;&gt;</span> <span style="color: #990000">=&gt;</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"&lt;/style.css&gt;; rel=preload; as=style"</span><span style="color: #990000">&gt;&gt;</span>,
- <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"link"</span><span style="color: #990000">&gt;&gt;</span> <span style="color: #990000">=&gt;</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"&lt;/script.js&gt;; rel=preload; as=script"</span><span style="color: #990000">&gt;&gt;</span>
-}, <span style="color: #009900">Req0</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:inform</font></b>(<font color="#993399">103</font>, #{
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"link"</font><font color="#990000">&gt;&gt;</font> <font color="#990000">=&gt;</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"&lt;/style.css&gt;; rel=preload; as=style"</font><font color="#990000">&gt;&gt;</font>,
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"link"</font><font color="#990000">&gt;&gt;</font> <font color="#990000">=&gt;</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"&lt;/script.js&gt;; rel=preload; as=script"</font><font color="#990000">&gt;&gt;</font>
+}, <font color="#009900">Req0</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.reply">cowboy_req:reply(3)</a>,
-<a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a>,
-<a href="../cowboy_req.push">cowboy_req:push(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.reply">cowboy_req:reply(3)</a>, <a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a>, <a href="../cowboy_req.push">cowboy_req:push(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.match_cookies/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.match_cookies/index.html
index b5ebef85..9b524b1c 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.match_cookies/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.match_cookies/index.html
@@ -62,123 +62,67 @@
<h1 class="lined-header"><span>cowboy_req:match_cookies(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:match_cookies - Match cookies against constraints</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:match_cookies - Match cookies against constraints</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">match_cookies</span></span>(<span style="color: #009900">Fields</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:fields</span></span>(), <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>())
- <span style="color: #990000">-&gt;</span> #{<span style="font-weight: bold"><span style="color: #000080">atom</span></span>() <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>Parse the cookies and match specific values against
-constraints.</p></div>
-<div class="paragraph"><p>Cowboy will only return the cookie values specified in the
-fields list, and ignore all others. Fields can be either
-the name of the cookie requested; the name along with a
-list of constraints; or the name, a list of constraints
-and a default value in case the cookie is missing.</p></div>
-<div class="paragraph"><p>This function will crash if the cookie is missing and no
-default value is provided. This function will also crash
-if a constraint fails.</p></div>
-<div class="paragraph"><p>The name of the cookie must be provided as an atom. The
-key of the returned map will be that atom. The value may
-be converted through the use of constraints, making this
-function able to extract, validate and convert values all
-in one step.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">match_cookies</font></b>(<font color="#009900">Fields</font> <font color="#990000">::</font> <b><font color="#000000">cowboy:fields</font></b>(), <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>())
+ <font color="#990000">-&gt;</font> #{<b><font color="#000080">atom</font></b>() <font color="#990000">=&gt;</font> <b><font color="#000000">any</font></b>()}</tt></pre>
+</div></div>
+<p>Parse the cookies and match specific values against constraints.</p>
+<p>Cowboy will only return the cookie values specified in the fields list, and ignore all others. Fields can be either the name of the cookie requested; the name along with a list of constraints; or the name, a list of constraints and a default value in case the cookie is missing.</p>
+<p>This function will crash if the cookie is missing and no default value is provided. This function will also crash if a constraint fails.</p>
+<p>The name of the cookie must be provided as an atom. The key of the returned map will be that atom. The value may be converted through the use of constraints, making this function able to extract, validate and convert values all in one step.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Fields
-</dt>
-<dd>
-<p>
-Cookies to retrieve.
-</p>
-<div class="paragraph"><p>See <a href="../cowboy">cowboy(3)</a> for a complete description.</p></div>
+<dl><dt>Fields</dt>
+<dd><p>Cookies to retrieve.</p>
+<p>See <a href="../cowboy">cowboy(3)</a> for a complete description.</p>
</dd>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Desired values are returned as a map. The key is the atom
-that was given in the list of fields, and the value is the
-optionally converted value after applying constraints.</p></div>
-<div class="paragraph"><p>The map contains the same keys that were given in the fields.</p></div>
-<div class="paragraph"><p>An exception is triggered when the match fails.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>Desired values are returned as a map. The key is the atom that was given in the list of fields, and the value is the optionally converted value after applying constraints.</p>
+<p>The map contains the same keys that were given in the fields.</p>
+<p>An exception is triggered when the match fails.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Function introduced.
-</p>
+<ul><li><strong>2.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Match fields</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Match fields</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-style: italic"><span style="color: #9A1900">%% ID and Lang are binaries.</span></span>
-#{<span style="color: #FF6600">id</span> <span style="color: #990000">:=</span> <span style="color: #009900">ID</span>, <span style="color: #FF6600">lang</span> <span style="color: #990000">:=</span> <span style="color: #009900">Lang</span>}
- <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:match_cookies</span></span>([<span style="color: #FF6600">id</span>, <span style="color: #FF6600">lang</span>], <span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Match fields and apply constraints</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><i><font color="#9A1900">%% ID and Lang are binaries.</font></i>
+#{<font color="#FF6600">id</font> <font color="#990000">:=</font> <font color="#009900">ID</font>, <font color="#FF6600">lang</font> <font color="#990000">:=</font> <font color="#009900">Lang</font>}
+ <font color="#990000">=</font> <b><font color="#000000">cowboy_req:match_cookies</font></b>([<font color="#FF6600">id</font>, <font color="#FF6600">lang</font>], <font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Match fields and apply constraints</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-style: italic"><span style="color: #9A1900">%% ID is an integer and Lang a non-empty binary.</span></span>
-#{<span style="color: #FF6600">id</span> <span style="color: #990000">:=</span> <span style="color: #009900">ID</span>, <span style="color: #FF6600">lang</span> <span style="color: #990000">:=</span> <span style="color: #009900">Lang</span>}
- <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:match_cookies</span></span>([{<span style="color: #FF6600">id</span>, <span style="color: #FF6600">int</span>}, {<span style="color: #FF6600">lang</span>, <span style="color: #FF6600">nonempty</span>}], <span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Match fields with default values</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><i><font color="#9A1900">%% ID is an integer and Lang a non-empty binary.</font></i>
+#{<font color="#FF6600">id</font> <font color="#990000">:=</font> <font color="#009900">ID</font>, <font color="#FF6600">lang</font> <font color="#990000">:=</font> <font color="#009900">Lang</font>}
+ <font color="#990000">=</font> <b><font color="#000000">cowboy_req:match_cookies</font></b>([{<font color="#FF6600">id</font>, <font color="#FF6600">int</font>}, {<font color="#FF6600">lang</font>, <font color="#FF6600">nonempty</font>}], <font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Match fields with default values</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>#{<span style="color: #FF6600">lang</span> <span style="color: #990000">:=</span> <span style="color: #009900">Lang</span>}
- <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:match_cookies</span></span>([{<span style="color: #FF6600">lang</span>, [], <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"en-US"</span><span style="color: #990000">&gt;&gt;</span>}], <span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>#{<font color="#FF6600">lang</font> <font color="#990000">:=</font> <font color="#009900">Lang</font>}
+ <font color="#990000">=</font> <b><font color="#000000">cowboy_req:match_cookies</font></b>([{<font color="#FF6600">lang</font>, [], <font color="#990000">&lt;&lt;</font><font color="#FF0000">"en-US"</font><font color="#990000">&gt;&gt;</font>}], <font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.parse_cookies">cowboy_req:parse_cookies(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.parse_cookies">cowboy_req:parse_cookies(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.match_qs/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.match_qs/index.html
index 634b6723..b46745c6 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.match_qs/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.match_qs/index.html
@@ -62,123 +62,67 @@
<h1 class="lined-header"><span>cowboy_req:match_qs(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:match_qs - Match the query string against constraints</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:match_qs - Match the query string against constraints</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">match_qs</span></span>(<span style="color: #009900">Fields</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:fields</span></span>(), <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>())
- <span style="color: #990000">-&gt;</span> #{<span style="font-weight: bold"><span style="color: #000080">atom</span></span>() <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>Parse the query string and match specific values against
-constraints.</p></div>
-<div class="paragraph"><p>Cowboy will only return the query string values specified
-in the fields list, and ignore all others. Fields can be
-either the key requested; the key along with a list of
-constraints; or the key, a list of constraints and a
-default value in case the key is missing.</p></div>
-<div class="paragraph"><p>This function will crash if the key is missing and no
-default value is provided. This function will also crash
-if a constraint fails.</p></div>
-<div class="paragraph"><p>The key must be provided as an atom. The key of the
-returned map will be that atom. The value may be converted
-through the use of constraints, making this function able
-to extract, validate and convert values all in one step.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">match_qs</font></b>(<font color="#009900">Fields</font> <font color="#990000">::</font> <b><font color="#000000">cowboy:fields</font></b>(), <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>())
+ <font color="#990000">-&gt;</font> #{<b><font color="#000080">atom</font></b>() <font color="#990000">=&gt;</font> <b><font color="#000000">any</font></b>()}</tt></pre>
+</div></div>
+<p>Parse the query string and match specific values against constraints.</p>
+<p>Cowboy will only return the query string values specified in the fields list, and ignore all others. Fields can be either the key requested; the key along with a list of constraints; or the key, a list of constraints and a default value in case the key is missing.</p>
+<p>This function will crash if the key is missing and no default value is provided. This function will also crash if a constraint fails.</p>
+<p>The key must be provided as an atom. The key of the returned map will be that atom. The value may be converted through the use of constraints, making this function able to extract, validate and convert values all in one step.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Fields
-</dt>
-<dd>
-<p>
-Fields to retrieve from the query string.
-</p>
-<div class="paragraph"><p>See <a href="../cowboy">cowboy(3)</a> for a complete description.</p></div>
+<dl><dt>Fields</dt>
+<dd><p>Fields to retrieve from the query string.</p>
+<p>See <a href="../cowboy">cowboy(3)</a> for a complete description.</p>
</dd>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Desired values are returned as a map. The key is the atom
-that was given in the list of fields, and the value is the
-optionally converted value after applying constraints.</p></div>
-<div class="paragraph"><p>The map contains the same keys that were given in the fields.</p></div>
-<div class="paragraph"><p>An exception is triggered when the match fails.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>Desired values are returned as a map. The key is the atom that was given in the list of fields, and the value is the optionally converted value after applying constraints.</p>
+<p>The map contains the same keys that were given in the fields.</p>
+<p>An exception is triggered when the match fails.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Function introduced.
-</p>
+<ul><li><strong>2.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Match fields</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Match fields</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-style: italic"><span style="color: #9A1900">%% ID and Lang are binaries.</span></span>
-#{<span style="color: #FF6600">id</span> <span style="color: #990000">:=</span> <span style="color: #009900">ID</span>, <span style="color: #FF6600">lang</span> <span style="color: #990000">:=</span> <span style="color: #009900">Lang</span>}
- <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:match_qs</span></span>([<span style="color: #FF6600">id</span>, <span style="color: #FF6600">lang</span>], <span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Match fields and apply constraints</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><i><font color="#9A1900">%% ID and Lang are binaries.</font></i>
+#{<font color="#FF6600">id</font> <font color="#990000">:=</font> <font color="#009900">ID</font>, <font color="#FF6600">lang</font> <font color="#990000">:=</font> <font color="#009900">Lang</font>}
+ <font color="#990000">=</font> <b><font color="#000000">cowboy_req:match_qs</font></b>([<font color="#FF6600">id</font>, <font color="#FF6600">lang</font>], <font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Match fields and apply constraints</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-style: italic"><span style="color: #9A1900">%% ID is an integer and Lang a non-empty binary.</span></span>
-#{<span style="color: #FF6600">id</span> <span style="color: #990000">:=</span> <span style="color: #009900">ID</span>, <span style="color: #FF6600">lang</span> <span style="color: #990000">:=</span> <span style="color: #009900">Lang</span>}
- <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:match_qs</span></span>([{<span style="color: #FF6600">id</span>, <span style="color: #FF6600">int</span>}, {<span style="color: #FF6600">lang</span>, <span style="color: #FF6600">nonempty</span>}], <span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Match fields with default values</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><i><font color="#9A1900">%% ID is an integer and Lang a non-empty binary.</font></i>
+#{<font color="#FF6600">id</font> <font color="#990000">:=</font> <font color="#009900">ID</font>, <font color="#FF6600">lang</font> <font color="#990000">:=</font> <font color="#009900">Lang</font>}
+ <font color="#990000">=</font> <b><font color="#000000">cowboy_req:match_qs</font></b>([{<font color="#FF6600">id</font>, <font color="#FF6600">int</font>}, {<font color="#FF6600">lang</font>, <font color="#FF6600">nonempty</font>}], <font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Match fields with default values</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>#{<span style="color: #FF6600">lang</span> <span style="color: #990000">:=</span> <span style="color: #009900">Lang</span>}
- <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:match_qs</span></span>([{<span style="color: #FF6600">lang</span>, [], <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"en-US"</span><span style="color: #990000">&gt;&gt;</span>}], <span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>#{<font color="#FF6600">lang</font> <font color="#990000">:=</font> <font color="#009900">Lang</font>}
+ <font color="#990000">=</font> <b><font color="#000000">cowboy_req:match_qs</font></b>([{<font color="#FF6600">lang</font>, [], <font color="#990000">&lt;&lt;</font><font color="#FF0000">"en-US"</font><font color="#990000">&gt;&gt;</font>}], <font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.qs">cowboy_req:qs(3)</a>,
-<a href="../cowboy_req.parse_qs">cowboy_req:parse_qs(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.qs">cowboy_req:qs(3)</a>, <a href="../cowboy_req.parse_qs">cowboy_req:parse_qs(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.method/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.method/index.html
index 5619ed1f..facfa943 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.method/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.method/index.html
@@ -62,100 +62,58 @@
<h1 class="lined-header"><span>cowboy_req:method(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:method - HTTP method</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:method - HTTP method</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">method</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="color: #009900">Method</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Return the request&#8217;s HTTP method.</p></div>
-<div class="paragraph"><p>The method can also be obtained using pattern matching:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">method</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <font color="#009900">Method</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()</tt></pre>
+</div></div>
+<p>Return the request&apos;s HTTP method.</p>
+<p>The method can also be obtained using pattern matching:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>#{<span style="color: #FF6600">method</span> <span style="color: #990000">:=</span> <span style="color: #009900">Method</span>} <span style="color: #990000">=</span> <span style="color: #009900">Req</span><span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>#{<font color="#FF6600">method</font> <font color="#990000">:=</font> <font color="#009900">Method</font>} <font color="#990000">=</font> <font color="#009900">Req</font><font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The request&#8217;s HTTP method is returned as a binary string.
-While methods are case sensitive, standard methods are
-always uppercase.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The request&apos;s HTTP method is returned as a binary string. While methods are case sensitive, standard methods are always uppercase.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Only the method is returned, it is no longer wrapped in a tuple.
-</p>
+<ul><li><strong>2.0</strong>: Only the method is returned, it is no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Ensure the request&#8217;s method is GET</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Ensure the request&apos;s method is GET</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"GET"</span><span style="color: #990000">&gt;&gt;</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:method</span></span>(<span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Allow methods from list</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><font color="#990000">&lt;&lt;</font><font color="#FF0000">"GET"</font><font color="#990000">&gt;&gt;</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:method</font></b>(<font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Allow methods from list</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">init</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span>
- <span style="font-weight: bold"><span style="color: #0000FF">case</span></span> <span style="font-weight: bold"><span style="color: #000000">lists:member</span></span>(<span style="font-weight: bold"><span style="color: #000000">cowboy_req:method</span></span>(<span style="color: #009900">Req</span>), [<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"GET"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"POST"</span><span style="color: #990000">&gt;&gt;</span>]) <span style="font-weight: bold"><span style="color: #0000FF">of</span></span>
- <span style="color: #000080">true</span> <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">handle</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>);
- <span style="color: #000080">false</span> <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">method_not_allowed</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>)
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span><span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">init</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font>
+ <b><font color="#0000FF">case</font></b> <b><font color="#000000">lists:member</font></b>(<b><font color="#000000">cowboy_req:method</font></b>(<font color="#009900">Req</font>), [<font color="#990000">&lt;&lt;</font><font color="#FF0000">"GET"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"POST"</font><font color="#990000">&gt;&gt;</font>]) <b><font color="#0000FF">of</font></b>
+ <font color="#000080">true</font> <font color="#990000">-&gt;</font> <b><font color="#000000">handle</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>);
+ <font color="#000080">false</font> <font color="#990000">-&gt;</font> <b><font color="#000000">method_not_allowed</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>)
+ <b><font color="#0000FF">end</font></b><font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.parse_cookies/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.parse_cookies/index.html
index 932f72a3..d8188db0 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.parse_cookies/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.parse_cookies/index.html
@@ -62,91 +62,47 @@
<h1 class="lined-header"><span>cowboy_req:parse_cookies(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:parse_cookies - Parse cookie headers</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:parse_cookies - Parse cookie headers</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">parse_cookies</span></span>(<span style="color: #009900">Req</span>) <span style="color: #990000">-&gt;</span> [{<span style="color: #009900">Name</span>, <span style="color: #009900">Value</span>}]
-
-<span style="color: #009900">Name</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span>
-<span style="color: #009900">Value</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span></tt></pre></div></div>
-<div class="paragraph"><p>Parse cookie headers.</p></div>
-<div class="paragraph"><p>Alias for <a href="../cowboy_req.parse_header">cowboy_req:parse_header(<a href="#cookie">[cookie]</a>, Req)</a>.</p></div>
-<div class="paragraph"><p>When the cookie header is missing, <code>[]</code> is returned.</p></div>
-<div class="paragraph"><p>While an empty cookie header is not valid, some clients do
-send it. Cowboy will in this case also return <code>[]</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">parse_cookies</font></b>(<font color="#009900">Req</font>) <font color="#990000">-&gt;</font> [{<font color="#009900">Name</font>, <font color="#009900">Value</font>}]
+
+<font color="#009900">Name</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case sensitive</font></i>
+<font color="#009900">Value</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case sensitive</font></i></tt></pre>
+</div></div>
+<p>Parse cookie headers.</p>
+<p>Alias for <a href="../cowboy_req.parse_header">cowboy_req:parse_header(&lt;&lt;&quot;cookie&quot;&gt;&gt;, Req)</a>.</p>
+<p>When the cookie header is missing, <code>[]</code> is returned.</p>
+<p>While an empty cookie header is not valid, some clients do send it. Cowboy will in this case also return <code>[]</code>.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The cookies are returned as a list of key/values. Keys and
-values are case sensitive binary strings.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The cookies are returned as a list of key/values. Keys and values are case sensitive binary strings.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Only the parsed header value is returned, it is no longer wrapped in a tuple.
-</p>
+<ul><li><strong>2.0</strong>: Only the parsed header value is returned, it is no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>2.0</strong>: Function introduced. Replaces <code>cookie/2,3</code> and <code>cookies/1</code>.
-</p>
+<li><strong>2.0</strong>: Function introduced. Replaces <code>cookie/2,3</code> and <code>cookies/1</code>.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Look for a specific cookie</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Look for a specific cookie</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Cookies</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:parse_cookies</span></span>(<span style="color: #009900">Req</span>),
-{<span style="color: #990000">_</span>, <span style="color: #009900">Token</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">lists:keyfind</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"token"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #993399">1</span>, <span style="color: #009900">Cookies</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Cookies</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:parse_cookies</font></b>(<font color="#009900">Req</font>),
+{<font color="#990000">_</font>, <font color="#009900">Token</font>} <font color="#990000">=</font> <b><font color="#000000">lists:keyfind</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"token"</font><font color="#990000">&gt;&gt;</font>, <font color="#993399">1</font>, <font color="#009900">Cookies</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.parse_header">cowboy_req:parse_header(3)</a>,
-<a href="../cowboy_req.match_cookies">cowboy_req:match_cookies(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.parse_header">cowboy_req:parse_header(3)</a>, <a href="../cowboy_req.match_cookies">cowboy_req:match_cookies(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.parse_header/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.parse_header/index.html
index a074485f..a4e0c4d7 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.parse_header/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.parse_header/index.html
@@ -62,283 +62,218 @@
<h1 class="lined-header"><span>cowboy_req:parse_header(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:parse_header - Parse the given HTTP header</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:parse_header - Parse the given HTTP header</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">parse_header</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Req</span>) <span style="color: #990000">-&gt;</span> <span style="color: #009900">ParsedValue</span> | <span style="color: #009900">Default</span>
-<span style="font-weight: bold"><span style="color: #000000">parse_header</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">Default</span>) <span style="color: #990000">-&gt;</span> <span style="color: #009900">ParsedValue</span> | <span style="color: #009900">Default</span>
-
-<span style="color: #009900">Name</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()
-<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()
-<span style="color: #009900">ParsedValue</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Parse the given HTTP header.</p></div>
-<div class="paragraph"><p>The header name must be given as a lowercase binary string.
-While header names are case insensitive, Cowboy requires them
-to be given as lowercase to function properly.</p></div>
-<div class="paragraph"><p>The type of the parsed value varies depending on
-the header. Similarly, the default value when calling
-<code>cowboy_req:parse_header/2</code> differs depending on the
-header.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">parse_header</font></b>(<font color="#009900">Name</font>, <font color="#009900">Req</font>) <font color="#990000">-&gt;</font> <font color="#009900">ParsedValue</font> | <font color="#009900">Default</font>
+<b><font color="#000000">parse_header</font></b>(<font color="#009900">Name</font>, <font color="#009900">Req</font>, <font color="#009900">Default</font>) <font color="#990000">-&gt;</font> <font color="#009900">ParsedValue</font> | <font color="#009900">Default</font>
+
+<font color="#009900">Name</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()
+<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()
+<font color="#009900">ParsedValue</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()
+<font color="#009900">Default</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()</tt></pre>
+</div></div>
+<p>Parse the given HTTP header.</p>
+<p>The header name must be given as a lowercase binary string. While header names are case insensitive, Cowboy requires them to be given as lowercase to function properly.</p>
+<p>The type of the parsed value varies depending on the header. Similarly, the default value when calling <code>cowboy_req:parse_header/2</code> differs depending on the header.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Name
-</dt>
-<dd>
-<p>
-Desired HTTP header name as a lowercase binary string.
-</p>
+<dl><dt>Name</dt>
+<dd><p>Desired HTTP header name as a lowercase binary string.</p>
</dd>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-<dt class="hdlist1">
-Default
-</dt>
-<dd>
-<p>
-Default value returned when the header is missing.
-</p>
+<dt>Default</dt>
+<dd><p>Default value returned when the header is missing.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The parsed header value varies depending on the header.
-When the header is missing, the default argument is returned.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The parsed header value varies depending on the header. When the header is missing, the default argument is returned.</p>
<h2 id="_headers">Headers</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The following snippets detail the types returned by the
-different headers. Unless mentioned otherwise, the
-default value when the header is missing will be <code>undefined</code>:</p></div>
-<div class="listingblock">
-<div class="title">accept</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<p>The following snippets detail the types returned by the different headers. Unless mentioned otherwise, the default value when the header is missing will be <code>undefined</code>:</p>
+<div class="listingblock"><div class="title">accept</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">parse_header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"accept"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req</span>)
- <span style="color: #990000">-&gt;</span> [{{<span style="color: #009900">Type</span>, <span style="color: #009900">SubType</span>, <span style="color: #009900">Params</span>}, <span style="color: #009900">Quality</span>, <span style="color: #009900">AcceptExt</span>}]
-
-<span style="color: #009900">Type</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case insensitive</span></span>
-<span style="color: #009900">SubType</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case insensitive</span></span>
-<span style="color: #009900">Params</span> <span style="color: #990000">::</span> [{<span style="color: #009900">Key</span>, <span style="color: #009900">Value</span>}]
-<span style="color: #009900">Quality</span> <span style="color: #990000">::</span> <span style="color: #993399">0</span><span style="color: #990000">..</span><span style="color: #993399">1000</span>
-<span style="color: #009900">AcceptExt</span> <span style="color: #990000">::</span> [<span style="color: #009900">Key</span> | {<span style="color: #009900">Key</span>, <span style="color: #009900">Value</span>}]
-<span style="color: #009900">Key</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case insensitive</span></span>
-<span style="color: #009900">Value</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">accept-charset, accept-encoding and accept-language</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">parse_header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"accept"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req</font>)
+ <font color="#990000">-&gt;</font> [{{<font color="#009900">Type</font>, <font color="#009900">SubType</font>, <font color="#009900">Params</font>}, <font color="#009900">Quality</font>, <font color="#009900">AcceptExt</font>}]
+
+<font color="#009900">Type</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case insensitive</font></i>
+<font color="#009900">SubType</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case insensitive</font></i>
+<font color="#009900">Params</font> <font color="#990000">::</font> [{<font color="#009900">Key</font>, <font color="#009900">Value</font>}]
+<font color="#009900">Quality</font> <font color="#990000">::</font> <font color="#993399">0</font><font color="#990000">..</font><font color="#993399">1000</font>
+<font color="#009900">AcceptExt</font> <font color="#990000">::</font> [<font color="#009900">Key</font> | {<font color="#009900">Key</font>, <font color="#009900">Value</font>}]
+<font color="#009900">Key</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case insensitive</font></i>
+<font color="#009900">Value</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case sensitive</font></i></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">accept-charset, accept-encoding and accept-language</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">parse_header</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Req</span>) <span style="color: #990000">-&gt;</span> [{<span style="color: #009900">Value</span>, <span style="color: #009900">Quality</span>}]
-
-<span style="color: #009900">Name</span> <span style="color: #990000">::</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"accept-charset"</span><span style="color: #990000">&gt;&gt;</span>
- | <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"accept-encoding"</span><span style="color: #990000">&gt;&gt;</span>
- | <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"accept-language"</span><span style="color: #990000">&gt;&gt;</span>
-<span style="color: #009900">Value</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case insensitive</span></span>
-<span style="color: #009900">Quality</span> <span style="color: #990000">::</span> <span style="color: #993399">0</span><span style="color: #990000">..</span><span style="color: #993399">1000</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">authorization</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">parse_header</font></b>(<font color="#009900">Name</font>, <font color="#009900">Req</font>) <font color="#990000">-&gt;</font> [{<font color="#009900">Value</font>, <font color="#009900">Quality</font>}]
+
+<font color="#009900">Name</font> <font color="#990000">::</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"accept-charset"</font><font color="#990000">&gt;&gt;</font>
+ | <font color="#990000">&lt;&lt;</font><font color="#FF0000">"accept-encoding"</font><font color="#990000">&gt;&gt;</font>
+ | <font color="#990000">&lt;&lt;</font><font color="#FF0000">"accept-language"</font><font color="#990000">&gt;&gt;</font>
+<font color="#009900">Value</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case insensitive</font></i>
+<font color="#009900">Quality</font> <font color="#990000">::</font> <font color="#993399">0</font><font color="#990000">..</font><font color="#993399">1000</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">authorization</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">parse_header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"authorization"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req</span>)
- <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">basic</span>, <span style="color: #009900">Username</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">Password</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()}
- | {<span style="color: #FF6600">bearer</span>, <span style="color: #009900">Token</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()}
- | {<span style="color: #FF6600">digest</span>, [{<span style="color: #009900">Key</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">Value</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()}]}</tt></pre></div></div>
-<div class="listingblock">
-<div class="title">content-length</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">parse_header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"authorization"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req</font>)
+ <font color="#990000">-&gt;</font> {<font color="#FF6600">basic</font>, <font color="#009900">Username</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">Password</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()}
+ | {<font color="#FF6600">bearer</font>, <font color="#009900">Token</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()}
+ | {<font color="#FF6600">digest</font>, [{<font color="#009900">Key</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">Value</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()}]}</tt></pre>
+</div></div>
+<!-- @todo Currently also parses connection. Do we want this? Should it be documented? Use case?-->
+<div class="listingblock"><div class="title">content-length</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">parse_header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"content-length"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req</span>) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>When the content-length header is missing, <code>0</code> is returned.</p></div>
-<div class="listingblock">
-<div class="title">content-type</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">parse_header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-length"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req</font>) <font color="#990000">-&gt;</font> <b><font color="#000000">non_neg_integer</font></b>()</tt></pre>
+</div></div>
+<p>When the content-length header is missing, <code>0</code> is returned.</p>
+<div class="listingblock"><div class="title">content-type</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">parse_header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req</span>)
- <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Type</span>, <span style="color: #009900">SubType</span>, <span style="color: #009900">Params</span>}
-
-<span style="color: #009900">Type</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case insensitive</span></span>
-<span style="color: #009900">SubType</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case insensitive</span></span>
-<span style="color: #009900">Params</span> <span style="color: #990000">::</span> [{<span style="color: #009900">Key</span>, <span style="color: #009900">Value</span>}]
-<span style="color: #009900">Key</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case insensitive</span></span>
-<span style="color: #009900">Value</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive;</span></span></tt></pre></div></div>
-<div class="paragraph"><p>Note that the value for the charset parameter is case insensitive
-and returned as a lowercase binary string.</p></div>
-<div class="listingblock">
-<div class="title">cookie</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">parse_header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req</font>)
+ <font color="#990000">-&gt;</font> {<font color="#009900">Type</font>, <font color="#009900">SubType</font>, <font color="#009900">Params</font>}
+
+<font color="#009900">Type</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case insensitive</font></i>
+<font color="#009900">SubType</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case insensitive</font></i>
+<font color="#009900">Params</font> <font color="#990000">::</font> [{<font color="#009900">Key</font>, <font color="#009900">Value</font>}]
+<font color="#009900">Key</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case insensitive</font></i>
+<font color="#009900">Value</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case sensitive;</font></i></tt></pre>
+</div></div>
+<p>Note that the value for the charset parameter is case insensitive and returned as a lowercase binary string.</p>
+<div class="listingblock"><div class="title">cookie</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">parse_header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"cookie"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req</span>) <span style="color: #990000">-&gt;</span> [{<span style="color: #009900">Name</span>, <span style="color: #009900">Value</span>}]
-
-<span style="color: #009900">Name</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span>
-<span style="color: #009900">Value</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span></tt></pre></div></div>
-<div class="paragraph"><p>When the cookie header is missing, <code>[]</code> is returned.</p></div>
-<div class="paragraph"><p>While an empty cookie header is not valid, some clients do
-send it. Cowboy will in this case also return <code>[]</code>.</p></div>
-<div class="listingblock">
-<div class="title">expect</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">parse_header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"cookie"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req</font>) <font color="#990000">-&gt;</font> [{<font color="#009900">Name</font>, <font color="#009900">Value</font>}]
+
+<font color="#009900">Name</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case sensitive</font></i>
+<font color="#009900">Value</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case sensitive</font></i></tt></pre>
+</div></div>
+<p>When the cookie header is missing, <code>[]</code> is returned.</p>
+<p>While an empty cookie header is not valid, some clients do send it. Cowboy will in this case also return <code>[]</code>.</p>
+<div class="listingblock"><div class="title">expect</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">parse_header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"expect"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req</span>) <span style="color: #990000">-&gt;</span> <span style="color: #FF6600">continue</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">if-match and if-none-match</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">parse_header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"expect"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req</font>) <font color="#990000">-&gt;</font> <font color="#FF6600">continue</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">if-match and if-none-match</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">parse_header</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Req</span>)
- <span style="color: #990000">-&gt;</span> <span style="color: #FF6600">'*'</span> | [{<span style="color: #FF6600">weak</span> | <span style="color: #FF6600">strong</span>, <span style="color: #009900">OpaqueTag</span>}]
-
-<span style="color: #009900">Name</span> <span style="color: #990000">::</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"if-match"</span><span style="color: #990000">&gt;&gt;</span>
- | <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"if-none-match"</span><span style="color: #990000">&gt;&gt;</span>
-<span style="color: #009900">OpaqueTag</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">if-modified-since and if-unmodified-since</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">parse_header</font></b>(<font color="#009900">Name</font>, <font color="#009900">Req</font>)
+ <font color="#990000">-&gt;</font> <font color="#FF6600">'*'</font> | [{<font color="#FF6600">weak</font> | <font color="#FF6600">strong</font>, <font color="#009900">OpaqueTag</font>}]
+
+<font color="#009900">Name</font> <font color="#990000">::</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"if-match"</font><font color="#990000">&gt;&gt;</font>
+ | <font color="#990000">&lt;&lt;</font><font color="#FF0000">"if-none-match"</font><font color="#990000">&gt;&gt;</font>
+<font color="#009900">OpaqueTag</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case sensitive</font></i></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">if-modified-since and if-unmodified-since</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">parse_header</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Req</span>) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">calendar:datetime</span></span>()</tt></pre></div></div>
-<div class="listingblock">
-<div class="title">range</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">parse_header</font></b>(<font color="#009900">Name</font>, <font color="#009900">Req</font>) <font color="#990000">-&gt;</font> <b><font color="#000000">calendar:datetime</font></b>()</tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">range</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">parse_header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"range"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">From</span>, <span style="color: #009900">To</span>} | <span style="color: #009900">Final</span>
-
-<span style="color: #009900">From</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>()
-<span style="color: #009900">To</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>() | <span style="color: #FF6600">infinity</span>
-<span style="color: #009900">Final</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">neg_integer</span></span>()</tt></pre></div></div>
-<div class="listingblock">
-<div class="title">sec-websocket-extensions</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">parse_header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"range"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req</font>) <font color="#990000">-&gt;</font> {<font color="#009900">From</font>, <font color="#009900">To</font>} | <font color="#009900">Final</font>
+
+<font color="#009900">From</font> <font color="#990000">::</font> <b><font color="#000000">non_neg_integer</font></b>()
+<font color="#009900">To</font> <font color="#990000">::</font> <b><font color="#000000">non_neg_integer</font></b>() | <font color="#FF6600">infinity</font>
+<font color="#009900">Final</font> <font color="#990000">::</font> <b><font color="#000000">neg_integer</font></b>()</tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">sec-websocket-extensions</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">parse_header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"sec-websocket-extensions"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req</span>)
- <span style="color: #990000">-&gt;</span> [{<span style="color: #009900">Extension</span>, <span style="color: #009900">Params</span>}]
-
-<span style="color: #009900">Extension</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span>
-<span style="color: #009900">Params</span> <span style="color: #990000">::</span> [<span style="color: #009900">Key</span> | {<span style="color: #009900">Key</span>, <span style="color: #009900">Value</span>}]
-<span style="color: #009900">Key</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span>
-<span style="color: #009900">Value</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">sec-websocket-protocol and upgrade</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">parse_header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"sec-websocket-extensions"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req</font>)
+ <font color="#990000">-&gt;</font> [{<font color="#009900">Extension</font>, <font color="#009900">Params</font>}]
+
+<font color="#009900">Extension</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case sensitive</font></i>
+<font color="#009900">Params</font> <font color="#990000">::</font> [<font color="#009900">Key</font> | {<font color="#009900">Key</font>, <font color="#009900">Value</font>}]
+<font color="#009900">Key</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case sensitive</font></i>
+<font color="#009900">Value</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case sensitive</font></i></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">sec-websocket-protocol and upgrade</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">parse_header</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Req</span>) <span style="color: #990000">-&gt;</span> [<span style="color: #009900">Token</span>]
-
-<span style="color: #009900">Name</span> <span style="color: #990000">::</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"sec-websocket-protocol"</span><span style="color: #990000">&gt;&gt;</span>
- | <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"upgrade"</span><span style="color: #990000">&gt;&gt;</span>
-<span style="color: #009900">Token</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case insensitive</span></span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">x-forwarded-for</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">parse_header</font></b>(<font color="#009900">Name</font>, <font color="#009900">Req</font>) <font color="#990000">-&gt;</font> [<font color="#009900">Token</font>]
+
+<font color="#009900">Name</font> <font color="#990000">::</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"sec-websocket-protocol"</font><font color="#990000">&gt;&gt;</font>
+ | <font color="#990000">&lt;&lt;</font><font color="#FF0000">"upgrade"</font><font color="#990000">&gt;&gt;</font>
+<font color="#009900">Token</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case insensitive</font></i></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">x-forwarded-for</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">parse_header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"x-forwarded-for"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req</span>) <span style="color: #990000">-&gt;</span> [<span style="color: #009900">Token</span>]
+<pre><tt><b><font color="#000000">parse_header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"x-forwarded-for"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req</font>) <font color="#990000">-&gt;</font> [<font color="#009900">Token</font>]
-<span style="color: #009900">Token</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Unknown headers</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<font color="#009900">Token</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case sensitive</font></i></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Unknown headers</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">parse_header</span></span>(<span style="color: #990000">_</span>, <span style="color: #009900">Req</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #000080">undefined</span>, <span style="color: #009900">RawValue</span>}</tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">parse_header</font></b>(<font color="#990000">_</font>, <font color="#009900">Req</font>) <font color="#990000">-&gt;</font> {<font color="#000080">undefined</font>, <font color="#009900">RawValue</font>}</tt></pre>
+</div></div>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Only the parsed header value is returned, it is no longer wrapped in a tuple.
-</p>
+<ul><li><strong>2.0</strong>: Only the parsed header value is returned, it is no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Parse the accept header with a custom default value</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Parse the accept header with a custom default value</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-style: italic"><span style="color: #9A1900">%% Accept everything when header is missing.</span></span>
-<span style="color: #009900">Accept</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:parse_header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"accept"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req</span>,
- [{{ <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"*"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"*"</span><span style="color: #990000">&gt;&gt;</span>, []}, <span style="color: #993399">1000</span>, []}])<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Parse the content-length header</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><i><font color="#9A1900">%% Accept everything when header is missing.</font></i>
+<font color="#009900">Accept</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:parse_header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"accept"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req</font>,
+ [{{ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"*"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"*"</font><font color="#990000">&gt;&gt;</font>, []}, <font color="#993399">1000</font>, []}])<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Parse the content-length header</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-style: italic"><span style="color: #9A1900">%% Default content-length is 0.</span></span>
-<span style="color: #009900">Length</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"content-length"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><i><font color="#9A1900">%% Default content-length is 0.</font></i>
+<font color="#009900">Length</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-length"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.header">cowboy_req:header(3)</a>,
-<a href="../cowboy_req.headers">cowboy_req:headers(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.header">cowboy_req:header(3)</a>, <a href="../cowboy_req.headers">cowboy_req:headers(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.parse_qs/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.parse_qs/index.html
index bff11c10..1680b60e 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.parse_qs/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.parse_qs/index.html
@@ -62,117 +62,55 @@
<h1 class="lined-header"><span>cowboy_req:parse_qs(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:parse_qs - Parse the query string</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:parse_qs - Parse the query string</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">parse_qs</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>())
- <span style="color: #990000">-&gt;</span> [{<span style="color: #009900">Key</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">Value</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() | <span style="color: #000080">true</span>}]</tt></pre></div></div>
-<div class="paragraph"><p>Parse the query string as a list of key/value pairs.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">parse_qs</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>())
+ <font color="#990000">-&gt;</font> [{<font color="#009900">Key</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">Value</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() | <font color="#000080">true</font>}]</tt></pre>
+</div></div>
+<p>Parse the query string as a list of key/value pairs.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The parsed query string is returned as a list of key/value pairs.
-The key is a binary string. The value is either a binary string,
-or the atom <code>true</code>. Both key and value are case sensitive.</p></div>
-<div class="paragraph"><p>The atom <code>true</code> is returned when a key is present in the query
-string without a value. For example, in the following URIs
-the key <code>&lt;&lt;"edit"&gt;&gt;</code> will always have the value <code>true</code>:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<code>/posts/42?edit</code>
-</p>
+<p>The parsed query string is returned as a list of key/value pairs. The key is a binary string. The value is either a binary string, or the atom <code>true</code>. Both key and value are case sensitive.</p>
+<p>The atom <code>true</code> is returned when a key is present in the query string without a value. For example, in the following URIs the key <code>&lt;&lt;&quot;edit&quot;&gt;&gt;</code> will always have the value <code>true</code>:</p>
+<ul><li><code>/posts/42?edit</code>
</li>
-<li>
-<p>
-<code>/posts/42?edit&amp;exclusive=1</code>
-</p>
+<li><code>/posts/42?edit&amp;exclusive=1</code>
</li>
-<li>
-<p>
-<code>/posts/42?exclusive=1&amp;edit</code>
-</p>
+<li><code>/posts/42?exclusive=1&amp;edit</code>
</li>
-<li>
-<p>
-<code>/posts/42?exclusive=1&amp;edit&amp;from=web</code>
-</p>
+<li><code>/posts/42?exclusive=1&amp;edit&amp;from=web</code>
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: The parsed value is not longer cached in the Req object.
-</p>
+<ul><li><strong>2.0</strong>: The parsed value is not longer cached in the Req object.
</li>
-<li>
-<p>
-<strong>2.0</strong>: Only the parsed query string is returned, it is no longer wrapped in a tuple.
-</p>
+<li><strong>2.0</strong>: Only the parsed query string is returned, it is no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>2.0</strong>: Function introduced. Replaces <code>qs_val/1</code> and <code>qs_vals/1</code>.
-</p>
+<li><strong>2.0</strong>: Function introduced. Replaces <code>qs_val/1</code> and <code>qs_vals/1</code>.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Parse the query string and convert the keys to atoms</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Parse the query string and convert the keys to atoms</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">ParsedQs</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:parse_qs</span></span>(<span style="color: #009900">Req</span>),
-<span style="color: #009900">AtomsQs</span> <span style="color: #990000">=</span> [{<span style="font-weight: bold"><span style="color: #000000">binary_to_existing_atom</span></span>(<span style="color: #009900">K</span>, <span style="color: #FF6600">latin1</span>), <span style="color: #009900">V</span>}
- || {<span style="color: #009900">K</span>, <span style="color: #009900">V</span>} <span style="color: #990000">&lt;-</span> <span style="color: #009900">ParsedQs</span>]<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">ParsedQs</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:parse_qs</font></b>(<font color="#009900">Req</font>),
+<font color="#009900">AtomsQs</font> <font color="#990000">=</font> [{<b><font color="#000000">binary_to_existing_atom</font></b>(<font color="#009900">K</font>, <font color="#FF6600">latin1</font>), <font color="#009900">V</font>}
+ || {<font color="#009900">K</font>, <font color="#009900">V</font>} <font color="#990000">&lt;-</font> <font color="#009900">ParsedQs</font>]<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.qs">cowboy_req:qs(3)</a>,
-<a href="../cowboy_req.match_qs">cowboy_req:match_qs(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.qs">cowboy_req:qs(3)</a>, <a href="../cowboy_req.match_qs">cowboy_req:match_qs(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.path/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.path/index.html
index 4779baf5..0fe2594d 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.path/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.path/index.html
@@ -62,90 +62,47 @@
<h1 class="lined-header"><span>cowboy_req:path(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:path - URI path</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:path - URI path</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">path</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="color: #009900">Path</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Return the path of the effective request URI.</p></div>
-<div class="paragraph"><p>The path can also be obtained using pattern matching:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">path</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <font color="#009900">Path</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()</tt></pre>
+</div></div>
+<p>Return the path of the effective request URI.</p>
+<p>The path can also be obtained using pattern matching:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>#{<span style="color: #FF6600">path</span> <span style="color: #990000">:=</span> <span style="color: #009900">Path</span>} <span style="color: #990000">=</span> <span style="color: #009900">Req</span><span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>#{<font color="#FF6600">path</font> <font color="#990000">:=</font> <font color="#009900">Path</font>} <font color="#990000">=</font> <font color="#009900">Req</font><font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The path is returned as a binary string. It is case sensitive.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The path is returned as a binary string. It is case sensitive.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Only the path is returned, it is no longer wrapped in a tuple.
-</p>
+<ul><li><strong>2.0</strong>: Only the path is returned, it is no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Get the effective request URI&#8217;s path</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Get the effective request URI&apos;s path</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Path</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:path</span></span>(<span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Path</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:path</font></b>(<font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.binding">cowboy_req:binding(3)</a>,
-<a href="../cowboy_req.bindings">cowboy_req:bindings(3)</a>,
-<a href="../cowboy_req.path_info">cowboy_req:path_info(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.binding">cowboy_req:binding(3)</a>, <a href="../cowboy_req.bindings">cowboy_req:bindings(3)</a>, <a href="../cowboy_req.path_info">cowboy_req:path_info(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.path_info/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.path_info/index.html
index 9adc2dfd..cc5a9709 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.path_info/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.path_info/index.html
@@ -62,87 +62,41 @@
<h1 class="lined-header"><span>cowboy_req:path_info(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:path_info - Access the route&#8217;s trailing path segments</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:path_info - Access the route&apos;s trailing path segments</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">path_info</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_router:tokens</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Return the tokens for the trailing path segments.</p></div>
-<div class="paragraph"><p>This is the part of the host name that was matched using
-the <code>...</code> notation.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">path_info</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <b><font color="#000000">cowboy_router:tokens</font></b>()</tt></pre>
+</div></div>
+<p>Return the tokens for the trailing path segments.</p>
+<p>This is the part of the host name that was matched using the <code>...</code> notation.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The tokens are returned as a list of case sensitive
-binary strings.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The tokens are returned as a list of case sensitive binary strings.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Only the tokens are returned, they are no longer wrapped in a tuple.
-</p>
+<ul><li><strong>2.0</strong>: Only the tokens are returned, they are no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Get the path_info tokens</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Get the path_info tokens</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">PathInfo</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:path_info</span></span>(<span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">PathInfo</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:path_info</font></b>(<font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.binding">cowboy_req:binding(3)</a>,
-<a href="../cowboy_req.bindings">cowboy_req:bindings(3)</a>,
-<a href="../cowboy_req.host_info">cowboy_req:host_info(3)</a>,
-<a href="../cowboy_router">cowboy_router(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.binding">cowboy_req:binding(3)</a>, <a href="../cowboy_req.bindings">cowboy_req:bindings(3)</a>, <a href="../cowboy_req.host_info">cowboy_req:host_info(3)</a>, <a href="../cowboy_router">cowboy_router(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.peer/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.peer/index.html
index bbce29da..9271abc7 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.peer/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.peer/index.html
@@ -62,98 +62,51 @@
<h1 class="lined-header"><span>cowboy_req:peer(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:peer - Peer address and port</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:peer - Peer address and port</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">peer</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="color: #009900">Info</span>
+<pre><tt><b><font color="#000000">peer</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <font color="#009900">Info</font>
-<span style="color: #009900">Info</span> <span style="color: #990000">::</span> {<span style="font-weight: bold"><span style="color: #000000">inet:ip_address</span></span>(), <span style="font-weight: bold"><span style="color: #000000">inet:port_number</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>Return the peer&#8217;s IP address and port number.</p></div>
-<div class="paragraph"><p>The peer information can also be obtained using pattern matching:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<font color="#009900">Info</font> <font color="#990000">::</font> {<b><font color="#000000">inet:ip_address</font></b>(), <b><font color="#000000">inet:port_number</font></b>()}</tt></pre>
+</div></div>
+<p>Return the peer&apos;s IP address and port number.</p>
+<p>The peer information can also be obtained using pattern matching:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>#{<span style="color: #FF6600">peer</span> <span style="color: #990000">:=</span> {<span style="color: #009900">IP</span>, <span style="color: #009900">Port</span>}} <span style="color: #990000">=</span> <span style="color: #009900">Req</span><span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>#{<font color="#FF6600">peer</font> <font color="#990000">:=</font> {<font color="#009900">IP</font>, <font color="#009900">Port</font>}} <font color="#990000">=</font> <font color="#009900">Req</font><font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The peer&#8217;s IP address and port number.</p></div>
-<div class="paragraph"><p>The peer is not necessarily the client&#8217;s IP address and port.
-It is the IP address of the endpoint connecting directly to
-the server, which may be a gateway or a proxy.</p></div>
-<div class="paragraph"><p>The forwarded header can be used to get better information
-about the different endpoints from the client to the server.
-Note however that it is only informative; there is no reliable
-way of determining the source of an HTTP request.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The peer&apos;s IP address and port number.</p>
+<p>The peer is not necessarily the client&apos;s IP address and port. It is the IP address of the endpoint connecting directly to the server, which may be a gateway or a proxy.</p>
+<p>The forwarded header can be used to get better information about the different endpoints from the client to the server. Note however that it is only informative; there is no reliable way of determining the source of an HTTP request.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Only the peer is returned, it is no longer wrapped in a tuple.
-</p>
+<ul><li><strong>2.0</strong>: Only the peer is returned, it is no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Get the peer IP address and port number.</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Get the peer IP address and port number.</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #009900">IP</span>, <span style="color: #009900">Port</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:peer</span></span>(<span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>{<font color="#009900">IP</font>, <font color="#009900">Port</font>} <font color="#990000">=</font> <b><font color="#000000">cowboy_req:peer</font></b>(<font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.sock">cowboy_req:sock(3)</a>,
-<a href="../cowboy_req.cert">cowboy_req:cert(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.sock">cowboy_req:sock(3)</a>, <a href="../cowboy_req.cert">cowboy_req:cert(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.port/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.port/index.html
index 30c8840e..6db57560 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.port/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.port/index.html
@@ -62,90 +62,48 @@
<h1 class="lined-header"><span>cowboy_req:port(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:port - URI port number</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:port - URI port number</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">port</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="color: #009900">Port</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">inet:port_number</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Return the port number of the effective request URI.</p></div>
-<div class="paragraph"><p>Note that the port number returned by this function is obtained
-by parsing the host header. It may be different from the port
-the peer used to connect to Cowboy.</p></div>
-<div class="paragraph"><p>The port number can also be obtained using pattern matching:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">port</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <font color="#009900">Port</font> <font color="#990000">::</font> <b><font color="#000000">inet:port_number</font></b>()</tt></pre>
+</div></div>
+<p>Return the port number of the effective request URI.</p>
+<p>Note that the port number returned by this function is obtained by parsing the host header. It may be different from the port the peer used to connect to Cowboy.</p>
+<p>The port number can also be obtained using pattern matching:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>#{<span style="color: #FF6600">port</span> <span style="color: #990000">:=</span> <span style="color: #009900">Port</span>} <span style="color: #990000">=</span> <span style="color: #009900">Req</span><span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>#{<font color="#FF6600">port</font> <font color="#990000">:=</font> <font color="#009900">Port</font>} <font color="#990000">=</font> <font color="#009900">Req</font><font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The port number is returned as an integer.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The port number is returned as an integer.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Only the port number is returned, it is no longer wrapped in a tuple.
-</p>
+<ul><li><strong>2.0</strong>: Only the port number is returned, it is no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Get the effective request URI&#8217;s port number</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Get the effective request URI&apos;s port number</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Port</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:port</span></span>(<span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Port</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:port</font></b>(<font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.push/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.push/index.html
index 1ad3e8f8..6b2f47a5 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.push/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.push/index.html
@@ -62,142 +62,74 @@
<h1 class="lined-header"><span>cowboy_req:push(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:push - Push a resource to the client</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:push - Push a resource to the client</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">push</span></span>(<span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>())
- <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">push</span></span>(<span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Req</span>, #{})
-
-<span style="font-weight: bold"><span style="color: #000000">push</span></span>(<span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>(), <span style="color: #009900">Opts</span>)
- <span style="color: #990000">-&gt;</span> <span style="color: #FF6600">ok</span>
-
-<span style="color: #009900">Path</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span>
-<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:http_headers</span></span>()
-<span style="color: #009900">Opts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:push_opts</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Push a resource to the client.</p></div>
-<div class="paragraph"><p>Cowboy handles push requests the same way as if they came
-from the client, including the creation of a request handling
-process, routing and middlewares and so on.</p></div>
-<div class="paragraph"><p>This function does nothing when the HTTP/1.1 protocol is
-used. You may call it safely without first checking whether
-the connection uses HTTP/2.</p></div>
-<div class="paragraph"><p>The header names must be given as lowercase binary strings.
-While header names are case insensitive, Cowboy requires them
-to be given as lowercase to function properly.</p></div>
-<div class="paragraph"><p>Note that the headers must be the headers the client is expected
-to send if it were to perform the request. They are therefore
-request headers, and not response headers.</p></div>
-<div class="paragraph"><p>By default, Cowboy will use the GET method, an empty query string,
-and take the scheme, host and port directly from the current
-request&#8217;s URI. You can override them by passing options.</p></div>
-<div class="paragraph"><p>It is not possible to push resources after sending a response.
-Any attempt will result in an error.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">push</font></b>(<font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>())
+ <font color="#990000">-&gt;</font> <b><font color="#000000">push</font></b>(<font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">Req</font>, #{})
+
+<b><font color="#000000">push</font></b>(<font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>(), <font color="#009900">Opts</font>)
+ <font color="#990000">-&gt;</font> <font color="#FF6600">ok</font>
+
+<font color="#009900">Path</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>() <i><font color="#9A1900">%% case sensitive</font></i>
+<font color="#009900">Headers</font> <font color="#990000">::</font> <b><font color="#000000">cowboy:http_headers</font></b>()
+<font color="#009900">Opts</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:push_opts</font></b>()</tt></pre>
+</div></div>
+<p>Push a resource to the client.</p>
+<p>Cowboy handles push requests the same way as if they came from the client, including the creation of a request handling process, routing and middlewares and so on.</p>
+<p>This function does nothing when the HTTP/1.1 protocol is used. You may call it safely without first checking whether the connection uses HTTP/2.</p>
+<p>The header names must be given as lowercase binary strings. While header names are case insensitive, Cowboy requires them to be given as lowercase to function properly.</p>
+<p>Note that the headers must be the headers the client is expected to send if it were to perform the request. They are therefore request headers, and not response headers.</p>
+<p>By default, Cowboy will use the GET method, an empty query string, and take the scheme, host and port directly from the current request&apos;s URI. You can override them by passing options.</p>
+<p>It is not possible to push resources after sending a response. Any attempt will result in an error.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Path
-</dt>
-<dd>
-<p>
-The status code for the response.
-</p>
+<dl><dt>Path</dt>
+<dd><p>The status code for the response.</p>
</dd>
-<dt class="hdlist1">
-Headers
-</dt>
-<dd>
-<p>
-The response headers.
-</p>
+<dt>Headers</dt>
+<dd><p>The response headers.</p>
</dd>
-</dl></div>
-<div class="paragraph"><p>Header names must be given as lowercase binary strings.</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+</dl>
+<p>Header names must be given as lowercase binary strings.</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-<dt class="hdlist1">
-Opts
-</dt>
-<dd>
-<p>
-Customize the HTTP method or the URI scheme, host, port
-or query string.
-</p>
+<dt>Opts</dt>
+<dd><p>Customize the HTTP method or the URI scheme, host, port or query string.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The atom <code>ok</code> is always returned. It can be safely ignored.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The atom <code>ok</code> is always returned. It can be safely ignored.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Function introduced.
-</p>
+<ul><li><strong>2.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Push a resource</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Push a resource</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">cowboy_req:push</span></span>(<span style="color: #FF0000">"/static/style.css"</span>, #{
- <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"accept"</span><span style="color: #990000">&gt;&gt;</span> <span style="color: #990000">=&gt;</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"text/css"</span><span style="color: #990000">&gt;&gt;</span>
-}, <span style="color: #009900">Req</span>),</tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Push a resource with a custom host</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">cowboy_req:push</font></b>(<font color="#FF0000">"/static/style.css"</font>, #{
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"accept"</font><font color="#990000">&gt;&gt;</font> <font color="#990000">=&gt;</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"text/css"</font><font color="#990000">&gt;&gt;</font>
+}, <font color="#009900">Req</font>),</tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Push a resource with a custom host</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">cowboy_req:push</span></span>(<span style="color: #FF0000">"/static/style.css"</span>, #{
- <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"accept"</span><span style="color: #990000">&gt;&gt;</span> <span style="color: #990000">=&gt;</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"text/css"</span><span style="color: #990000">&gt;&gt;</span>
-}, #{<span style="color: #0000FF">host</span> <span style="color: #990000">=&gt;</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"cdn.example.org"</span><span style="color: #990000">&gt;&gt;</span>}, <span style="color: #009900">Req</span>),</tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">cowboy_req:push</font></b>(<font color="#FF0000">"/static/style.css"</font>, #{
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"accept"</font><font color="#990000">&gt;&gt;</font> <font color="#990000">=&gt;</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"text/css"</font><font color="#990000">&gt;&gt;</font>
+}, #{<font color="#0000FF">host</font> <font color="#990000">=&gt;</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"cdn.example.org"</font><font color="#990000">&gt;&gt;</font>}, <font color="#009900">Req</font>),</tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.inform">cowboy_req:inform(3)</a>,
-<a href="../cowboy_req.reply">cowboy_req:reply(3)</a>,
-<a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.inform">cowboy_req:inform(3)</a>, <a href="../cowboy_req.reply">cowboy_req:reply(3)</a>, <a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.qs/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.qs/index.html
index ef4fd23f..66e4ebbd 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.qs/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.qs/index.html
@@ -62,89 +62,47 @@
<h1 class="lined-header"><span>cowboy_req:qs(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:qs - URI query string</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:qs - URI query string</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">qs</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="color: #009900">Qs</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Return the query string of the effective request URI.</p></div>
-<div class="paragraph"><p>The query string can also be obtained using pattern matching:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">qs</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <font color="#009900">Qs</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()</tt></pre>
+</div></div>
+<p>Return the query string of the effective request URI.</p>
+<p>The query string can also be obtained using pattern matching:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>#{<span style="color: #FF6600">qs</span> <span style="color: #990000">:=</span> <span style="color: #009900">Qs</span>} <span style="color: #990000">=</span> <span style="color: #009900">Req</span><span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>#{<font color="#FF6600">qs</font> <font color="#990000">:=</font> <font color="#009900">Qs</font>} <font color="#990000">=</font> <font color="#009900">Req</font><font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The query string is returned as a binary string. It is case sensitive.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The query string is returned as a binary string. It is case sensitive.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Only the query string is returned, it is no longer wrapped in a tuple.
-</p>
+<ul><li><strong>2.0</strong>: Only the query string is returned, it is no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Get the effective request URI&#8217;s query string</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Get the effective request URI&apos;s query string</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Qs</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:qs</span></span>(<span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Qs</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:qs</font></b>(<font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.parse_qs">cowboy_req:parse_qs(3)</a>,
-<a href="../cowboy_req.match_qs">cowboy_req:match_qs(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.parse_qs">cowboy_req:parse_qs(3)</a>, <a href="../cowboy_req.match_qs">cowboy_req:match_qs(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.read_body/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.read_body/index.html
index d4c2157a..1be995a0 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.read_body/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.read_body/index.html
@@ -62,143 +62,72 @@
<h1 class="lined-header"><span>cowboy_req:read_body(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:read_body - Read the request body</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:read_body - Read the request body</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">read_body</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>())
- <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">read_body</span></span>(<span style="color: #009900">Req</span>, #{})
-
-<span style="font-weight: bold"><span style="color: #000000">read_body</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>(), <span style="color: #009900">Opts</span>)
- <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Data</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">Req</span>}
- | {<span style="color: #FF6600">more</span>, <span style="color: #009900">Data</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">Req</span>}
-
-<span style="color: #009900">Opts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:read_body_opts</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Read the request body.</p></div>
-<div class="paragraph"><p>This function reads a chunk of the request body. A <code>more</code> tuple
-is returned when more data remains to be read. Call the function
-repeatedly until an <code>ok</code> tuple is returned to read the entire body.</p></div>
-<div class="paragraph"><p>An <code>ok</code> tuple with empty data is returned when the request has no body,
-or when calling this function again after the body has already
-been read. It is therefore safe to call this function directly.
-Note that the body can only be read once.</p></div>
-<div class="paragraph"><p>This function reads the request body from the connection process.
-The connection process is responsible for reading from the socket.
-The exact behavior varies depending on the protocol.</p></div>
-<div class="paragraph"><p>The options therefore are only related to the communication
-between the request process and the connection process.</p></div>
-<div class="paragraph"><p>Cowboy will automatically handle protocol details including
-the expect header, chunked transfer-encoding and others.</p></div>
-<div class="paragraph"><p>Once the body has been read fully, Cowboy sets the content-length
-header if it was not previously provided.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">read_body</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>())
+ <font color="#990000">-&gt;</font> <b><font color="#000000">read_body</font></b>(<font color="#009900">Req</font>, #{})
+
+<b><font color="#000000">read_body</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>(), <font color="#009900">Opts</font>)
+ <font color="#990000">-&gt;</font> {<font color="#FF6600">ok</font>, <font color="#009900">Data</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">Req</font>}
+ | {<font color="#FF6600">more</font>, <font color="#009900">Data</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">Req</font>}
+
+<font color="#009900">Opts</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:read_body_opts</font></b>()</tt></pre>
+</div></div>
+<p>Read the request body.</p>
+<p>This function reads a chunk of the request body. A <code>more</code> tuple is returned when more data remains to be read. Call the function repeatedly until an <code>ok</code> tuple is returned to read the entire body.</p>
+<p>An <code>ok</code> tuple with empty data is returned when the request has no body, or when calling this function again after the body has already been read. It is therefore safe to call this function directly. Note that the body can only be read once.</p>
+<p>This function reads the request body from the connection process. The connection process is responsible for reading from the socket. The exact behavior varies depending on the protocol.</p>
+<p>The options therefore are only related to the communication between the request process and the connection process.</p>
+<p>Cowboy will automatically handle protocol details including the expect header, chunked transfer-encoding and others.</p>
+<p>Once the body has been read fully, Cowboy sets the content-length header if it was not previously provided.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-<dt class="hdlist1">
-Opts
-</dt>
-<dd>
-<p>
-A map of body reading options.
-</p>
-<div class="paragraph"><p>The <code>length</code> option can be used to request smaller or bigger
-chunks of data to be sent. It is a best effort approach, Cowboy
-may send more data than configured on occasions. It defaults
-to 8MB.</p></div>
-<div class="paragraph"><p>The <code>period</code> indicates how long the connection process will wait
-before it provides us with the data it received. It defaults
-to 15 seconds.</p></div>
-<div class="paragraph"><p>The connection process sends data to the request process when
-either the <code>length</code> of data or the <code>period</code> of time is reached.</p></div>
-<div class="paragraph"><p>The <code>timeout</code> option is a safeguard in case the connection
-process becomes unresponsive. The function will crash if no
-message was received in that interval. The timeout should be
-larger than the period. It defaults to the period + 1 second.</p></div>
+<dt>Opts</dt>
+<dd><p>A map of body reading options.</p>
+<p>The <code>length</code> option can be used to request smaller or bigger chunks of data to be sent. It is a best effort approach, Cowboy may send more data than configured on occasions. It defaults to 8MB.</p>
+<p>The <code>period</code> indicates how long the connection process will wait before it provides us with the data it received. It defaults to 15 seconds.</p>
+<p>The connection process sends data to the request process when either the <code>length</code> of data or the <code>period</code> of time is reached.</p>
+<p>The <code>timeout</code> option is a safeguard in case the connection process becomes unresponsive. The function will crash if no message was received in that interval. The timeout should be larger than the period. It defaults to the period<br/> 1 second.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>A <code>more</code> tuple is returned when there are more data to be read.</p></div>
-<div class="paragraph"><p>An <code>ok</code> tuple is returned when there are no more data to be read,
-either because this is the last chunk of data, the body has already
-been read, or there was no body to begin with.</p></div>
-<div class="paragraph"><p>The data is always returned as a binary.</p></div>
-<div class="paragraph"><p>The Req object returned in the tuple must be used for that point
-onward. It contains a more up to date representation of the request.
-For example it may have an added content-length header once the
-body has been read.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>A <code>more</code> tuple is returned when there are more data to be read.</p>
+<p>An <code>ok</code> tuple is returned when there are no more data to be read, either because this is the last chunk of data, the body has already been read, or there was no body to begin with.</p>
+<p>The data is always returned as a binary.</p>
+<p>The Req object returned in the tuple must be used for that point onward. It contains a more up to date representation of the request. For example it may have an added content-length header once the body has been read.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Function introduced. Replaces <code>body/1,2</code>.
-</p>
+<ul><li><strong>2.0</strong>: Function introduced. Replaces <code>body/1,2</code>.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Read the entire body</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Read the entire body</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">read_body</span></span>(<span style="color: #009900">Req0</span>, <span style="color: #009900">Acc</span>) <span style="color: #990000">-&gt;</span>
- <span style="font-weight: bold"><span style="color: #0000FF">case</span></span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:read_body</span></span>(<span style="color: #009900">Req0</span>) <span style="font-weight: bold"><span style="color: #0000FF">of</span></span>
- {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Data</span>, <span style="color: #009900">Req</span>} <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">ok</span>, <span style="color: #990000">&lt;&lt;</span> <span style="color: #009900">Acc</span><span style="color: #990000">/</span><span style="font-weight: bold"><span style="color: #000080">binary</span></span>, <span style="color: #009900">Data</span><span style="color: #990000">/</span><span style="font-weight: bold"><span style="color: #000080">binary</span></span> <span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req</span>};
- {<span style="color: #FF6600">more</span>, <span style="color: #009900">Data</span>, <span style="color: #009900">Req</span>} <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">read_body</span></span>(<span style="color: #009900">Req</span>, <span style="color: #990000">&lt;&lt;</span> <span style="color: #009900">Acc</span><span style="color: #990000">/</span><span style="font-weight: bold"><span style="color: #000080">binary</span></span>, <span style="color: #009900">Data</span><span style="color: #990000">/</span><span style="font-weight: bold"><span style="color: #000080">binary</span></span> <span style="color: #990000">&gt;&gt;</span>)
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span><span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Read the body in small chunks</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">read_body</font></b>(<font color="#009900">Req0</font>, <font color="#009900">Acc</font>) <font color="#990000">-&gt;</font>
+ <b><font color="#0000FF">case</font></b> <b><font color="#000000">cowboy_req:read_body</font></b>(<font color="#009900">Req0</font>) <b><font color="#0000FF">of</font></b>
+ {<font color="#FF6600">ok</font>, <font color="#009900">Data</font>, <font color="#009900">Req</font>} <font color="#990000">-&gt;</font> {<font color="#FF6600">ok</font>, <font color="#990000">&lt;&lt;</font> <font color="#009900">Acc</font><font color="#990000">/</font><b><font color="#000080">binary</font></b>, <font color="#009900">Data</font><font color="#990000">/</font><b><font color="#000080">binary</font></b> <font color="#990000">&gt;&gt;</font>, <font color="#009900">Req</font>};
+ {<font color="#FF6600">more</font>, <font color="#009900">Data</font>, <font color="#009900">Req</font>} <font color="#990000">-&gt;</font> <b><font color="#000000">read_body</font></b>(<font color="#009900">Req</font>, <font color="#990000">&lt;&lt;</font> <font color="#009900">Acc</font><font color="#990000">/</font><b><font color="#000080">binary</font></b>, <font color="#009900">Data</font><font color="#990000">/</font><b><font color="#000080">binary</font></b> <font color="#990000">&gt;&gt;</font>)
+ <b><font color="#0000FF">end</font></b><font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Read the body in small chunks</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">cowboy_req:read_body</span></span>(<span style="color: #009900">Req</span>, #{<span style="font-weight: bold"><span style="color: #000080">length</span></span> <span style="color: #990000">=&gt;</span> <span style="color: #993399">64000</span>})<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">cowboy_req:read_body</font></b>(<font color="#009900">Req</font>, #{<b><font color="#000080">length</font></b> <font color="#990000">=&gt;</font> <font color="#993399">64000</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.has_body">cowboy_req:has_body(3)</a>,
-<a href="../cowboy_req.body_length">cowboy_req:body_length(3)</a>,
-<a href="../cowboy_req.read_urlencoded_body">cowboy_req:read_urlencoded_body(3)</a>,
-<a href="../cowboy_req.read_part">cowboy_req:read_part(3)</a>,
-<a href="../cowboy_req.read_part_body">cowboy_req:read_part_body(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.has_body">cowboy_req:has_body(3)</a>, <a href="../cowboy_req.body_length">cowboy_req:body_length(3)</a>, <a href="../cowboy_req.read_urlencoded_body">cowboy_req:read_urlencoded_body(3)</a>, <a href="../cowboy_req.read_part">cowboy_req:read_part(3)</a>, <a href="../cowboy_req.read_part_body">cowboy_req:read_part_body(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.read_part/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.read_part/index.html
index 50931838..7746b475 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.read_part/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.read_part/index.html
@@ -62,162 +62,94 @@
<h1 class="lined-header"><span>cowboy_req:read_part(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:read_part - Read the next multipart headers</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:read_part - Read the next multipart headers</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">read_part</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>())
- <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">read_part</span></span>(<span style="color: #009900">Req</span>, #{})
-
-<span style="font-weight: bold"><span style="color: #000000">read_part</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>(), <span style="color: #009900">Opts</span>)
- <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Req</span>} | {<span style="color: #FF6600">done</span>, <span style="color: #009900">Req</span>}
-
-<span style="color: #009900">Opts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:read_body_opts</span></span>()
-<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> #{<span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>Read the next part of a multipart body.</p></div>
-<div class="paragraph"><p>This function reads the request body and parses it as
-multipart. Each parts of a multipart representation have
-their own headers and body. This function parses and returns
-headers. Examples of multipart media types are
-<code>multipart/form-data</code> and <code>multipart/byteranges</code>.</p></div>
-<div class="paragraph"><p>Cowboy will skip any data remaining until the beginning of
-the next part. This includes the preamble to the multipart
-message but also the body of a previous part if it hasn&#8217;t
-been read. Both are skipped automatically when calling this
-function.</p></div>
-<div class="paragraph"><p>Cowboy will read the body before parsing in chunks of size
-up to 64KB, with a period of 5 seconds. This is tailored for
-reading part headers and might not be the most efficient for
-skipping the previous part&#8217;s body.</p></div>
-<div class="paragraph"><p>The headers returned are MIME headers, <strong>NOT</strong> HTTP headers.
-They can be parsed using the functions from the <code>cow_multipart</code>
-module. In addition, the <code>cow_multipart:form_data/1</code> function
-can be used to quickly extract information from <code>multipart/form-data</code>
-representations.</p></div>
-<div class="paragraph"><p>Once a part has been read, it can not be read again.</p></div>
-<div class="paragraph"><p>Once the body has been read, Cowboy sets the content-length
-header if it was not previously provided.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">read_part</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>())
+ <font color="#990000">-&gt;</font> <b><font color="#000000">read_part</font></b>(<font color="#009900">Req</font>, #{})
+
+<b><font color="#000000">read_part</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>(), <font color="#009900">Opts</font>)
+ <font color="#990000">-&gt;</font> {<font color="#FF6600">ok</font>, <font color="#009900">Headers</font>, <font color="#009900">Req</font>} | {<font color="#FF6600">done</font>, <font color="#009900">Req</font>}
+
+<font color="#009900">Opts</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:read_body_opts</font></b>()
+<font color="#009900">Headers</font> <font color="#990000">::</font> #{<b><font color="#000080">binary</font></b>() <font color="#990000">=&gt;</font> <b><font color="#000080">binary</font></b>()}</tt></pre>
+</div></div>
+<p>Read the next part of a multipart body.</p>
+<p>This function reads the request body and parses it as multipart. Each parts of a multipart representation have their own headers and body. This function parses and returns headers. Examples of multipart media types are <code>multipart/form-data</code> and <code>multipart/byteranges</code>.</p>
+<p>Cowboy will skip any data remaining until the beginning of the next part. This includes the preamble to the multipart message but also the body of a previous part if it hasn&apos;t been read. Both are skipped automatically when calling this function.</p>
+<p>Cowboy will read the body before parsing in chunks of size up to 64KB, with a period of 5 seconds. This is tailored for reading part headers and might not be the most efficient for skipping the previous part&apos;s body.</p>
+<p>The headers returned are MIME headers, <strong>NOT</strong> HTTP headers. They can be parsed using the functions from the <code>cow_multipart</code> module. In addition, the <code>cow_multipart:form_data/1</code> function can be used to quickly extract information from <code>multipart/form-data</code> representations.</p>
+<!-- @todo Proper link to cow_multipart:form_data.-->
+<p>Once a part has been read, it can not be read again.</p>
+<p>Once the body has been read, Cowboy sets the content-length header if it was not previously provided.</p>
+<!-- @todo Limit the maximum size of multipart headers.-->
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-<dt class="hdlist1">
-Opts
-</dt>
-<dd>
-<p>
-A map of body reading options. Please refer to
-<a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a>
-for details about each option.
-</p>
-<div class="paragraph"><p>This function defaults the <code>length</code> to 64KB and the <code>period</code>
-to 5 seconds.</p></div>
+<dt>Opts</dt>
+<dd><p>A map of body reading options. Please refer to <a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a> for details about each option.</p>
+<p>This function defaults the <code>length</code> to 64KB and the <code>period</code> to 5 seconds.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>An <code>ok</code> tuple is returned containing the next part&#8217;s headers
-as a map.</p></div>
-<div class="paragraph"><p>A <code>done</code> tuple is returned if there are no more parts to read.</p></div>
-<div class="paragraph"><p>The Req object returned in the tuple must be used for that point
-onward. It contains a more up to date representation of the request.
-For example it may have an added content-length header once the
-body has been read.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>An <code>ok</code> tuple is returned containing the next part&apos;s headers as a map.</p>
+<p>A <code>done</code> tuple is returned if there are no more parts to read.</p>
+<p>The Req object returned in the tuple must be used for that point onward. It contains a more up to date representation of the request. For example it may have an added content-length header once the body has been read.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Function introduced. Replaces <code>part/1,2</code>.
-</p>
+<ul><li><strong>2.0</strong>: Function introduced. Replaces <code>part/1,2</code>.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Read all parts</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Read all parts</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">acc_multipart</span></span>(<span style="color: #009900">Req0</span>, <span style="color: #009900">Acc</span>) <span style="color: #990000">-&gt;</span>
- <span style="font-weight: bold"><span style="color: #0000FF">case</span></span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:read_part</span></span>(<span style="color: #009900">Req0</span>) <span style="font-weight: bold"><span style="color: #0000FF">of</span></span>
- {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Req1</span>} <span style="color: #990000">-&gt;</span>
- {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Body</span>, <span style="color: #009900">Req</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">stream_body</span></span>(<span style="color: #009900">Req1</span>, <span style="color: #990000">&lt;&lt;&gt;&gt;</span>),
- <span style="font-weight: bold"><span style="color: #000000">acc_multipart</span></span>(<span style="color: #009900">Req</span>, [{<span style="color: #009900">Headers</span>, <span style="color: #009900">Body</span>}|<span style="color: #009900">Acc</span>]);
- {<span style="color: #FF6600">done</span>, <span style="color: #009900">Req</span>} <span style="color: #990000">-&gt;</span>
- {<span style="font-weight: bold"><span style="color: #000000">lists:reverse</span></span>(<span style="color: #009900">Acc</span>), <span style="color: #009900">Req</span>}
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span><span style="color: #990000">.</span>
-
-<span style="font-weight: bold"><span style="color: #000000">stream_body</span></span>(<span style="color: #009900">Req0</span>, <span style="color: #009900">Acc</span>) <span style="color: #990000">-&gt;</span>
- <span style="font-weight: bold"><span style="color: #0000FF">case</span></span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:read_part_body</span></span>(<span style="color: #009900">Req0</span>) <span style="font-weight: bold"><span style="color: #0000FF">of</span></span>
- {<span style="color: #FF6600">more</span>, <span style="color: #009900">Data</span>, <span style="color: #009900">Req</span>} <span style="color: #990000">-&gt;</span>
- <span style="font-weight: bold"><span style="color: #000000">stream_body</span></span>(<span style="color: #009900">Req</span>, <span style="color: #990000">&lt;&lt;</span> <span style="color: #009900">Acc</span><span style="color: #990000">/</span><span style="font-weight: bold"><span style="color: #000080">binary</span></span>, <span style="color: #009900">Data</span><span style="color: #990000">/</span><span style="font-weight: bold"><span style="color: #000080">binary</span></span> <span style="color: #990000">&gt;&gt;</span>);
- {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Data</span>, <span style="color: #009900">Req</span>} <span style="color: #990000">-&gt;</span>
- {<span style="color: #FF6600">ok</span>, <span style="color: #990000">&lt;&lt;</span> <span style="color: #009900">Acc</span><span style="color: #990000">/</span><span style="font-weight: bold"><span style="color: #000080">binary</span></span>, <span style="color: #009900">Data</span><span style="color: #990000">/</span><span style="font-weight: bold"><span style="color: #000080">binary</span></span> <span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req</span>}
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span><span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Read all part headers, skipping bodies</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">acc_multipart</font></b>(<font color="#009900">Req0</font>, <font color="#009900">Acc</font>) <font color="#990000">-&gt;</font>
+ <b><font color="#0000FF">case</font></b> <b><font color="#000000">cowboy_req:read_part</font></b>(<font color="#009900">Req0</font>) <b><font color="#0000FF">of</font></b>
+ {<font color="#FF6600">ok</font>, <font color="#009900">Headers</font>, <font color="#009900">Req1</font>} <font color="#990000">-&gt;</font>
+ {<font color="#FF6600">ok</font>, <font color="#009900">Body</font>, <font color="#009900">Req</font>} <font color="#990000">=</font> <b><font color="#000000">stream_body</font></b>(<font color="#009900">Req1</font>, <font color="#990000">&lt;&lt;&gt;&gt;</font>),
+ <b><font color="#000000">acc_multipart</font></b>(<font color="#009900">Req</font>, [{<font color="#009900">Headers</font>, <font color="#009900">Body</font>}|<font color="#009900">Acc</font>]);
+ {<font color="#FF6600">done</font>, <font color="#009900">Req</font>} <font color="#990000">-&gt;</font>
+ {<b><font color="#000000">lists:reverse</font></b>(<font color="#009900">Acc</font>), <font color="#009900">Req</font>}
+ <b><font color="#0000FF">end</font></b><font color="#990000">.</font>
+
+<b><font color="#000000">stream_body</font></b>(<font color="#009900">Req0</font>, <font color="#009900">Acc</font>) <font color="#990000">-&gt;</font>
+ <b><font color="#0000FF">case</font></b> <b><font color="#000000">cowboy_req:read_part_body</font></b>(<font color="#009900">Req0</font>) <b><font color="#0000FF">of</font></b>
+ {<font color="#FF6600">more</font>, <font color="#009900">Data</font>, <font color="#009900">Req</font>} <font color="#990000">-&gt;</font>
+ <b><font color="#000000">stream_body</font></b>(<font color="#009900">Req</font>, <font color="#990000">&lt;&lt;</font> <font color="#009900">Acc</font><font color="#990000">/</font><b><font color="#000080">binary</font></b>, <font color="#009900">Data</font><font color="#990000">/</font><b><font color="#000080">binary</font></b> <font color="#990000">&gt;&gt;</font>);
+ {<font color="#FF6600">ok</font>, <font color="#009900">Data</font>, <font color="#009900">Req</font>} <font color="#990000">-&gt;</font>
+ {<font color="#FF6600">ok</font>, <font color="#990000">&lt;&lt;</font> <font color="#009900">Acc</font><font color="#990000">/</font><b><font color="#000080">binary</font></b>, <font color="#009900">Data</font><font color="#990000">/</font><b><font color="#000080">binary</font></b> <font color="#990000">&gt;&gt;</font>, <font color="#009900">Req</font>}
+ <b><font color="#0000FF">end</font></b><font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Read all part headers, skipping bodies</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">skip_body_multipart</span></span>(<span style="color: #009900">Req0</span>, <span style="color: #009900">Acc</span>) <span style="color: #990000">-&gt;</span>
- <span style="font-weight: bold"><span style="color: #0000FF">case</span></span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:read_part</span></span>(<span style="color: #009900">Req0</span>) <span style="font-weight: bold"><span style="color: #0000FF">of</span></span>
- {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Req</span>} <span style="color: #990000">-&gt;</span>
- <span style="font-weight: bold"><span style="color: #000000">skip_body_multipart</span></span>(<span style="color: #009900">Req</span>, [<span style="color: #009900">Headers</span>|<span style="color: #009900">Acc</span>]);
- {<span style="color: #FF6600">done</span>, <span style="color: #009900">Req</span>} <span style="color: #990000">-&gt;</span>
- {<span style="font-weight: bold"><span style="color: #000000">lists:reverse</span></span>(<span style="color: #009900">Acc</span>), <span style="color: #009900">Req</span>}
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span><span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Read a part header in larger chunks</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">skip_body_multipart</font></b>(<font color="#009900">Req0</font>, <font color="#009900">Acc</font>) <font color="#990000">-&gt;</font>
+ <b><font color="#0000FF">case</font></b> <b><font color="#000000">cowboy_req:read_part</font></b>(<font color="#009900">Req0</font>) <b><font color="#0000FF">of</font></b>
+ {<font color="#FF6600">ok</font>, <font color="#009900">Headers</font>, <font color="#009900">Req</font>} <font color="#990000">-&gt;</font>
+ <b><font color="#000000">skip_body_multipart</font></b>(<font color="#009900">Req</font>, [<font color="#009900">Headers</font>|<font color="#009900">Acc</font>]);
+ {<font color="#FF6600">done</font>, <font color="#009900">Req</font>} <font color="#990000">-&gt;</font>
+ {<b><font color="#000000">lists:reverse</font></b>(<font color="#009900">Acc</font>), <font color="#009900">Req</font>}
+ <b><font color="#0000FF">end</font></b><font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Read a part header in larger chunks</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #FF6600">ok</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Req</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:read_part</span></span>(<span style="color: #009900">Req0</span>, #{<span style="font-weight: bold"><span style="color: #000080">length</span></span> <span style="color: #990000">=&gt;</span> <span style="color: #993399">1000000</span>})<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#009900">Headers</font>, <font color="#009900">Req</font>} <font color="#990000">=</font> <b><font color="#000000">cowboy_req:read_part</font></b>(<font color="#009900">Req0</font>, #{<b><font color="#000080">length</font></b> <font color="#990000">=&gt;</font> <font color="#993399">1000000</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.has_body">cowboy_req:has_body(3)</a>,
-<a href="../cowboy_req.body_length">cowboy_req:body_length(3)</a>,
-<a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a>,
-<a href="../cowboy_req.read_urlencoded_body">cowboy_req:read_urlencoded_body(3)</a>,
-<a href="../cowboy_req.read_part_body">cowboy_req:read_part_body(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.has_body">cowboy_req:has_body(3)</a>, <a href="../cowboy_req.body_length">cowboy_req:body_length(3)</a>, <a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a>, <a href="../cowboy_req.read_urlencoded_body">cowboy_req:read_urlencoded_body(3)</a>, <a href="../cowboy_req.read_part_body">cowboy_req:read_part_body(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.read_part_body/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.read_part_body/index.html
index 340bb2cb..403a6271 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.read_part_body/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.read_part_body/index.html
@@ -62,130 +62,70 @@
<h1 class="lined-header"><span>cowboy_req:read_part_body(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:read_part_body - Read the current part&#8217;s body</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:read_part_body - Read the current part&apos;s body</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">read_part_body</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>())
- <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">read_part_body</span></span>(<span style="color: #009900">Req</span>, #{})
-
-<span style="font-weight: bold"><span style="color: #000000">read_part_body</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>(), <span style="color: #009900">Opts</span>)
- <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Data</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">Req</span>}
- | {<span style="color: #FF6600">more</span>, <span style="color: #009900">Data</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">Req</span>}
-
-<span style="color: #009900">Opts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:read_body_opts</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Read the body of the current part of the multipart message.</p></div>
-<div class="paragraph"><p>This function reads the request body and parses it as
-multipart. Each parts of a multipart representation have
-their own headers and body. This function returns the
-body of the current part. Examples of multipart media types
-are <code>multipart/form-data</code> and <code>multipart/byteranges</code>.</p></div>
-<div class="paragraph"><p>This function reads a chunk of the part&#8217;s body. A <code>more</code> tuple
-is returned when more data remains to be read. Call the function
-repeatedly until an <code>ok</code> tuple is returned to read the entire body.</p></div>
-<div class="paragraph"><p>Once a part has been read, it can not be read again.</p></div>
-<div class="paragraph"><p>Once the body has been read, Cowboy sets the content-length
-header if it was not previously provided.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">read_part_body</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>())
+ <font color="#990000">-&gt;</font> <b><font color="#000000">read_part_body</font></b>(<font color="#009900">Req</font>, #{})
+
+<b><font color="#000000">read_part_body</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>(), <font color="#009900">Opts</font>)
+ <font color="#990000">-&gt;</font> {<font color="#FF6600">ok</font>, <font color="#009900">Data</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">Req</font>}
+ | {<font color="#FF6600">more</font>, <font color="#009900">Data</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">Req</font>}
+
+<font color="#009900">Opts</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:read_body_opts</font></b>()</tt></pre>
+</div></div>
+<p>Read the body of the current part of the multipart message.</p>
+<p>This function reads the request body and parses it as multipart. Each parts of a multipart representation have their own headers and body. This function returns the body of the current part. Examples of multipart media types are <code>multipart/form-data</code> and <code>multipart/byteranges</code>.</p>
+<p>This function reads a chunk of the part&apos;s body. A <code>more</code> tuple is returned when more data remains to be read. Call the function repeatedly until an <code>ok</code> tuple is returned to read the entire body.</p>
+<p>Once a part has been read, it can not be read again.</p>
+<p>Once the body has been read, Cowboy sets the content-length header if it was not previously provided.</p>
+<!-- @todo Limit the maximum size of multipart headers.-->
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-<dt class="hdlist1">
-Opts
-</dt>
-<dd>
-<p>
-A map of body reading options. Please refer to
-<a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a>
-for details about each option.
-</p>
-<div class="paragraph"><p>This function uses the same default options as the
-<a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a>
-function.</p></div>
+<dt>Opts</dt>
+<dd><p>A map of body reading options. Please refer to <a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a> for details about each option.</p>
+<p>This function uses the same default options as the <a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a> function.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>A <code>more</code> tuple is returned when there are more data to be read.</p></div>
-<div class="paragraph"><p>An <code>ok</code> tuple is returned when there are no more data to be read.</p></div>
-<div class="paragraph"><p>The data is always returned as a binary.</p></div>
-<div class="paragraph"><p>The Req object returned in the tuple must be used for that point
-onward. It contains a more up to date representation of the request.
-For example it may have an added content-length header once the
-body has been read.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>A <code>more</code> tuple is returned when there are more data to be read.</p>
+<p>An <code>ok</code> tuple is returned when there are no more data to be read.</p>
+<p>The data is always returned as a binary.</p>
+<p>The Req object returned in the tuple must be used for that point onward. It contains a more up to date representation of the request. For example it may have an added content-length header once the body has been read.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Function introduced. Replaces <code>part_body/1,2</code>.
-</p>
+<ul><li><strong>2.0</strong>: Function introduced. Replaces <code>part_body/1,2</code>.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Read a full part&#8217;s body</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Read a full part&apos;s body</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">stream_body</span></span>(<span style="color: #009900">Req0</span>, <span style="color: #009900">Acc</span>) <span style="color: #990000">-&gt;</span>
- <span style="font-weight: bold"><span style="color: #0000FF">case</span></span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:read_part_body</span></span>(<span style="color: #009900">Req0</span>) <span style="font-weight: bold"><span style="color: #0000FF">of</span></span>
- {<span style="color: #FF6600">more</span>, <span style="color: #009900">Data</span>, <span style="color: #009900">Req</span>} <span style="color: #990000">-&gt;</span>
- <span style="font-weight: bold"><span style="color: #000000">stream_body</span></span>(<span style="color: #009900">Req</span>, <span style="color: #990000">&lt;&lt;</span> <span style="color: #009900">Acc</span><span style="color: #990000">/</span><span style="font-weight: bold"><span style="color: #000080">binary</span></span>, <span style="color: #009900">Data</span><span style="color: #990000">/</span><span style="font-weight: bold"><span style="color: #000080">binary</span></span> <span style="color: #990000">&gt;&gt;</span>);
- {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Data</span>, <span style="color: #009900">Req</span>} <span style="color: #990000">-&gt;</span>
- {<span style="color: #FF6600">ok</span>, <span style="color: #990000">&lt;&lt;</span> <span style="color: #009900">Acc</span><span style="color: #990000">/</span><span style="font-weight: bold"><span style="color: #000080">binary</span></span>, <span style="color: #009900">Data</span><span style="color: #990000">/</span><span style="font-weight: bold"><span style="color: #000080">binary</span></span> <span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req</span>}
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span><span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Ensure a part&#8217;s body is smaller than 64KB</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">stream_body</font></b>(<font color="#009900">Req0</font>, <font color="#009900">Acc</font>) <font color="#990000">-&gt;</font>
+ <b><font color="#0000FF">case</font></b> <b><font color="#000000">cowboy_req:read_part_body</font></b>(<font color="#009900">Req0</font>) <b><font color="#0000FF">of</font></b>
+ {<font color="#FF6600">more</font>, <font color="#009900">Data</font>, <font color="#009900">Req</font>} <font color="#990000">-&gt;</font>
+ <b><font color="#000000">stream_body</font></b>(<font color="#009900">Req</font>, <font color="#990000">&lt;&lt;</font> <font color="#009900">Acc</font><font color="#990000">/</font><b><font color="#000080">binary</font></b>, <font color="#009900">Data</font><font color="#990000">/</font><b><font color="#000080">binary</font></b> <font color="#990000">&gt;&gt;</font>);
+ {<font color="#FF6600">ok</font>, <font color="#009900">Data</font>, <font color="#009900">Req</font>} <font color="#990000">-&gt;</font>
+ {<font color="#FF6600">ok</font>, <font color="#990000">&lt;&lt;</font> <font color="#009900">Acc</font><font color="#990000">/</font><b><font color="#000080">binary</font></b>, <font color="#009900">Data</font><font color="#990000">/</font><b><font color="#000080">binary</font></b> <font color="#990000">&gt;&gt;</font>, <font color="#009900">Req</font>}
+ <b><font color="#0000FF">end</font></b><font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Ensure a part&apos;s body is smaller than 64KB</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #FF6600">ok</span>, <span style="color: #009900">Body</span>, <span style="color: #009900">Req</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:read_part_body</span></span>(<span style="color: #009900">Req0</span>, #{<span style="font-weight: bold"><span style="color: #000080">length</span></span> <span style="color: #990000">=&gt;</span> <span style="color: #993399">64000</span>})<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#009900">Body</font>, <font color="#009900">Req</font>} <font color="#990000">=</font> <b><font color="#000000">cowboy_req:read_part_body</font></b>(<font color="#009900">Req0</font>, #{<b><font color="#000080">length</font></b> <font color="#990000">=&gt;</font> <font color="#993399">64000</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.has_body">cowboy_req:has_body(3)</a>,
-<a href="../cowboy_req.body_length">cowboy_req:body_length(3)</a>,
-<a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a>,
-<a href="../cowboy_req.read_urlencoded_body">cowboy_req:read_urlencoded_body(3)</a>,
-<a href="../cowboy_req.read_part">cowboy_req:read_part(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.has_body">cowboy_req:has_body(3)</a>, <a href="../cowboy_req.body_length">cowboy_req:body_length(3)</a>, <a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a>, <a href="../cowboy_req.read_urlencoded_body">cowboy_req:read_urlencoded_body(3)</a>, <a href="../cowboy_req.read_part">cowboy_req:read_part(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.read_urlencoded_body/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.read_urlencoded_body/index.html
index 9565153e..be73fe71 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.read_urlencoded_body/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.read_urlencoded_body/index.html
@@ -62,126 +62,64 @@
<h1 class="lined-header"><span>cowboy_req:read_urlencoded_body(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:read_urlencoded_body - Read and parse a urlencoded request body</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:read_urlencoded_body - Read and parse a urlencoded request body</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">read_urlencoded_body</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>())
- <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">read_urlencoded_body</span></span>(<span style="color: #009900">Req</span>, #{})
-
-<span style="font-weight: bold"><span style="color: #000000">read_urlencoded_body</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>(), <span style="color: #009900">Opts</span>)
- <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Body</span>, <span style="color: #009900">Req</span>}
-
-<span style="color: #009900">Opts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:read_body_opts</span></span>()
-<span style="color: #009900">Body</span> <span style="color: #990000">::</span> [{<span style="color: #009900">Key</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">Value</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() | <span style="color: #000080">true</span>}]</tt></pre></div></div>
-<div class="paragraph"><p>Read and parse a urlencoded request body.</p></div>
-<div class="paragraph"><p>This function reads the request body and parses it as
-<code>application/x-www-form-urlencoded</code>. It returns a list
-of key/values.</p></div>
-<div class="paragraph"><p>The urlencoded media type is used by Web browsers when
-submitting HTML forms using the POST method.</p></div>
-<div class="paragraph"><p>Cowboy needs to read the full body before parsing. By default
-it will read bodies of size up to 64KB. It is possible to
-provide options to read larger bodies if required.</p></div>
-<div class="paragraph"><p>Cowboy will automatically handle protocol details including
-the expect header, chunked transfer-encoding and others.</p></div>
-<div class="paragraph"><p>Once the body has been read, Cowboy sets the content-length
-header if it was not previously provided.</p></div>
-<div class="paragraph"><p>This function can only be called once. Calling it again will
-result in undefined behavior.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">read_urlencoded_body</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>())
+ <font color="#990000">-&gt;</font> <b><font color="#000000">read_urlencoded_body</font></b>(<font color="#009900">Req</font>, #{})
+
+<b><font color="#000000">read_urlencoded_body</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>(), <font color="#009900">Opts</font>)
+ <font color="#990000">-&gt;</font> {<font color="#FF6600">ok</font>, <font color="#009900">Body</font>, <font color="#009900">Req</font>}
+
+<font color="#009900">Opts</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:read_body_opts</font></b>()
+<font color="#009900">Body</font> <font color="#990000">::</font> [{<font color="#009900">Key</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">Value</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() | <font color="#000080">true</font>}]</tt></pre>
+</div></div>
+<p>Read and parse a urlencoded request body.</p>
+<p>This function reads the request body and parses it as <code>application/x-www-form-urlencoded</code>. It returns a list of key/values.</p>
+<p>The urlencoded media type is used by Web browsers when submitting HTML forms using the POST method.</p>
+<p>Cowboy needs to read the full body before parsing. By default it will read bodies of size up to 64KB. It is possible to provide options to read larger bodies if required.</p>
+<p>Cowboy will automatically handle protocol details including the expect header, chunked transfer-encoding and others.</p>
+<p>Once the body has been read, Cowboy sets the content-length header if it was not previously provided.</p>
+<p>This function can only be called once. Calling it again will result in undefined behavior.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-<dt class="hdlist1">
-Opts
-</dt>
-<dd>
-<p>
-A map of body reading options. Please refer to
-<a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a>
-for details about each option.
-</p>
-<div class="paragraph"><p>This function defaults the <code>length</code> to 64KB and the <code>period</code>
-to 5 seconds.</p></div>
+<dt>Opts</dt>
+<dd><p>A map of body reading options. Please refer to <a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a> for details about each option.</p>
+<p>This function defaults the <code>length</code> to 64KB and the <code>period</code> to 5 seconds.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>An <code>ok</code> tuple is returned containing a list of key/values found
-in the body.</p></div>
-<div class="paragraph"><p>The Req object returned in the tuple must be used for that point
-onward. It contains a more up to date representation of the request.
-For example it may have an added content-length header once the
-body has been read.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>An <code>ok</code> tuple is returned containing a list of key/values found in the body.</p>
+<p>The Req object returned in the tuple must be used for that point onward. It contains a more up to date representation of the request. For example it may have an added content-length header once the body has been read.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Function introduced. Replaces <code>body_qs/1,2</code>.
-</p>
+<ul><li><strong>2.0</strong>: Function introduced. Replaces <code>body_qs/1,2</code>.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Read a urlencoded body</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Read a urlencoded body</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #FF6600">ok</span>, <span style="color: #009900">Body</span>, <span style="color: #009900">Req</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:read_urlencoded_body</span></span>(<span style="color: #009900">Req0</span>),
-{<span style="color: #990000">_</span>, <span style="color: #009900">Lang</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">lists:keyfind</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"lang"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #993399">1</span>, <span style="color: #009900">Body</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Allow large urlencoded bodies</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#009900">Body</font>, <font color="#009900">Req</font>} <font color="#990000">=</font> <b><font color="#000000">cowboy_req:read_urlencoded_body</font></b>(<font color="#009900">Req0</font>),
+{<font color="#990000">_</font>, <font color="#009900">Lang</font>} <font color="#990000">=</font> <b><font color="#000000">lists:keyfind</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"lang"</font><font color="#990000">&gt;&gt;</font>, <font color="#993399">1</font>, <font color="#009900">Body</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Allow large urlencoded bodies</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #FF6600">ok</span>, <span style="color: #009900">Body</span>, <span style="color: #009900">Req</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:read_urlencoded_body</span></span>(<span style="color: #009900">Req0</span>, #{<span style="font-weight: bold"><span style="color: #000080">length</span></span> <span style="color: #990000">=&gt;</span> <span style="color: #993399">1000000</span>})<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#009900">Body</font>, <font color="#009900">Req</font>} <font color="#990000">=</font> <b><font color="#000000">cowboy_req:read_urlencoded_body</font></b>(<font color="#009900">Req0</font>, #{<b><font color="#000080">length</font></b> <font color="#990000">=&gt;</font> <font color="#993399">1000000</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.has_body">cowboy_req:has_body(3)</a>,
-<a href="../cowboy_req.body_length">cowboy_req:body_length(3)</a>,
-<a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a>,
-<a href="../cowboy_req.read_part">cowboy_req:read_part(3)</a>,
-<a href="../cowboy_req.read_part_body">cowboy_req:read_part_body(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.has_body">cowboy_req:has_body(3)</a>, <a href="../cowboy_req.body_length">cowboy_req:body_length(3)</a>, <a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a>, <a href="../cowboy_req.read_part">cowboy_req:read_part(3)</a>, <a href="../cowboy_req.read_part_body">cowboy_req:read_part_body(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.reply/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.reply/index.html
index e980e297..bb8a0c83 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.reply/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.reply/index.html
@@ -62,165 +62,87 @@
<h1 class="lined-header"><span>cowboy_req:reply(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:reply - Send the response</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:reply - Send the response</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">reply</span></span>(<span style="color: #009900">Status</span>, <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>())
- <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">reply</span></span>(<span style="color: #009900">StatusCode</span>, #{}, <span style="color: #009900">Req</span>)
-
-<span style="font-weight: bold"><span style="color: #000000">reply</span></span>(<span style="color: #009900">Status</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>())
- <span style="color: #990000">-&gt;</span> <span style="color: #009900">Req</span>
-
-<span style="font-weight: bold"><span style="color: #000000">reply</span></span>(<span style="color: #009900">Status</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Body</span>, <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>())
- <span style="color: #990000">-&gt;</span> <span style="color: #009900">Req</span>
-
-<span style="color: #009900">Status</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:http_status</span></span>()
-<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:http_headers</span></span>()
-<span style="color: #009900">Body</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:resp_body</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Send the response.</p></div>
-<div class="paragraph"><p>The header names must be given as lowercase binary strings.
-While header names are case insensitive, Cowboy requires them
-to be given as lowercase to function properly.</p></div>
-<div class="paragraph"><p>Cowboy does not allow duplicate header names. Headers set
-by this function may overwrite those set by <code>set_resp_header/3</code>
-and <code>set_resp_headers/2</code>.</p></div>
-<div class="paragraph"><p>Use <a href="../cowboy_req.set_resp_cookie">cowboy_req:set_resp_cookie(3)</a>
-instead of this function to set cookies.</p></div>
-<div class="paragraph"><p>The <code>reply/2,3</code> functions will send the body set previously,
-if any. The <code>reply/4</code> function always sends the given body,
-overriding any previously set.</p></div>
-<div class="paragraph"><p>You do not need to set the content-length header when
-sending a response body. Cowboy takes care of it automatically.
-You should however provide a content-type header.</p></div>
-<div class="paragraph"><p>No further data can be transmitted after this function
-returns. This includes the push mechanism. Attempting to
-send two replies, or to push resources after a reply has
-been sent, will result in an error.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">reply</font></b>(<font color="#009900">Status</font>, <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>())
+ <font color="#990000">-&gt;</font> <b><font color="#000000">reply</font></b>(<font color="#009900">StatusCode</font>, #{}, <font color="#009900">Req</font>)
+
+<b><font color="#000000">reply</font></b>(<font color="#009900">Status</font>, <font color="#009900">Headers</font>, <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>())
+ <font color="#990000">-&gt;</font> <font color="#009900">Req</font>
+
+<b><font color="#000000">reply</font></b>(<font color="#009900">Status</font>, <font color="#009900">Headers</font>, <font color="#009900">Body</font>, <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>())
+ <font color="#990000">-&gt;</font> <font color="#009900">Req</font>
+
+<font color="#009900">Status</font> <font color="#990000">::</font> <b><font color="#000000">cowboy:http_status</font></b>()
+<font color="#009900">Headers</font> <font color="#990000">::</font> <b><font color="#000000">cowboy:http_headers</font></b>()
+<font color="#009900">Body</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:resp_body</font></b>()</tt></pre>
+</div></div>
+<p>Send the response.</p>
+<p>The header names must be given as lowercase binary strings. While header names are case insensitive, Cowboy requires them to be given as lowercase to function properly.</p>
+<p>Cowboy does not allow duplicate header names. Headers set by this function may overwrite those set by <code>set_resp_header/3</code> and <code>set_resp_headers/2</code>.</p>
+<p>Use <a href="../cowboy_req.set_resp_cookie">cowboy_req:set_resp_cookie(3)</a> instead of this function to set cookies.</p>
+<p>The <code>reply/2,3</code> functions will send the body set previously, if any. The <code>reply/4</code> function always sends the given body, overriding any previously set.</p>
+<p>You do not need to set the content-length header when sending a response body. Cowboy takes care of it automatically. You should however provide a content-type header.</p>
+<p>No further data can be transmitted after this function returns. This includes the push mechanism. Attempting to send two replies, or to push resources after a reply has been sent, will result in an error.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Status
-</dt>
-<dd>
-<p>
-The status code for the response.
-</p>
+<dl><dt>Status</dt>
+<dd><p>The status code for the response.</p>
</dd>
-<dt class="hdlist1">
-Headers
-</dt>
-<dd>
-<p>
-The response headers.
-</p>
+<dt>Headers</dt>
+<dd><p>The response headers.</p>
</dd>
-</dl></div>
-<div class="paragraph"><p>Header names must be given as lowercase binary strings.</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Body
-</dt>
-<dd>
-<p>
-The body can be either a binary value, an iolist or a
-<code>sendfile</code> tuple telling Cowboy to send the contents of
-a file.
-</p>
+</dl>
+<p>Header names must be given as lowercase binary strings.</p>
+<dl><dt>Body</dt>
+<dd><p>The body can be either a binary value, an iolist or a <code>sendfile</code> tuple telling Cowboy to send the contents of a file.</p>
</dd>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>A new Req object is returned.</p></div>
-<div class="paragraph"><p>The returned Req object should be used from that point onward
-as it contains updated information about the state of the request.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>A new Req object is returned.</p>
+<p>The returned Req object should be used from that point onward as it contains updated information about the state of the request.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Only the Req is returned, it is no longer wrapped in a tuple.
-</p>
+<ul><li><strong>2.0</strong>: Only the Req is returned, it is no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Reply</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Reply</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:reply</span></span>(<span style="color: #993399">404</span>, <span style="color: #009900">Req0</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Reply with custom headers</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:reply</font></b>(<font color="#993399">404</font>, <font color="#009900">Req0</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Reply with custom headers</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:reply</span></span>(<span style="color: #993399">401</span>, #{
- <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"www-authenticate"</span><span style="color: #990000">&gt;&gt;</span> <span style="color: #990000">=&gt;</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"Basic realm=\"erlang.org\""</span><span style="color: #990000">&gt;&gt;</span>
-}, <span style="color: #009900">Req0</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Reply with custom headers and a body</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:reply</font></b>(<font color="#993399">401</font>, #{
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"www-authenticate"</font><font color="#990000">&gt;&gt;</font> <font color="#990000">=&gt;</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"Basic realm=\"erlang.org\""</font><font color="#990000">&gt;&gt;</font>
+}, <font color="#009900">Req0</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Reply with custom headers and a body</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:reply</span></span>(<span style="color: #993399">200</span>, #{
- <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">&gt;&gt;</span> <span style="color: #990000">=&gt;</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"text/plain"</span><span style="color: #990000">&gt;&gt;</span>
-}, <span style="color: #FF0000">"Hello world!"</span>, <span style="color: #009900">Req0</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:reply</font></b>(<font color="#993399">200</font>, #{
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font> <font color="#990000">=&gt;</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"text/plain"</font><font color="#990000">&gt;&gt;</font>
+}, <font color="#FF0000">"Hello world!"</font>, <font color="#009900">Req0</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.set_resp_cookie">cowboy_req:set_resp_cookie(3)</a>,
-<a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a>,
-<a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a>,
-<a href="../cowboy_req.set_resp_body">cowboy_req:set_resp_body(3)</a>,
-<a href="../cowboy_req.inform">cowboy_req:inform(3)</a>,
-<a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a>,
-<a href="../cowboy_req.push">cowboy_req:push(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.set_resp_cookie">cowboy_req:set_resp_cookie(3)</a>, <a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a>, <a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a>, <a href="../cowboy_req.set_resp_body">cowboy_req:set_resp_body(3)</a>, <a href="../cowboy_req.inform">cowboy_req:inform(3)</a>, <a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a>, <a href="../cowboy_req.push">cowboy_req:push(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.resp_header/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.resp_header/index.html
index 76d70761..9a11c12d 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.resp_header/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.resp_header/index.html
@@ -62,113 +62,58 @@
<h1 class="lined-header"><span>cowboy_req:resp_header(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:resp_header - Response header</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:resp_header - Response header</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">resp_header</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Req</span>) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">resp_header</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Req</span>, <span style="color: #000080">undefined</span>)
-<span style="font-weight: bold"><span style="color: #000000">resp_header</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">Default</span>) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() | <span style="color: #009900">Default</span>
-
-<span style="color: #009900">Name</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% lowercase; case insensitive</span></span>
-<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Return the value for the given response header.</p></div>
-<div class="paragraph"><p>The response header must have been set previously using
-<a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a> or
-<a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a>.</p></div>
-<div class="paragraph"><p>The header name must be given as a lowercase binary string.
-While header names are case insensitive, Cowboy requires them
-to be given as lowercase to function properly.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">resp_header</font></b>(<font color="#009900">Name</font>, <font color="#009900">Req</font>) <font color="#990000">-&gt;</font> <b><font color="#000000">resp_header</font></b>(<font color="#009900">Name</font>, <font color="#009900">Req</font>, <font color="#000080">undefined</font>)
+<b><font color="#000000">resp_header</font></b>(<font color="#009900">Name</font>, <font color="#009900">Req</font>, <font color="#009900">Default</font>) <font color="#990000">-&gt;</font> <b><font color="#000080">binary</font></b>() | <font color="#009900">Default</font>
+
+<font color="#009900">Name</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% lowercase; case insensitive</font></i>
+<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()
+<font color="#009900">Default</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()</tt></pre>
+</div></div>
+<p>Return the value for the given response header.</p>
+<p>The response header must have been set previously using <a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a> or <a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a>.</p>
+<p>The header name must be given as a lowercase binary string. While header names are case insensitive, Cowboy requires them to be given as lowercase to function properly.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Name
-</dt>
-<dd>
-<p>
-Desired response header name as a lowercase binary string.
-</p>
+<dl><dt>Name</dt>
+<dd><p>Desired response header name as a lowercase binary string.</p>
</dd>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-<dt class="hdlist1">
-Default
-</dt>
-<dd>
-<p>
-Default value returned when the header is missing.
-</p>
+<dt>Default</dt>
+<dd><p>Default value returned when the header is missing.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The header value is returned as a binary string. When the
-header is missing, the default argument is returned.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The header value is returned as a binary string. When the header is missing, the default argument is returned.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Function introduced.
-</p>
+<ul><li><strong>2.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Get the content-type response header</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Get the content-type response header</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Type</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:resp_header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Get the content-type response header with a default value</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><font color="#009900">Type</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:resp_header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Get the content-type response header with a default value</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Type</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:resp_header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req</span>, <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"text/html"</span><span style="color: #990000">&gt;&gt;</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Type</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:resp_header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"text/html"</font><font color="#990000">&gt;&gt;</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.resp_headers">cowboy_req:resp_headers(3)</a>,
-<a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a>,
-<a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.resp_headers">cowboy_req:resp_headers(3)</a>, <a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a>, <a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.resp_headers/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.resp_headers/index.html
index 54cc8537..a0c4ff34 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.resp_headers/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.resp_headers/index.html
@@ -62,79 +62,38 @@
<h1 class="lined-header"><span>cowboy_req:resp_headers(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:resp_headers - Response headers</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:resp_headers - Response headers</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">resp_headers</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:http_headers</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Return all response headers.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">resp_headers</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <b><font color="#000000">cowboy:http_headers</font></b>()</tt></pre>
+</div></div>
+<p>Return all response headers.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Headers are returned as a map with keys being lowercase
-binary strings, and values as binary strings.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>Headers are returned as a map with keys being lowercase binary strings, and values as binary strings.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Function introduced.
-</p>
+<ul><li><strong>2.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Get all response headers</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Get all response headers</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Headers</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:resp_headers</span></span>(<span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Headers</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:resp_headers</font></b>(<font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.resp_header">cowboy_req:resp_header(3)</a>,
-<a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a>,
-<a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.resp_header">cowboy_req:resp_header(3)</a>, <a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a>, <a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.scheme/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.scheme/index.html
index a1227edf..3f73db92 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.scheme/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.scheme/index.html
@@ -62,89 +62,52 @@
<h1 class="lined-header"><span>cowboy_req:scheme(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:scheme - URI scheme</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:scheme - URI scheme</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">scheme</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="color: #009900">Scheme</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Return the scheme of the effective request URI.</p></div>
-<div class="paragraph"><p>The scheme can also be obtained using pattern matching:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">scheme</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <font color="#009900">Scheme</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()</tt></pre>
+</div></div>
+<p>Return the scheme of the effective request URI.</p>
+<p>The scheme can also be obtained using pattern matching:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>#{<span style="color: #FF6600">scheme</span> <span style="color: #990000">:=</span> <span style="color: #009900">Scheme</span>} <span style="color: #990000">=</span> <span style="color: #009900">Req</span><span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>#{<font color="#FF6600">scheme</font> <font color="#990000">:=</font> <font color="#009900">Scheme</font>} <font color="#990000">=</font> <font color="#009900">Req</font><font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The scheme is returned as a binary. It is case insensitive.</p></div>
-<div class="paragraph"><p>Cowboy will only set the scheme to <code>&lt;&lt;"http"&gt;&gt;</code> or <code>&lt;&lt;"https"&gt;&gt;</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The scheme is returned as a binary. It is case insensitive.</p>
+<p>Cowboy will only set the scheme to <code>&lt;&lt;&quot;http&quot;&gt;&gt;</code> or <code>&lt;&lt;&quot;https&quot;&gt;&gt;</code>.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Function introduced.
-</p>
+<ul><li><strong>2.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Redirect HTTP to HTTPS</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Redirect HTTP to HTTPS</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">init</span></span>(<span style="color: #009900">Req0</span><span style="color: #990000">=</span>#{<span style="color: #FF6600">scheme</span> <span style="color: #990000">:=</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"http"</span><span style="color: #990000">&gt;&gt;</span>}, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span>
- <span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:reply</span></span>(<span style="color: #993399">302</span>, #{
- <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"location"</span><span style="color: #990000">&gt;&gt;</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:uri</span></span>(<span style="color: #009900">Req</span>, #{<span style="color: #0000FF">scheme</span> <span style="color: #990000">=&gt;</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"https"</span><span style="color: #990000">&gt;&gt;</span>})
- }, <span style="color: #009900">Req0</span>),
- {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>};
-<span style="font-weight: bold"><span style="color: #000000">init</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span>
- {<span style="color: #FF6600">cowboy_rest</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">init</font></b>(<font color="#009900">Req0</font><font color="#990000">=</font>#{<font color="#FF6600">scheme</font> <font color="#990000">:=</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"http"</font><font color="#990000">&gt;&gt;</font>}, <font color="#009900">State</font>) <font color="#990000">-&gt;</font>
+ <font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:reply</font></b>(<font color="#993399">302</font>, #{
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"location"</font><font color="#990000">&gt;&gt;</font> <font color="#990000">=&gt;</font> <b><font color="#000000">cowboy_req:uri</font></b>(<font color="#009900">Req</font>, #{<font color="#0000FF">scheme</font> <font color="#990000">=&gt;</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"https"</font><font color="#990000">&gt;&gt;</font>})
+ }, <font color="#009900">Req0</font>),
+ {<font color="#FF6600">ok</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>};
+<b><font color="#000000">init</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font>
+ {<font color="#FF6600">cowboy_rest</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.set_resp_body/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.set_resp_body/index.html
index a41023dd..20331259 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.set_resp_body/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.set_resp_body/index.html
@@ -62,138 +62,79 @@
<h1 class="lined-header"><span>cowboy_req:set_resp_body(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:set_resp_body - Set the response body</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:set_resp_body - Set the response body</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">set_resp_body</span></span>(<span style="color: #009900">Body</span>, <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>())
- <span style="color: #990000">-&gt;</span> <span style="color: #009900">Req</span>
-
-<span style="color: #009900">Body</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:resp_body</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Set the response body.</p></div>
-<div class="paragraph"><p>The response body will be sent when a reply is initiated.
-Note that the functions <code>stream_reply/2,3</code> and <code>reply/4</code>
-will override the body set by this function.</p></div>
-<div class="paragraph"><p>This function can also be used to remove a response body
-that was set previously. To do so, simply call this function
-with an empty body.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">set_resp_body</font></b>(<font color="#009900">Body</font>, <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>())
+ <font color="#990000">-&gt;</font> <font color="#009900">Req</font>
+
+<font color="#009900">Body</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:resp_body</font></b>()</tt></pre>
+</div></div>
+<p>Set the response body.</p>
+<p>The response body will be sent when a reply is initiated. Note that the functions <code>stream_reply/2,3</code> and <code>reply/4</code> will override the body set by this function.</p>
+<p>This function can also be used to remove a response body that was set previously. To do so, simply call this function with an empty body.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Body
-</dt>
-<dd>
-<p>
-The body can be either a binary value, an iolist or a
-<code>sendfile</code> tuple telling Cowboy to send the contents of
-a file.
-</p>
+<dl><dt>Body</dt>
+<dd><p>The body can be either a binary value, an iolist or a <code>sendfile</code> tuple telling Cowboy to send the contents of a file.</p>
</dd>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>A new Req object is returned.</p></div>
-<div class="paragraph"><p>The returned Req object must be used from that point onward,
-otherwise the body will not be sent in the response.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>A new Req object is returned.</p>
+<p>The returned Req object must be used from that point onward, otherwise the body will not be sent in the response.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: The function now accepts a <code>sendfile</code> tuple.
-</p>
+<ul><li><strong>2.0</strong>: The function now accepts a <code>sendfile</code> tuple.
</li>
-<li>
-<p>
-<strong>2.0</strong>: The <code>set_resp_body_fun/2,3</code> functions were removed.
-</p>
+<li><strong>2.0</strong>: The <code>set_resp_body_fun/2,3</code> functions were removed.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Set the response body</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Set the response body</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:set_resp_body</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"Hello world!"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">Req0</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Set the response body as an iolist</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:set_resp_body</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"Hello world!"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">Req0</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Set the response body as an iolist</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:set_resp_body</span></span>([
- <span style="color: #FF0000">"&lt;html&gt;&lt;head&gt;&lt;title&gt;"</span>,
- <span style="font-weight: bold"><span style="color: #000000">page_title</span></span>(),
- <span style="color: #FF0000">"&lt;/title&gt;&lt;/head&gt;&lt;body&gt;"</span>,
- <span style="font-weight: bold"><span style="color: #000000">page_body</span></span>(),
- <span style="color: #FF0000">"&lt;/body&gt;&lt;/html&gt;"</span>
-], <span style="color: #009900">Req0</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Tell Cowboy to send data from a file</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:set_resp_body</font></b>([
+ <font color="#FF0000">"&lt;html&gt;&lt;head&gt;&lt;title&gt;"</font>,
+ <b><font color="#000000">page_title</font></b>(),
+ <font color="#FF0000">"&lt;/title&gt;&lt;/head&gt;&lt;body&gt;"</font>,
+ <b><font color="#000000">page_body</font></b>(),
+ <font color="#FF0000">"&lt;/body&gt;&lt;/html&gt;"</font>
+], <font color="#009900">Req0</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Tell Cowboy to send data from a file</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #FF6600">ok</span>, <span style="color: #008080">#file_info</span>{<span style="font-weight: bold"><span style="color: #000080">size</span></span><span style="color: #990000">=</span><span style="color: #009900">Size</span>}} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">file:read_file_info</span></span>(<span style="color: #009900">Filename</span>),
-<span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:set_resp_body</span></span>({<span style="color: #FF6600">sendfile</span>, <span style="color: #993399">0</span>, <span style="color: #009900">Size</span>, <span style="color: #009900">Filename</span>}, <span style="color: #009900">Req0</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Clear any previously set response body</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#008080">#file_info</font>{<b><font color="#000080">size</font></b><font color="#990000">=</font><font color="#009900">Size</font>}} <font color="#990000">=</font> <b><font color="#000000">file:read_file_info</font></b>(<font color="#009900">Filename</font>),
+<font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:set_resp_body</font></b>({<font color="#FF6600">sendfile</font>, <font color="#993399">0</font>, <font color="#009900">Size</font>, <font color="#009900">Filename</font>}, <font color="#009900">Req0</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Clear any previously set response body</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:set_resp_body</span></span>(<span style="color: #990000">&lt;&lt;&gt;&gt;</span>, <span style="color: #009900">Req0</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:set_resp_body</font></b>(<font color="#990000">&lt;&lt;&gt;&gt;</font>, <font color="#009900">Req0</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a>,
-<a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a>,
-<a href="../cowboy_req.reply">cowboy_req:reply(3)</a>,
-<a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a>, <a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a>, <a href="../cowboy_req.reply">cowboy_req:reply(3)</a>, <a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.set_resp_cookie/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.set_resp_cookie/index.html
index 157e9162..6844dc8e 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.set_resp_cookie/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.set_resp_cookie/index.html
@@ -62,167 +62,104 @@
<h1 class="lined-header"><span>cowboy_req:set_resp_cookie(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:set_resp_cookie - Set a cookie</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:set_resp_cookie - Set a cookie</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">set_resp_cookie</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Value</span>, <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>())
- <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">set_resp_cookie</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Value</span>, [], <span style="color: #009900">Req</span>)
-
-<span style="font-weight: bold"><span style="color: #000000">set_resp_cookie</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Value</span>, <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>(), <span style="color: #009900">Opts</span>)
- <span style="color: #990000">-&gt;</span> <span style="color: #009900">Req</span>
-
-<span style="color: #009900">Name</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span>
-<span style="color: #009900">Value</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span>
-<span style="color: #009900">Opts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cow_cookie:cookie_opts</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Set a cookie to be sent with the response.</p></div>
-<div class="paragraph"><p>Note that cookie names are case sensitive.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">set_resp_cookie</font></b>(<font color="#009900">Name</font>, <font color="#009900">Value</font>, <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>())
+ <font color="#990000">-&gt;</font> <b><font color="#000000">set_resp_cookie</font></b>(<font color="#009900">Name</font>, <font color="#009900">Value</font>, [], <font color="#009900">Req</font>)
+
+<b><font color="#000000">set_resp_cookie</font></b>(<font color="#009900">Name</font>, <font color="#009900">Value</font>, <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>(), <font color="#009900">Opts</font>)
+ <font color="#990000">-&gt;</font> <font color="#009900">Req</font>
+
+<font color="#009900">Name</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case sensitive</font></i>
+<font color="#009900">Value</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>() <i><font color="#9A1900">%% case sensitive</font></i>
+<font color="#009900">Opts</font> <font color="#990000">::</font> <b><font color="#000000">cow_cookie:cookie_opts</font></b>()</tt></pre>
+</div></div>
+<p>Set a cookie to be sent with the response.</p>
+<p>Note that cookie names are case sensitive.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Name
-</dt>
-<dd>
-<p>
-Cookie name.
-</p>
+<dl><dt>Name</dt>
+<dd><p>Cookie name.</p>
</dd>
-<dt class="hdlist1">
-Value
-</dt>
-<dd>
-<p>
-Cookie value.
-</p>
+<dt>Value</dt>
+<dd><p>Cookie value.</p>
</dd>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-<dt class="hdlist1">
-Opts
-</dt>
-<dd>
-<p>
-Cookie options.
-</p>
+<dt>Opts</dt>
+<dd><p>Cookie options.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>A new Req object is returned.</p></div>
-<div class="paragraph"><p>The returned Req object must be used from that point onward,
-otherwise the cookie will not be sent in the response.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>A new Req object is returned.</p>
+<p>The returned Req object must be used from that point onward, otherwise the cookie will not be sent in the response.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: <code>set_resp_cookie/3</code> introduced as an alias to <code>set_resp_cookie/4</code> with no options.
-</p>
+<ul><li><strong>2.0</strong>: <code>set_resp_cookie/3</code> introduced as an alias to <code>set_resp_cookie/4</code> with no options.
</li>
-<li>
-<p>
-<strong>2.0</strong>: The first argument type is now <code>binary()</code> instead of <code>iodata()</code>.
-</p>
+<li><strong>2.0</strong>: The first argument type is now <code>binary()</code> instead of <code>iodata()</code>.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Set a session cookie</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Set a session cookie</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">SessionID</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">base64:encode</span></span>(<span style="font-weight: bold"><span style="color: #000000">crypto:strong_rand_bytes</span></span>(<span style="color: #993399">32</span>)),
-<span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:set_resp_cookie</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"sessionid"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">SessionID</span>, <span style="color: #009900">Req0</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Set a cookie with an expiration time</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><font color="#009900">SessionID</font> <font color="#990000">=</font> <b><font color="#000000">base64:encode</font></b>(<b><font color="#000000">crypto:strong_rand_bytes</font></b>(<font color="#993399">32</font>)),
+<font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:set_resp_cookie</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"sessionid"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">SessionID</font>, <font color="#009900">Req0</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Set a cookie with an expiration time</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:set_resp_cookie</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"lang"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"fr-FR"</span><span style="color: #990000">&gt;&gt;</span>,
- <span style="color: #009900">Req0</span>, #{<span style="color: #0000FF">max_age</span> <span style="color: #990000">=&gt;</span> <span style="color: #993399">3600</span>})<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Delete a cookie</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:set_resp_cookie</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"lang"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"fr-FR"</font><font color="#990000">&gt;&gt;</font>,
+ <font color="#009900">Req0</font>, #{<font color="#0000FF">max_age</font> <font color="#990000">=&gt;</font> <font color="#993399">3600</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Delete a cookie</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:set_resp_cookie</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"sessionid"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #990000">&lt;&lt;&gt;&gt;</span>,
- <span style="color: #009900">Req0</span>, #{<span style="color: #0000FF">max_age</span> <span style="color: #990000">=&gt;</span> <span style="color: #993399">0</span>})<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Set a cookie for a specific domain and path</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:set_resp_cookie</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"sessionid"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;&gt;&gt;</font>,
+ <font color="#009900">Req0</font>, #{<font color="#0000FF">max_age</font> <font color="#990000">=&gt;</font> <font color="#993399">0</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Set a cookie for a specific domain and path</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:set_resp_cookie</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"inaccount"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"1"</span><span style="color: #990000">&gt;&gt;</span>,
- <span style="color: #009900">Req0</span>, #{<span style="color: #0000FF">domain</span> <span style="color: #990000">=&gt;</span> <span style="color: #FF0000">"my.example.org"</span>, <span style="color: #0000FF">path</span> <span style="color: #990000">=&gt;</span> <span style="color: #FF0000">"/account"</span>})<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Restrict a cookie to HTTPS</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:set_resp_cookie</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"inaccount"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"1"</font><font color="#990000">&gt;&gt;</font>,
+ <font color="#009900">Req0</font>, #{<font color="#0000FF">domain</font> <font color="#990000">=&gt;</font> <font color="#FF0000">"my.example.org"</font>, <font color="#0000FF">path</font> <font color="#990000">=&gt;</font> <font color="#FF0000">"/account"</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Restrict a cookie to HTTPS</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">SessionID</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">base64:encode</span></span>(<span style="font-weight: bold"><span style="color: #000000">crypto:strong_rand_bytes</span></span>(<span style="color: #993399">32</span>)),
-<span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:set_resp_cookie</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"sessionid"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">SessionID</span>,
- <span style="color: #009900">Req0</span>, #{<span style="color: #0000FF">secure</span> <span style="color: #990000">=&gt;</span> <span style="color: #000080">true</span>})<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Restrict a cookie to HTTP</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><font color="#009900">SessionID</font> <font color="#990000">=</font> <b><font color="#000000">base64:encode</font></b>(<b><font color="#000000">crypto:strong_rand_bytes</font></b>(<font color="#993399">32</font>)),
+<font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:set_resp_cookie</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"sessionid"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">SessionID</font>,
+ <font color="#009900">Req0</font>, #{<font color="#0000FF">secure</font> <font color="#990000">=&gt;</font> <font color="#000080">true</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Restrict a cookie to HTTP</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">SessionID</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">base64:encode</span></span>(<span style="font-weight: bold"><span style="color: #000000">crypto:strong_rand_bytes</span></span>(<span style="color: #993399">32</span>)),
-<span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:set_resp_cookie</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"sessionid"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #009900">SessionID</span>,
- <span style="color: #009900">Req0</span>, #{<span style="color: #0000FF">http_only</span> <span style="color: #990000">=&gt;</span> <span style="color: #000080">true</span>})<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">SessionID</font> <font color="#990000">=</font> <b><font color="#000000">base64:encode</font></b>(<b><font color="#000000">crypto:strong_rand_bytes</font></b>(<font color="#993399">32</font>)),
+<font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:set_resp_cookie</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"sessionid"</font><font color="#990000">&gt;&gt;</font>, <font color="#009900">SessionID</font>,
+ <font color="#009900">Req0</font>, #{<font color="#0000FF">http_only</font> <font color="#990000">=&gt;</font> <font color="#000080">true</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a>,
-<a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a>,
-<a href="../cowboy_req.reply">cowboy_req:reply(3)</a>,
-<a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a>, <a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a>, <a href="../cowboy_req.reply">cowboy_req:reply(3)</a>, <a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.set_resp_header/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.set_resp_header/index.html
index 9bb6ad4a..64350df0 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.set_resp_header/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.set_resp_header/index.html
@@ -62,121 +62,60 @@
<h1 class="lined-header"><span>cowboy_req:set_resp_header(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:set_resp_header - Set a response header</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:set_resp_header - Set a response header</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">set_resp_header</span></span>(<span style="color: #009900">Name</span>, <span style="color: #009900">Value</span>, <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>())
- <span style="color: #990000">-&gt;</span> <span style="color: #009900">Req</span>
-
-<span style="color: #009900">Name</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% lowercase; case insensitive</span></span>
-<span style="color: #009900">Value</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case depends on header</span></span></tt></pre></div></div>
-<div class="paragraph"><p>Set a header to be sent with the response.</p></div>
-<div class="paragraph"><p>The header name must be given as a lowercase binary string.
-While header names are case insensitive, Cowboy requires them
-to be given as lowercase to function properly.</p></div>
-<div class="paragraph"><p>Cowboy does not allow duplicate header names. Headers set
-by this function may be overwritten by those set from the
-reply functions.</p></div>
-<div class="paragraph"><p>Use <a href="../cowboy_req.set_resp_cookie">cowboy_req:set_resp_cookie(3)</a>
-instead of this function to set cookies.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">set_resp_header</font></b>(<font color="#009900">Name</font>, <font color="#009900">Value</font>, <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>())
+ <font color="#990000">-&gt;</font> <font color="#009900">Req</font>
+
+<font color="#009900">Name</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% lowercase; case insensitive</font></i>
+<font color="#009900">Value</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>() <i><font color="#9A1900">%% case depends on header</font></i></tt></pre>
+</div></div>
+<p>Set a header to be sent with the response.</p>
+<p>The header name must be given as a lowercase binary string. While header names are case insensitive, Cowboy requires them to be given as lowercase to function properly.</p>
+<p>Cowboy does not allow duplicate header names. Headers set by this function may be overwritten by those set from the reply functions.</p>
+<p>Use <a href="../cowboy_req.set_resp_cookie">cowboy_req:set_resp_cookie(3)</a> instead of this function to set cookies.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Name
-</dt>
-<dd>
-<p>
-Header name as a lowercase binary string.
-</p>
+<dl><dt>Name</dt>
+<dd><p>Header name as a lowercase binary string.</p>
</dd>
-<dt class="hdlist1">
-Value
-</dt>
-<dd>
-<p>
-Header value.
-</p>
+<dt>Value</dt>
+<dd><p>Header value.</p>
</dd>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>A new Req object is returned.</p></div>
-<div class="paragraph"><p>The returned Req object must be used from that point onward,
-otherwise the header will not be sent in the response.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>A new Req object is returned.</p>
+<p>The returned Req object must be used from that point onward, otherwise the header will not be sent in the response.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<ul><li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Set a header in the response</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Set a header in the response</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:set_resp_header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"allow"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #FF0000">"GET"</span>, <span style="color: #009900">Req0</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Construct a header using iolists</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:set_resp_header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"allow"</font><font color="#990000">&gt;&gt;</font>, <font color="#FF0000">"GET"</font>, <font color="#009900">Req0</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Construct a header using iolists</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:set_resp_header</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"allow"</span><span style="color: #990000">&gt;&gt;</span>,
- [<span style="font-weight: bold"><span style="color: #000000">allowed_methods</span></span>(), <span style="color: #FF0000">", OPTIONS"</span>], <span style="color: #009900">Req0</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:set_resp_header</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"allow"</font><font color="#990000">&gt;&gt;</font>,
+ [<b><font color="#000000">allowed_methods</font></b>(), <font color="#FF0000">", OPTIONS"</font>], <font color="#009900">Req0</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.set_resp_cookie">cowboy_req:set_resp_cookie(3)</a>,
-<a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a>,
-<a href="../cowboy_req.has_resp_header">cowboy_req:has_resp_header(3)</a>,
-<a href="../cowboy_req.resp_header">cowboy_req:resp_header(3)</a>,
-<a href="../cowboy_req.resp_headers">cowboy_req:resp_headers(3)</a>,
-<a href="../cowboy_req.delete_resp_header">cowboy_req:delete_resp_header(3)</a>,
-<a href="../cowboy_req.reply">cowboy_req:reply(3)</a>,
-<a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.set_resp_cookie">cowboy_req:set_resp_cookie(3)</a>, <a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a>, <a href="../cowboy_req.has_resp_header">cowboy_req:has_resp_header(3)</a>, <a href="../cowboy_req.resp_header">cowboy_req:resp_header(3)</a>, <a href="../cowboy_req.resp_headers">cowboy_req:resp_headers(3)</a>, <a href="../cowboy_req.delete_resp_header">cowboy_req:delete_resp_header(3)</a>, <a href="../cowboy_req.reply">cowboy_req:reply(3)</a>, <a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.set_resp_headers/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.set_resp_headers/index.html
index cbd6ade8..7481bf57 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.set_resp_headers/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.set_resp_headers/index.html
@@ -62,109 +62,51 @@
<h1 class="lined-header"><span>cowboy_req:set_resp_headers(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:set_resp_headers - Set several response headers</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:set_resp_headers - Set several response headers</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">set_resp_headers</span></span>(<span style="color: #009900">Headers</span>, <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>())
- <span style="color: #990000">-&gt;</span> <span style="color: #009900">Req</span>
-
-<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:http_headers</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Set several headers to be sent with the response.</p></div>
-<div class="paragraph"><p>The header name must be given as a lowercase binary string.
-While header names are case insensitive, Cowboy requires them
-to be given as lowercase to function properly.</p></div>
-<div class="paragraph"><p>Cowboy does not allow duplicate header names. Headers set
-by this function may be overwritten by those set from the
-reply functions. Likewise, headers set by this function may
-overwrite headers that were set previously.</p></div>
-<div class="paragraph"><p>Use <a href="../cowboy_req.set_resp_cookie">cowboy_req:set_resp_cookie(3)</a>
-instead of this function to set cookies.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">set_resp_headers</font></b>(<font color="#009900">Headers</font>, <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>())
+ <font color="#990000">-&gt;</font> <font color="#009900">Req</font>
+
+<font color="#009900">Headers</font> <font color="#990000">::</font> <b><font color="#000000">cowboy:http_headers</font></b>()</tt></pre>
+</div></div>
+<p>Set several headers to be sent with the response.</p>
+<p>The header name must be given as a lowercase binary string. While header names are case insensitive, Cowboy requires them to be given as lowercase to function properly.</p>
+<p>Cowboy does not allow duplicate header names. Headers set by this function may be overwritten by those set from the reply functions. Likewise, headers set by this function may overwrite headers that were set previously.</p>
+<p>Use <a href="../cowboy_req.set_resp_cookie">cowboy_req:set_resp_cookie(3)</a> instead of this function to set cookies.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Headers
-</dt>
-<dd>
-<p>
-Headers as a map with keys being lowercase binary strings,
-and values as binary strings.
-</p>
+<dl><dt>Headers</dt>
+<dd><p>Headers as a map with keys being lowercase binary strings, and values as binary strings.</p>
</dd>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>A new Req object is returned.</p></div>
-<div class="paragraph"><p>The returned Req object must be used from that point onward,
-otherwise the headers will not be sent in the response.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>A new Req object is returned.</p>
+<p>The returned Req object must be used from that point onward, otherwise the headers will not be sent in the response.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Function introduced.
-</p>
+<ul><li><strong>2.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Set several response headers</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Set several response headers</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:set_resp_headers</span></span>(#{
- <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">&gt;&gt;</span> <span style="color: #990000">=&gt;</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"text/html"</span><span style="color: #990000">&gt;&gt;</span>,
- <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"content-encoding"</span><span style="color: #990000">&gt;&gt;</span> <span style="color: #990000">=&gt;</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"gzip"</span><span style="color: #990000">&gt;&gt;</span>
-}, <span style="color: #009900">Req0</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:set_resp_headers</font></b>(#{
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font> <font color="#990000">=&gt;</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"text/html"</font><font color="#990000">&gt;&gt;</font>,
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-encoding"</font><font color="#990000">&gt;&gt;</font> <font color="#990000">=&gt;</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"gzip"</font><font color="#990000">&gt;&gt;</font>
+}, <font color="#009900">Req0</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.set_resp_cookie">cowboy_req:set_resp_cookie(3)</a>,
-<a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a>,
-<a href="../cowboy_req.has_resp_header">cowboy_req:has_resp_header(3)</a>,
-<a href="../cowboy_req.resp_header">cowboy_req:resp_header(3)</a>,
-<a href="../cowboy_req.resp_headers">cowboy_req:resp_headers(3)</a>,
-<a href="../cowboy_req.delete_resp_header">cowboy_req:delete_resp_header(3)</a>,
-<a href="../cowboy_req.reply">cowboy_req:reply(3)</a>,
-<a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.set_resp_cookie">cowboy_req:set_resp_cookie(3)</a>, <a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a>, <a href="../cowboy_req.has_resp_header">cowboy_req:has_resp_header(3)</a>, <a href="../cowboy_req.resp_header">cowboy_req:resp_header(3)</a>, <a href="../cowboy_req.resp_headers">cowboy_req:resp_headers(3)</a>, <a href="../cowboy_req.delete_resp_header">cowboy_req:delete_resp_header(3)</a>, <a href="../cowboy_req.reply">cowboy_req:reply(3)</a>, <a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.sock/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.sock/index.html
index 5bfb7e57..c9da79f7 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.sock/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.sock/index.html
@@ -62,86 +62,47 @@
<h1 class="lined-header"><span>cowboy_req:sock(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:sock - Socket address and port</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:sock - Socket address and port</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">sock</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="color: #009900">Info</span>
+<pre><tt><b><font color="#000000">sock</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <font color="#009900">Info</font>
-<span style="color: #009900">Info</span> <span style="color: #990000">::</span> {<span style="font-weight: bold"><span style="color: #000000">inet:ip_address</span></span>(), <span style="font-weight: bold"><span style="color: #000000">inet:port_number</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>Return the socket&#8217;s IP address and port number.</p></div>
-<div class="paragraph"><p>The socket information can also be obtained using pattern matching:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<font color="#009900">Info</font> <font color="#990000">::</font> {<b><font color="#000000">inet:ip_address</font></b>(), <b><font color="#000000">inet:port_number</font></b>()}</tt></pre>
+</div></div>
+<p>Return the socket&apos;s IP address and port number.</p>
+<p>The socket information can also be obtained using pattern matching:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>#{<span style="color: #FF6600">sock</span> <span style="color: #990000">:=</span> {<span style="color: #009900">IP</span>, <span style="color: #009900">Port</span>}} <span style="color: #990000">=</span> <span style="color: #009900">Req</span><span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>#{<font color="#FF6600">sock</font> <font color="#990000">:=</font> {<font color="#009900">IP</font>, <font color="#009900">Port</font>}} <font color="#990000">=</font> <font color="#009900">Req</font><font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The socket&#8217;s local IP address and port number.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The socket&apos;s local IP address and port number.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.1</strong>: Function introduced.
-</p>
+<ul><li><strong>2.1</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Get the socket&#8217;s IP address and port number.</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Get the socket&apos;s IP address and port number.</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #009900">IP</span>, <span style="color: #009900">Port</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:sock</span></span>(<span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>{<font color="#009900">IP</font>, <font color="#009900">Port</font>} <font color="#990000">=</font> <b><font color="#000000">cowboy_req:sock</font></b>(<font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.peer">cowboy_req:peer(3)</a>,
-<a href="../cowboy_req.cert">cowboy_req:cert(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.peer">cowboy_req:peer(3)</a>, <a href="../cowboy_req.cert">cowboy_req:cert(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.stream_body/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.stream_body/index.html
index 97ae71b6..0a3ca04f 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.stream_body/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.stream_body/index.html
@@ -62,119 +62,56 @@
<h1 class="lined-header"><span>cowboy_req:stream_body(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:stream_body - Stream the response body</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:stream_body - Stream the response body</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">stream_body</span></span>(<span style="color: #009900">Data</span>, <span style="color: #009900">IsFin</span>, <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="color: #FF6600">ok</span>
-
-<span style="color: #009900">Data</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()
-<span style="color: #009900">IsFin</span> <span style="color: #990000">::</span> <span style="color: #FF6600">fin</span> | <span style="color: #FF6600">nofin</span></tt></pre></div></div>
-<div class="paragraph"><p>Stream the response body.</p></div>
-<div class="paragraph"><p>This function may be called as many times as needed after
-initiating a response using the
-<a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a>
-function.</p></div>
-<div class="paragraph"><p>The second argument indicates if this call is the final
-call. Use the <code>nofin</code> value until you know no more data
-will be sent. The final call should use <code>fin</code> (possibly
-with an empty data value) or be a call to the
-<a href="../cowboy_req.stream_trailers">cowboy_req:stream_trailers(3)</a>
-function.</p></div>
-<div class="paragraph"><p>Note that not using <code>fin</code> for the final call is not an
-error; Cowboy will take care of it when the request
-handler terminates if needed. Depending on the resource
-it may however be more efficient to do it as early as
-possible.</p></div>
-<div class="paragraph"><p>You do not need to handle HEAD requests specifically as
-Cowboy will ensure no data is sent when you call this function.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">stream_body</font></b>(<font color="#009900">Data</font>, <font color="#009900">IsFin</font>, <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <font color="#FF6600">ok</font>
+
+<font color="#009900">Data</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()
+<font color="#009900">IsFin</font> <font color="#990000">::</font> <font color="#FF6600">fin</font> | <font color="#FF6600">nofin</font></tt></pre>
+</div></div>
+<p>Stream the response body.</p>
+<p>This function may be called as many times as needed after initiating a response using the <a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a> function.</p>
+<p>The second argument indicates if this call is the final call. Use the <code>nofin</code> value until you know no more data will be sent. The final call should use <code>fin</code> (possibly with an empty data value) or be a call to the <a href="../cowboy_req.stream_trailers">cowboy_req:stream_trailers(3)</a> function.</p>
+<p>Note that not using <code>fin</code> for the final call is not an error; Cowboy will take care of it when the request handler terminates if needed. Depending on the resource it may however be more efficient to do it as early as possible.</p>
+<p>You do not need to handle HEAD requests specifically as Cowboy will ensure no data is sent when you call this function.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Data
-</dt>
-<dd>
-<p>
-The data to be sent.
-</p>
+<dl><dt>Data</dt>
+<dd><p>The data to be sent.</p>
</dd>
-<dt class="hdlist1">
-IsFin
-</dt>
-<dd>
-<p>
-A flag indicating whether this is the final piece of data
-to be sent.
-</p>
+<dt>IsFin</dt>
+<dd><p>A flag indicating whether this is the final piece of data to be sent.</p>
</dd>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The atom <code>ok</code> is always returned. It can be safely ignored.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The atom <code>ok</code> is always returned. It can be safely ignored.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Function introduced. Replaces <code>chunk/2</code>.
-</p>
+<ul><li><strong>2.0</strong>: Function introduced. Replaces <code>chunk/2</code>.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Stream the response body</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Stream the response body</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:stream_reply</span></span>(<span style="color: #993399">200</span>, #{
- <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">&gt;&gt;</span> <span style="color: #990000">=&gt;</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"text/plain"</span><span style="color: #990000">&gt;&gt;</span>
-}, <span style="color: #009900">Req0</span>),
-<span style="font-weight: bold"><span style="color: #000000">cowboy_req:stream_body</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"Hello\n"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #FF6600">nofin</span>, <span style="color: #009900">Req</span>),
-<span style="font-weight: bold"><span style="color: #000000">timer:sleep</span></span>(<span style="color: #993399">1000</span>),
-<span style="font-weight: bold"><span style="color: #000000">cowboy_req:stream_body</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"World!\n"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #FF6600">fin</span>, <span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:stream_reply</font></b>(<font color="#993399">200</font>, #{
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font> <font color="#990000">=&gt;</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"text/plain"</font><font color="#990000">&gt;&gt;</font>
+}, <font color="#009900">Req0</font>),
+<b><font color="#000000">cowboy_req:stream_body</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"Hello\n"</font><font color="#990000">&gt;&gt;</font>, <font color="#FF6600">nofin</font>, <font color="#009900">Req</font>),
+<b><font color="#000000">timer:sleep</font></b>(<font color="#993399">1000</font>),
+<b><font color="#000000">cowboy_req:stream_body</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"World!\n"</font><font color="#990000">&gt;&gt;</font>, <font color="#FF6600">fin</font>, <font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a>,
-<a href="../cowboy_req.stream_trailers">cowboy_req:stream_trailers(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a>, <a href="../cowboy_req.stream_trailers">cowboy_req:stream_trailers(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.stream_reply/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.stream_reply/index.html
index 9534020b..17382cf6 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.stream_reply/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.stream_reply/index.html
@@ -62,152 +62,76 @@
<h1 class="lined-header"><span>cowboy_req:stream_reply(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:stream_reply - Send the response headers</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:stream_reply - Send the response headers</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">stream_reply</span></span>(<span style="color: #009900">Status</span>, <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>())
- <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">stream_reply</span></span>(<span style="color: #009900">StatusCode</span>, #{}, <span style="color: #009900">Req</span>)
-
-<span style="font-weight: bold"><span style="color: #000000">stream_reply</span></span>(<span style="color: #009900">Status</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>())
- <span style="color: #990000">-&gt;</span> <span style="color: #009900">Req</span>
-
-<span style="color: #009900">Status</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:http_status</span></span>()
-<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:http_headers</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Send the response headers.</p></div>
-<div class="paragraph"><p>The header names must be given as lowercase binary strings.
-While header names are case insensitive, Cowboy requires them
-to be given as lowercase to function properly.</p></div>
-<div class="paragraph"><p>Cowboy does not allow duplicate header names. Headers set
-by this function may overwrite those set by <code>set_resp_header/3</code>.</p></div>
-<div class="paragraph"><p>Use <a href="../cowboy_req.set_resp_cookie">cowboy_req:set_resp_cookie(3)</a>
-instead of this function to set cookies.</p></div>
-<div class="paragraph"><p>If a response body was set before calling this function,
-it will not be sent.</p></div>
-<div class="paragraph"><p>Use <a href="../cowboy_req.stream_body">cowboy_req:stream_body(3)</a>
-to stream the response body and optionally
-<a href="../cowboy_req.stream_trailers">cowboy_req:stream_trailers(3)</a>
-to send response trailer field values.</p></div>
-<div class="paragraph"><p>You may want to set the content-length header when using
-this function, if it is known in advance. This will allow
-clients using HTTP/2 and HTTP/1.0 to process the response
-more efficiently.</p></div>
-<div class="paragraph"><p>The streaming method varies depending on the protocol being
-used. HTTP/2 will use the usual DATA frames. HTTP/1.1 will
-use chunked transfer-encoding. HTTP/1.0 will send the body
-unmodified and close the connection at the end if no
-content-length was set.</p></div>
-<div class="paragraph"><p>It is not possible to push resources after this function
-returns. Any attempt will result in an error.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">stream_reply</font></b>(<font color="#009900">Status</font>, <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>())
+ <font color="#990000">-&gt;</font> <b><font color="#000000">stream_reply</font></b>(<font color="#009900">StatusCode</font>, #{}, <font color="#009900">Req</font>)
+
+<b><font color="#000000">stream_reply</font></b>(<font color="#009900">Status</font>, <font color="#009900">Headers</font>, <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>())
+ <font color="#990000">-&gt;</font> <font color="#009900">Req</font>
+
+<font color="#009900">Status</font> <font color="#990000">::</font> <b><font color="#000000">cowboy:http_status</font></b>()
+<font color="#009900">Headers</font> <font color="#990000">::</font> <b><font color="#000000">cowboy:http_headers</font></b>()</tt></pre>
+</div></div>
+<p>Send the response headers.</p>
+<p>The header names must be given as lowercase binary strings. While header names are case insensitive, Cowboy requires them to be given as lowercase to function properly.</p>
+<p>Cowboy does not allow duplicate header names. Headers set by this function may overwrite those set by <code>set_resp_header/3</code>.</p>
+<p>Use <a href="../cowboy_req.set_resp_cookie">cowboy_req:set_resp_cookie(3)</a> instead of this function to set cookies.</p>
+<p>If a response body was set before calling this function, it will not be sent.</p>
+<p>Use <a href="../cowboy_req.stream_body">cowboy_req:stream_body(3)</a> to stream the response body and optionally <a href="../cowboy_req.stream_trailers">cowboy_req:stream_trailers(3)</a> to send response trailer field values.</p>
+<p>You may want to set the content-length header when using this function, if it is known in advance. This will allow clients using HTTP/2 and HTTP/1.0 to process the response more efficiently.</p>
+<p>The streaming method varies depending on the protocol being used. HTTP/2 will use the usual DATA frames. HTTP/1.1 will use chunked transfer-encoding. HTTP/1.0 will send the body unmodified and close the connection at the end if no content-length was set.</p>
+<p>It is not possible to push resources after this function returns. Any attempt will result in an error.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Status
-</dt>
-<dd>
-<p>
-The status code for the response.
-</p>
+<dl><dt>Status</dt>
+<dd><p>The status code for the response.</p>
</dd>
-<dt class="hdlist1">
-Headers
-</dt>
-<dd>
-<p>
-The response headers.
-</p>
+<dt>Headers</dt>
+<dd><p>The response headers.</p>
</dd>
-</dl></div>
-<div class="paragraph"><p>Header names must be given as lowercase binary strings.</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+</dl>
+<p>Header names must be given as lowercase binary strings.</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>A new Req object is returned.</p></div>
-<div class="paragraph"><p>The returned Req object must be used from that point onward
-in order to be able to stream the response body.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>A new Req object is returned.</p>
+<p>The returned Req object must be used from that point onward in order to be able to stream the response body.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Only the Req is returned, it is no longer wrapped in a tuple.
-</p>
+<ul><li><strong>2.0</strong>: Only the Req is returned, it is no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>2.0</strong>: Function introduced. Replaces <code>chunked_reply/1,2</code>.
-</p>
+<li><strong>2.0</strong>: Function introduced. Replaces <code>chunked_reply/1,2</code>.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Initiate the response</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Initiate the response</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:stream_reply</span></span>(<span style="color: #993399">200</span>, <span style="color: #009900">Req0</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Stream the response with custom headers</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:stream_reply</font></b>(<font color="#993399">200</font>, <font color="#009900">Req0</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Stream the response with custom headers</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:stream_reply</span></span>(<span style="color: #993399">200</span>, #{
- <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">&gt;&gt;</span> <span style="color: #990000">=&gt;</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"text/plain"</span><span style="color: #990000">&gt;&gt;</span>
-}, <span style="color: #009900">Req0</span>),
-<span style="font-weight: bold"><span style="color: #000000">cowboy_req:stream_body</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"Hello\n"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #FF6600">nofin</span>, <span style="color: #009900">Req</span>),
-<span style="font-weight: bold"><span style="color: #000000">timer:sleep</span></span>(<span style="color: #993399">1000</span>),
-<span style="font-weight: bold"><span style="color: #000000">cowboy_req:stream_body</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"World!\n"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #FF6600">fin</span>, <span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:stream_reply</font></b>(<font color="#993399">200</font>, #{
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font> <font color="#990000">=&gt;</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"text/plain"</font><font color="#990000">&gt;&gt;</font>
+}, <font color="#009900">Req0</font>),
+<b><font color="#000000">cowboy_req:stream_body</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"Hello\n"</font><font color="#990000">&gt;&gt;</font>, <font color="#FF6600">nofin</font>, <font color="#009900">Req</font>),
+<b><font color="#000000">timer:sleep</font></b>(<font color="#993399">1000</font>),
+<b><font color="#000000">cowboy_req:stream_body</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"World!\n"</font><font color="#990000">&gt;&gt;</font>, <font color="#FF6600">fin</font>, <font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.set_resp_cookie">cowboy_req:set_resp_cookie(3)</a>,
-<a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a>,
-<a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a>,
-<a href="../cowboy_req.inform">cowboy_req:inform(3)</a>,
-<a href="../cowboy_req.reply">cowboy_req:reply(3)</a>,
-<a href="../cowboy_req.stream_body">cowboy_req:stream_body(3)</a>,
-<a href="../cowboy_req.stream_trailers">cowboy_req:stream_trailers(3)</a>,
-<a href="../cowboy_req.push">cowboy_req:push(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.set_resp_cookie">cowboy_req:set_resp_cookie(3)</a>, <a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a>, <a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a>, <a href="../cowboy_req.inform">cowboy_req:inform(3)</a>, <a href="../cowboy_req.reply">cowboy_req:reply(3)</a>, <a href="../cowboy_req.stream_body">cowboy_req:stream_body(3)</a>, <a href="../cowboy_req.stream_trailers">cowboy_req:stream_trailers(3)</a>, <a href="../cowboy_req.push">cowboy_req:push(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.stream_trailers/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.stream_trailers/index.html
index 9f08091c..6a96ed52 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.stream_trailers/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.stream_trailers/index.html
@@ -62,107 +62,55 @@
<h1 class="lined-header"><span>cowboy_req:stream_trailers(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:stream_trailers - Send the response trailers</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:stream_trailers - Send the response trailers</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">stream_trailers</span></span>(<span style="color: #009900">Trailers</span>, <span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="color: #FF6600">ok</span>
-
-<span style="color: #009900">Trailers</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:http_headers</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Send the response trailers and terminate the stream.</p></div>
-<div class="paragraph"><p>This function can only be called once, after initiating
-a response using
-<a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a>
-and sending zero or more body chunks using
-<a href="../cowboy_req.stream_body">cowboy_req:stream_body(3)</a>
-with the <code>nofin</code> argument set. The function <code>stream_trailers/2</code>
-implies <code>fin</code> and automatically terminate the response.</p></div>
-<div class="paragraph"><p>You must list all field names sent in trailers in the
-trailer header, otherwise they might be dropped by intermediaries
-or clients.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">stream_trailers</font></b>(<font color="#009900">Trailers</font>, <font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <font color="#FF6600">ok</font>
+
+<font color="#009900">Trailers</font> <font color="#990000">::</font> <b><font color="#000000">cowboy:http_headers</font></b>()</tt></pre>
+</div></div>
+<p>Send the response trailers and terminate the stream.</p>
+<p>This function can only be called once, after initiating a response using <a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a> and sending zero or more body chunks using <a href="../cowboy_req.stream_body">cowboy_req:stream_body(3)</a> with the <code>nofin</code> argument set. The function <code>stream_trailers/2</code> implies <code>fin</code> and automatically terminate the response.</p>
+<p>You must list all field names sent in trailers in the trailer header, otherwise they might be dropped by intermediaries or clients.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Trailers
-</dt>
-<dd>
-<p>
-Trailer field values to be sent.
-</p>
+<dl><dt>Trailers</dt>
+<dd><p>Trailer field values to be sent.</p>
</dd>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The atom <code>ok</code> is always returned. It can be safely ignored.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The atom <code>ok</code> is always returned. It can be safely ignored.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.2</strong>: Function introduced.
-</p>
+<ul><li><strong>2.2</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Stream a response body with trailers</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Stream a response body with trailers</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:stream_reply</span></span>(<span style="color: #993399">200</span>, #{
- <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">&gt;&gt;</span> <span style="color: #990000">=&gt;</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"text/plain"</span><span style="color: #990000">&gt;&gt;</span>,
- <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"trailer"</span><span style="color: #990000">&gt;&gt;</span> <span style="color: #990000">=&gt;</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"expires, content-md5"</span><span style="color: #990000">&gt;&gt;</span>
-}, <span style="color: #009900">Req0</span>),
-<span style="font-weight: bold"><span style="color: #000000">cowboy_req:stream_body</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"Hello\n"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #FF6600">nofin</span>, <span style="color: #009900">Req</span>),
-<span style="font-weight: bold"><span style="color: #000000">timer:sleep</span></span>(<span style="color: #993399">1000</span>),
-<span style="font-weight: bold"><span style="color: #000000">cowboy_req:stream_body</span></span>(<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"World!\n"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #FF6600">nofin</span>, <span style="color: #009900">Req</span>)<span style="color: #990000">.</span>
-<span style="font-weight: bold"><span style="color: #000000">cowboy_req:stream_trailers</span></span>(#{
- <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"expires"</span><span style="color: #990000">&gt;&gt;</span> <span style="color: #990000">=&gt;</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"Sun, 10 Dec 2017 19:13:47 GMT"</span><span style="color: #990000">&gt;&gt;</span>,
- <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"content-md5"</span><span style="color: #990000">&gt;&gt;</span> <span style="color: #990000">=&gt;</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"fbf68a8e34b2ded53bba54e68794b4fe"</span><span style="color: #990000">&gt;&gt;</span>
-}, <span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Req</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:stream_reply</font></b>(<font color="#993399">200</font>, #{
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font> <font color="#990000">=&gt;</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"text/plain"</font><font color="#990000">&gt;&gt;</font>,
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"trailer"</font><font color="#990000">&gt;&gt;</font> <font color="#990000">=&gt;</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"expires, content-md5"</font><font color="#990000">&gt;&gt;</font>
+}, <font color="#009900">Req0</font>),
+<b><font color="#000000">cowboy_req:stream_body</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"Hello\n"</font><font color="#990000">&gt;&gt;</font>, <font color="#FF6600">nofin</font>, <font color="#009900">Req</font>),
+<b><font color="#000000">timer:sleep</font></b>(<font color="#993399">1000</font>),
+<b><font color="#000000">cowboy_req:stream_body</font></b>(<font color="#990000">&lt;&lt;</font><font color="#FF0000">"World!\n"</font><font color="#990000">&gt;&gt;</font>, <font color="#FF6600">nofin</font>, <font color="#009900">Req</font>)<font color="#990000">.</font>
+<b><font color="#000000">cowboy_req:stream_trailers</font></b>(#{
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"expires"</font><font color="#990000">&gt;&gt;</font> <font color="#990000">=&gt;</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"Sun, 10 Dec 2017 19:13:47 GMT"</font><font color="#990000">&gt;&gt;</font>,
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-md5"</font><font color="#990000">&gt;&gt;</font> <font color="#990000">=&gt;</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"fbf68a8e34b2ded53bba54e68794b4fe"</font><font color="#990000">&gt;&gt;</font>
+}, <font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a>,
-<a href="../cowboy_req.stream_body">cowboy_req:stream_body(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a>, <a href="../cowboy_req.stream_body">cowboy_req:stream_body(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.uri/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.uri/index.html
index c7e9efc4..e70c3d45 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.uri/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.uri/index.html
@@ -62,177 +62,106 @@
<h1 class="lined-header"><span>cowboy_req:uri(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:uri - Reconstructed URI</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:uri - Reconstructed URI</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">uri</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">uri</span></span>(<span style="color: #009900">Req</span>, #{})
-<span style="font-weight: bold"><span style="color: #000000">uri</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>(), <span style="color: #009900">Opts</span>) <span style="color: #990000">-&gt;</span> <span style="color: #009900">URI</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()
-
-<span style="color: #009900">Opts</span> <span style="color: #990000">::</span> #{
- <span style="color: #0000FF">scheme</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() | <span style="color: #000080">undefined</span>,
- <span style="color: #0000FF">host</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() | <span style="color: #000080">undefined</span>,
- <span style="color: #0000FF">port</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">inet:port_number</span></span>() | <span style="color: #000080">undefined</span>,
- <span style="color: #0000FF">path</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() | <span style="color: #000080">undefined</span>,
- <span style="color: #0000FF">qs</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() | <span style="color: #000080">undefined</span>,
- <span style="color: #0000FF">fragment</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() | <span style="color: #000080">undefined</span>
-}</tt></pre></div></div>
-<div class="paragraph"><p>Reconstruct the effective request URI, optionally modifying components.</p></div>
-<div class="paragraph"><p>By default Cowboy will build a URI using the components found
-in the request. Options allow disabling or replacing individual
-components.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">uri</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <b><font color="#000000">uri</font></b>(<font color="#009900">Req</font>, #{})
+<b><font color="#000000">uri</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>(), <font color="#009900">Opts</font>) <font color="#990000">-&gt;</font> <font color="#009900">URI</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()
+
+<font color="#009900">Opts</font> <font color="#990000">::</font> #{
+ <font color="#0000FF">scheme</font> <font color="#990000">=&gt;</font> <b><font color="#000000">iodata</font></b>() | <font color="#000080">undefined</font>,
+ <font color="#0000FF">host</font> <font color="#990000">=&gt;</font> <b><font color="#000000">iodata</font></b>() | <font color="#000080">undefined</font>,
+ <font color="#0000FF">port</font> <font color="#990000">=&gt;</font> <b><font color="#000000">inet:port_number</font></b>() | <font color="#000080">undefined</font>,
+ <font color="#0000FF">path</font> <font color="#990000">=&gt;</font> <b><font color="#000000">iodata</font></b>() | <font color="#000080">undefined</font>,
+ <font color="#0000FF">qs</font> <font color="#990000">=&gt;</font> <b><font color="#000000">iodata</font></b>() | <font color="#000080">undefined</font>,
+ <font color="#0000FF">fragment</font> <font color="#990000">=&gt;</font> <b><font color="#000000">iodata</font></b>() | <font color="#000080">undefined</font>
+}</tt></pre>
+</div></div>
+<p>Reconstruct the effective request URI, optionally modifying components.</p>
+<p>By default Cowboy will build a URI using the components found in the request. Options allow disabling or replacing individual components.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-<dt class="hdlist1">
-Opts
-</dt>
-<dd>
-<p>
-Map for overriding individual components.
-</p>
-<div class="paragraph"><p>To replace a component, provide its new value as a binary
-string or an iolist. To disable a component, set its value
-to <code>undefined</code>.</p></div>
-<div class="paragraph"><p>As this function always returns a valid URI, there are some
-things to note:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-Disabling the host also disables the scheme and port.
-</p>
+<dt>Opts</dt>
+<dd><p>Map for overriding individual components.</p>
+<p>To replace a component, provide its new value as a binary string or an iolist. To disable a component, set its value to <code>undefined</code>.</p>
+<p>As this function always returns a valid URI, there are some things to note:</p>
+<ul><li>Disabling the host also disables the scheme and port.
</li>
-<li>
-<p>
-There is no fragment component by default as these are
- not sent with the request.
-</p>
+<li>There is no fragment component by default as these are not sent with the request.
</li>
-<li>
-<p>
-The port number may not appear in the resulting URI if
- it is the default port for the given scheme (http: 80; https: 443).
-</p>
+<li>The port number may not appear in the resulting URI if it is the default port for the given scheme (http: 80; https: 443).
</li>
-</ul></div>
+</ul>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The reconstructed URI is returned as an iolist or a binary string.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The reconstructed URI is returned as an iolist or a binary string.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Individual components can be replaced or disabled.
-</p>
+<ul><li><strong>2.0</strong>: Individual components can be replaced or disabled.
</li>
-<li>
-<p>
-<strong>2.0</strong>: Only the URI is returned, it is no longer wrapped in a tuple.
-</p>
+<li><strong>2.0</strong>: Only the URI is returned, it is no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>2.0</strong>: Function introduced. Replaces <code>host_url/1</code> and <code>url/1</code>.
-</p>
+<li><strong>2.0</strong>: Function introduced. Replaces <code>host_url/1</code> and <code>url/1</code>.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>With an effective request URI <a href="http://example.org/path/to/res?edit=1">http://example.org/path/to/res?edit=1</a>
-we can have:</p></div>
-<div class="listingblock">
-<div class="title">Protocol relative form</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<p>With an effective request URI <a href="http://example.org/path/to/res?edit=1">http://example.org/path/to/res?edit=1</a> we can have:</p>
+<div class="listingblock"><div class="title">Protocol relative form</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-style: italic"><span style="color: #9A1900">%% //example.org/path/to/res?edit=1</span></span>
-<span style="font-weight: bold"><span style="color: #000000">cowboy_req:uri</span></span>(<span style="color: #009900">Req</span>, #{<span style="color: #0000FF">scheme</span> <span style="color: #990000">=&gt;</span> <span style="color: #000080">undefined</span>})<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Serialized origin for use in the origin header</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><i><font color="#9A1900">%% //example.org/path/to/res?edit=1</font></i>
+<b><font color="#000000">cowboy_req:uri</font></b>(<font color="#009900">Req</font>, #{<font color="#0000FF">scheme</font> <font color="#990000">=&gt;</font> <font color="#000080">undefined</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Serialized origin for use in the origin header</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-style: italic"><span style="color: #9A1900">%% </span></span><span style="text-decoration: underline"><span style="color: #0000FF">http://example.org</span></span>
-<span style="font-weight: bold"><span style="color: #000000">cowboy_req:uri</span></span>(<span style="color: #009900">Req</span>, #{<span style="color: #0000FF">path</span> <span style="color: #990000">=&gt;</span> <span style="color: #000080">undefined</span>, <span style="color: #0000FF">qs</span> <span style="color: #990000">=&gt;</span> <span style="color: #000080">undefined</span>})<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">HTTP/1.1 origin form (path and query string only)</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><i><font color="#9A1900">%% </font></i><u><font color="#0000FF">http://example.org</font></u>
+<b><font color="#000000">cowboy_req:uri</font></b>(<font color="#009900">Req</font>, #{<font color="#0000FF">path</font> <font color="#990000">=&gt;</font> <font color="#000080">undefined</font>, <font color="#0000FF">qs</font> <font color="#990000">=&gt;</font> <font color="#000080">undefined</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">HTTP/1.1 origin form (path and query string only)</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-style: italic"><span style="color: #9A1900">%% /path/to/res?edit=1</span></span>
-<span style="font-weight: bold"><span style="color: #000000">cowboy_req:uri</span></span>(<span style="color: #009900">Req</span>, #{<span style="color: #0000FF">host</span> <span style="color: #990000">=&gt;</span> <span style="color: #000080">undefined</span>})<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Add a fragment to the URI</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><i><font color="#9A1900">%% /path/to/res?edit=1</font></i>
+<b><font color="#000000">cowboy_req:uri</font></b>(<font color="#009900">Req</font>, #{<font color="#0000FF">host</font> <font color="#990000">=&gt;</font> <font color="#000080">undefined</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Add a fragment to the URI</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-style: italic"><span style="color: #9A1900">%% </span></span><span style="text-decoration: underline"><span style="color: #0000FF">http://example.org/path/to/res</span></span><span style="font-style: italic"><span style="color: #9A1900">?edit=1#errors</span></span>
-<span style="font-weight: bold"><span style="color: #000000">cowboy_req:uri</span></span>(<span style="color: #009900">Req</span>, #{<span style="color: #0000FF">fragment</span> <span style="color: #990000">=&gt;</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"errors"</span><span style="color: #990000">&gt;&gt;</span>})<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Ensure the scheme is HTTPS</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><i><font color="#9A1900">%% </font></i><u><font color="#0000FF">http://example.org/path/to/res</font></u><i><font color="#9A1900">?edit=1#errors</font></i>
+<b><font color="#000000">cowboy_req:uri</font></b>(<font color="#009900">Req</font>, #{<font color="#0000FF">fragment</font> <font color="#990000">=&gt;</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"errors"</font><font color="#990000">&gt;&gt;</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Ensure the scheme is HTTPS</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-style: italic"><span style="color: #9A1900">%% </span></span><span style="text-decoration: underline"><span style="color: #0000FF">https://example.org/path/to/res</span></span><span style="font-style: italic"><span style="color: #9A1900">?edit=1</span></span>
-<span style="font-weight: bold"><span style="color: #000000">cowboy_req:uri</span></span>(<span style="color: #009900">Req</span>, #{<span style="color: #0000FF">scheme</span> <span style="color: #990000">=&gt;</span> <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"https"</span><span style="color: #990000">&gt;&gt;</span>})<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Convert the URI to a binary string</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><i><font color="#9A1900">%% </font></i><u><font color="#0000FF">https://example.org/path/to/res</font></u><i><font color="#9A1900">?edit=1</font></i>
+<b><font color="#000000">cowboy_req:uri</font></b>(<font color="#009900">Req</font>, #{<font color="#0000FF">scheme</font> <font color="#990000">=&gt;</font> <font color="#990000">&lt;&lt;</font><font color="#FF0000">"https"</font><font color="#990000">&gt;&gt;</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Convert the URI to a binary string</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">iolist_to_binary</span></span>(<span style="font-weight: bold"><span style="color: #000000">cowboy_req:uri</span></span>(<span style="color: #009900">Req</span>))<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">iolist_to_binary</font></b>(<b><font color="#000000">cowboy_req:uri</font></b>(<font color="#009900">Req</font>))<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>,
-<a href="../cowboy_req.scheme">cowboy_req:scheme(3)</a>,
-<a href="../cowboy_req.host">cowboy_req:host(3)</a>,
-<a href="../cowboy_req.port">cowboy_req:port(3)</a>,
-<a href="../cowboy_req.path">cowboy_req:path(3)</a>,
-<a href="../cowboy_req.qs">cowboy_req:qs(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.scheme">cowboy_req:scheme(3)</a>, <a href="../cowboy_req.host">cowboy_req:host(3)</a>, <a href="../cowboy_req.port">cowboy_req:port(3)</a>, <a href="../cowboy_req.path">cowboy_req:path(3)</a>, <a href="../cowboy_req.qs">cowboy_req:qs(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req.version/index.html b/docs/en/cowboy/2.4/manual/cowboy_req.version/index.html
index ad6cb189..ecf55796 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req.version/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req.version/index.html
@@ -62,88 +62,47 @@
<h1 class="lined-header"><span>cowboy_req:version(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req:version - HTTP version</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req:version - HTTP version</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">version</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="color: #009900">Version</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:http_version</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Return the HTTP version used for the request.</p></div>
-<div class="paragraph"><p>The version can also be obtained using pattern matching:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">version</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <font color="#009900">Version</font> <font color="#990000">::</font> <b><font color="#000000">cowboy:http_version</font></b>()</tt></pre>
+</div></div>
+<p>Return the HTTP version used for the request.</p>
+<p>The version can also be obtained using pattern matching:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>#{<span style="color: #FF6600">version</span> <span style="color: #990000">:=</span> <span style="color: #009900">Version</span>} <span style="color: #990000">=</span> <span style="color: #009900">Req</span><span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>#{<font color="#FF6600">version</font> <font color="#990000">:=</font> <font color="#009900">Version</font>} <font color="#990000">=</font> <font color="#009900">Req</font><font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Req
-</dt>
-<dd>
-<p>
-The Req object.
-</p>
+<dl><dt>Req</dt>
+<dd><p>The Req object.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The HTTP version used for the request is returned as an
-atom. It is provided for informative purposes only.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The HTTP version used for the request is returned as an atom. It is provided for informative purposes only.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: Only the version is returned, it is no longer wrapped in a tuple.
-</p>
+<ul><li><strong>2.0</strong>: Only the version is returned, it is no longer wrapped in a tuple.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Get the HTTP version</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Get the HTTP version</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Version</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:version</span></span>(<span style="color: #009900">Req</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Version</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_req:version</font></b>(<font color="#009900">Req</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_req">cowboy_req(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_req/index.html b/docs/en/cowboy/2.4/manual/cowboy_req/index.html
index 27795e51..f8d793ab 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_req/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_req/index.html
@@ -62,414 +62,218 @@
<h1 class="lined-header"><span>cowboy_req(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_req - HTTP request and response</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_req - HTTP request and response</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The module <code>cowboy_req</code> provides functions to access, manipulate
-and respond to requests.</p></div>
-<div class="paragraph"><p>There are four types of functions in this module. They can be
-differentiated by their name and their return type:</p></div>
-<div class="tableblock">
-<table rules="all"
-width="100%"
-frame="border"
-cellspacing="0" cellpadding="4">
-<col width="33%" />
-<col width="33%" />
-<col width="33%" />
-<thead>
-<tr>
-<th align="left" valign="top"> Type </th>
-<th align="left" valign="top"> Name pattern </th>
-<th align="left" valign="top"> Return type</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td align="left" valign="top"><p class="table">access</p></td>
-<td align="left" valign="top"><p class="table">no verb, parse_*, match_*</p></td>
-<td align="left" valign="top"><p class="table"><code>Value</code></p></td>
+<p>The module <code>cowboy_req</code> provides functions to access, manipulate and respond to requests.</p>
+<p>There are four types of functions in this module. They can be differentiated by their name and their return type:</p>
+<table rules="all" width="100%" frame="border"
+ cellspacing="0" cellpadding="4">
+<thead><tr><th>Type</th>
+<th>Name pattern</th>
+<th>Return type</th>
+</tr></thead><tbody><tr><td>access</td>
+<td>no verb, parse_*, match_*</td>
+<td><code>Value</code></td>
</tr>
-<tr>
-<td align="left" valign="top"><p class="table">question</p></td>
-<td align="left" valign="top"><p class="table">has_*</p></td>
-<td align="left" valign="top"><p class="table"><code>boolean()</code></p></td>
+<tr><td>question</td>
+<td>has_*</td>
+<td><code>boolean()</code></td>
</tr>
-<tr>
-<td align="left" valign="top"><p class="table">modification</p></td>
-<td align="left" valign="top"><p class="table">set_*</p></td>
-<td align="left" valign="top"><p class="table"><code>Req</code></p></td>
+<tr><td>modification</td>
+<td>set_*</td>
+<td><code>Req</code></td>
</tr>
-<tr>
-<td align="left" valign="top"><p class="table">action</p></td>
-<td align="left" valign="top"><p class="table">any other verb</p></td>
-<td align="left" valign="top"><p class="table"><code>ok | {Result, Value, Req}</code></p></td>
+<tr><td>action</td>
+<td>any other verb</td>
+<td><code>ok | {Result, Value, Req}</code></td>
</tr>
-</tbody>
-</table>
-</div>
-<div class="paragraph"><p>Any <code>Req</code> returned must be used in place of the one passed as
-argument. Functions that perform an action in particular write
-state in the Req object to make sure you are using the function
-correctly. For example, it&#8217;s only possible to send one response,
-and to read the body once.</p></div>
-</div>
-</div>
-<div class="sect1">
+</tbody></table>
+<p>Any <code>Req</code> returned must be used in place of the one passed as argument. Functions that perform an action in particular write state in the Req object to make sure you are using the function correctly. For example, it&apos;s only possible to send one response, and to read the body once.</p>
<h2 id="_exports">Exports</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Connection:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="../cowboy_req.peer">cowboy_req:peer(3)</a> - Peer address and port
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.sock">cowboy_req:sock(3)</a> - Socket address and port
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.cert">cowboy_req:cert(3)</a> - Client TLS certificate
-</p>
-</li>
-</ul></div>
-<div class="paragraph"><p>Raw request:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="../cowboy_req.method">cowboy_req:method(3)</a> - HTTP method
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.version">cowboy_req:version(3)</a> - HTTP version
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.scheme">cowboy_req:scheme(3)</a> - URI scheme
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.host">cowboy_req:host(3)</a> - URI host name
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.port">cowboy_req:port(3)</a> - URI port number
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.path">cowboy_req:path(3)</a> - URI path
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.qs">cowboy_req:qs(3)</a> - URI query string
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.uri">cowboy_req:uri(3)</a> - Reconstructed URI
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.header">cowboy_req:header(3)</a> - HTTP header
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.headers">cowboy_req:headers(3)</a> - HTTP headers
-</p>
-</li>
-</ul></div>
-<div class="paragraph"><p>Processed request:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="../cowboy_req.parse_qs">cowboy_req:parse_qs(3)</a> - Parse the query string
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.match_qs">cowboy_req:match_qs(3)</a> - Match the query string against constraints
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.parse_header">cowboy_req:parse_header(3)</a> - Parse the given HTTP header
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.parse_cookies">cowboy_req:parse_cookies(3)</a> - Parse cookie headers
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.match_cookies">cowboy_req:match_cookies(3)</a> - Match cookies against constraints
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.binding">cowboy_req:binding(3)</a> - Access a value bound from the route
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.bindings">cowboy_req:bindings(3)</a> - Access all values bound from the route
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.host_info">cowboy_req:host_info(3)</a> - Access the route&#8217;s heading host segments
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.path_info">cowboy_req:path_info(3)</a> - Access the route&#8217;s trailing path segments
-</p>
-</li>
-</ul></div>
-<div class="paragraph"><p>Request body:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="../cowboy_req.has_body">cowboy_req:has_body(3)</a> - Is there a request body?
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.body_length">cowboy_req:body_length(3)</a> - Body length
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a> - Read the request body
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.read_urlencoded_body">cowboy_req:read_urlencoded_body(3)</a> - Read and parse a urlencoded request body
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.read_part">cowboy_req:read_part(3)</a> - Read the next multipart headers
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.read_part_body">cowboy_req:read_part_body(3)</a> - Read the current part&#8217;s body
-</p>
-</li>
-</ul></div>
-<div class="paragraph"><p>Response:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="../cowboy_req.set_resp_cookie">cowboy_req:set_resp_cookie(3)</a> - Set a cookie
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a> - Set a response header
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a> - Set several response headers
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.has_resp_header">cowboy_req:has_resp_header(3)</a> - Is the given response header set?
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.resp_header">cowboy_req:resp_header(3)</a> - Response header
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.resp_headers">cowboy_req:resp_headers(3)</a> - Response headers
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.delete_resp_header">cowboy_req:delete_resp_header(3)</a> - Delete a response header
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.set_resp_body">cowboy_req:set_resp_body(3)</a> - Set the response body
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.has_resp_body">cowboy_req:has_resp_body(3)</a> - Is there a response body?
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.inform">cowboy_req:inform(3)</a> - Send an informational response
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.reply">cowboy_req:reply(3)</a> - Send the response
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a> - Send the response headers
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.stream_body">cowboy_req:stream_body(3)</a> - Stream the response body
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.stream_trailers">cowboy_req:stream_trailers(3)</a> - Send the response trailers
-</p>
-</li>
-<li>
-<p>
-<a href="../cowboy_req.push">cowboy_req:push(3)</a> - Push a resource to the client
-</p>
-</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+<p>Connection:</p>
+<ul><li><a href="../cowboy_req.peer">cowboy_req:peer(3)</a> - Peer address and port
+</li>
+<li><a href="../cowboy_req.sock">cowboy_req:sock(3)</a> - Socket address and port
+</li>
+<li><a href="../cowboy_req.cert">cowboy_req:cert(3)</a> - Client TLS certificate
+</li>
+</ul>
+<p>Raw request:</p>
+<ul><li><a href="../cowboy_req.method">cowboy_req:method(3)</a> - HTTP method
+</li>
+<li><a href="../cowboy_req.version">cowboy_req:version(3)</a> - HTTP version
+</li>
+<li><a href="../cowboy_req.scheme">cowboy_req:scheme(3)</a> - URI scheme
+</li>
+<li><a href="../cowboy_req.host">cowboy_req:host(3)</a> - URI host name
+</li>
+<li><a href="../cowboy_req.port">cowboy_req:port(3)</a> - URI port number
+</li>
+<li><a href="../cowboy_req.path">cowboy_req:path(3)</a> - URI path
+</li>
+<li><a href="../cowboy_req.qs">cowboy_req:qs(3)</a> - URI query string
+</li>
+<li><a href="../cowboy_req.uri">cowboy_req:uri(3)</a> - Reconstructed URI
+</li>
+<li><a href="../cowboy_req.header">cowboy_req:header(3)</a> - HTTP header
+</li>
+<li><a href="../cowboy_req.headers">cowboy_req:headers(3)</a> - HTTP headers
+</li>
+</ul>
+<p>Processed request:</p>
+<ul><li><a href="../cowboy_req.parse_qs">cowboy_req:parse_qs(3)</a> - Parse the query string
+</li>
+<li><a href="../cowboy_req.match_qs">cowboy_req:match_qs(3)</a> - Match the query string against constraints
+</li>
+<li><a href="../cowboy_req.parse_header">cowboy_req:parse_header(3)</a> - Parse the given HTTP header
+</li>
+<li><a href="../cowboy_req.parse_cookies">cowboy_req:parse_cookies(3)</a> - Parse cookie headers
+</li>
+<li><a href="../cowboy_req.match_cookies">cowboy_req:match_cookies(3)</a> - Match cookies against constraints
+</li>
+<li><a href="../cowboy_req.binding">cowboy_req:binding(3)</a> - Access a value bound from the route
+</li>
+<li><a href="../cowboy_req.bindings">cowboy_req:bindings(3)</a> - Access all values bound from the route
+</li>
+<li><a href="../cowboy_req.host_info">cowboy_req:host_info(3)</a> - Access the route&apos;s heading host segments
+</li>
+<li><a href="../cowboy_req.path_info">cowboy_req:path_info(3)</a> - Access the route&apos;s trailing path segments
+</li>
+</ul>
+<p>Request body:</p>
+<ul><li><a href="../cowboy_req.has_body">cowboy_req:has_body(3)</a> - Is there a request body?
+</li>
+<li><a href="../cowboy_req.body_length">cowboy_req:body_length(3)</a> - Body length
+</li>
+<li><a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a> - Read the request body
+</li>
+<li><a href="../cowboy_req.read_urlencoded_body">cowboy_req:read_urlencoded_body(3)</a> - Read and parse a urlencoded request body
+</li>
+<li><a href="../cowboy_req.read_part">cowboy_req:read_part(3)</a> - Read the next multipart headers
+</li>
+<li><a href="../cowboy_req.read_part_body">cowboy_req:read_part_body(3)</a> - Read the current part&apos;s body
+</li>
+</ul>
+<p>Response:</p>
+<ul><li><a href="../cowboy_req.set_resp_cookie">cowboy_req:set_resp_cookie(3)</a> - Set a cookie
+</li>
+<li><a href="../cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a> - Set a response header
+</li>
+<li><a href="../cowboy_req.set_resp_headers">cowboy_req:set_resp_headers(3)</a> - Set several response headers
+</li>
+<li><a href="../cowboy_req.has_resp_header">cowboy_req:has_resp_header(3)</a> - Is the given response header set?
+</li>
+<li><a href="../cowboy_req.resp_header">cowboy_req:resp_header(3)</a> - Response header
+</li>
+<li><a href="../cowboy_req.resp_headers">cowboy_req:resp_headers(3)</a> - Response headers
+</li>
+<li><a href="../cowboy_req.delete_resp_header">cowboy_req:delete_resp_header(3)</a> - Delete a response header
+</li>
+<li><a href="../cowboy_req.set_resp_body">cowboy_req:set_resp_body(3)</a> - Set the response body
+</li>
+<li><a href="../cowboy_req.has_resp_body">cowboy_req:has_resp_body(3)</a> - Is there a response body?
+</li>
+<li><a href="../cowboy_req.inform">cowboy_req:inform(3)</a> - Send an informational response
+</li>
+<li><a href="../cowboy_req.reply">cowboy_req:reply(3)</a> - Send the response
+</li>
+<li><a href="../cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a> - Send the response headers
+</li>
+<li><a href="../cowboy_req.stream_body">cowboy_req:stream_body(3)</a> - Stream the response body
+</li>
+<li><a href="../cowboy_req.stream_trailers">cowboy_req:stream_trailers(3)</a> - Send the response trailers
+</li>
+<li><a href="../cowboy_req.push">cowboy_req:push(3)</a> - Push a resource to the client
+</li>
+</ul>
<h2 id="_types">Types</h2>
-<div class="sectionbody">
-<div class="sect2">
<h3 id="_push_opts">push_opts()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">push_opts</span></span>() <span style="color: #990000">::</span> #{
- <span style="color: #0000FF">method</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span>
- <span style="color: #0000FF">scheme</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-style: italic"><span style="color: #9A1900">%% lowercase; case insensitive</span></span>
- <span style="color: #0000FF">host</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-style: italic"><span style="color: #9A1900">%% lowercase; case insensitive</span></span>
- <span style="color: #0000FF">port</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">inet:port_number</span></span>(),
- <span style="color: #0000FF">qs</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span>
-}</tt></pre></div></div>
-<div class="paragraph"><p>Push options.</p></div>
-<div class="paragraph"><p>By default, Cowboy will use the GET method, an empty query string,
-and take the scheme, host and port directly from the current
-request&#8217;s URI.</p></div>
-</div>
-<div class="sect2">
+<pre><tt><b><font color="#000000">push_opts</font></b>() <font color="#990000">::</font> #{
+ <font color="#0000FF">method</font> <font color="#990000">=&gt;</font> <b><font color="#000080">binary</font></b>(), <i><font color="#9A1900">%% case sensitive</font></i>
+ <font color="#0000FF">scheme</font> <font color="#990000">=&gt;</font> <b><font color="#000080">binary</font></b>(), <i><font color="#9A1900">%% lowercase; case insensitive</font></i>
+ <font color="#0000FF">host</font> <font color="#990000">=&gt;</font> <b><font color="#000080">binary</font></b>(), <i><font color="#9A1900">%% lowercase; case insensitive</font></i>
+ <font color="#0000FF">port</font> <font color="#990000">=&gt;</font> <b><font color="#000000">inet:port_number</font></b>(),
+ <font color="#0000FF">qs</font> <font color="#990000">=&gt;</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% case sensitive</font></i>
+}</tt></pre>
+</div></div>
+<p>Push options.</p>
+<p>By default, Cowboy will use the GET method, an empty query string, and take the scheme, host and port directly from the current request&apos;s URI.</p>
<h3 id="_read_body_opts">read_body_opts()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">read_body_opts</span></span>() <span style="color: #990000">::</span> #{
- <span style="font-weight: bold"><span style="color: #000080">length</span></span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
- <span style="color: #0000FF">period</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
- <span style="color: #0000FF">timeout</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>()
-}</tt></pre></div></div>
-<div class="paragraph"><p>Body reading options.</p></div>
-<div class="paragraph"><p>The defaults are function-specific.</p></div>
-</div>
-<div class="sect2">
+<pre><tt><b><font color="#000000">read_body_opts</font></b>() <font color="#990000">::</font> #{
+ <b><font color="#000080">length</font></b> <font color="#990000">=&gt;</font> <b><font color="#000000">non_neg_integer</font></b>(),
+ <font color="#0000FF">period</font> <font color="#990000">=&gt;</font> <b><font color="#000000">non_neg_integer</font></b>(),
+ <font color="#0000FF">timeout</font> <font color="#990000">=&gt;</font> <b><font color="#000000">timeout</font></b>()
+}</tt></pre>
+</div></div>
+<p>Body reading options.</p>
+<p>The defaults are function-specific.</p>
<h3 id="_req">req()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">req</span></span>() <span style="color: #990000">::</span> #{
- <span style="color: #FF6600">method</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span>
- <span style="color: #FF6600">version</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:http_version</span></span>() | <span style="font-weight: bold"><span style="color: #000080">atom</span></span>(),
- <span style="color: #FF6600">scheme</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-style: italic"><span style="color: #9A1900">%% lowercase; case insensitive</span></span>
- <span style="color: #FF6600">host</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-style: italic"><span style="color: #9A1900">%% lowercase; case insensitive</span></span>
- <span style="color: #FF6600">port</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000000">inet:port_number</span></span>(),
- <span style="color: #FF6600">path</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span>
- <span style="color: #FF6600">qs</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span>
- <span style="color: #FF6600">headers</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:http_headers</span></span>(),
- <span style="color: #FF6600">peer</span> <span style="color: #990000">:=</span> {<span style="font-weight: bold"><span style="color: #000000">inet:ip_address</span></span>(), <span style="font-weight: bold"><span style="color: #000000">inet:port_number</span></span>()},
- <span style="color: #FF6600">sock</span> <span style="color: #990000">:=</span> {<span style="font-weight: bold"><span style="color: #000000">inet:ip_address</span></span>(), <span style="font-weight: bold"><span style="color: #000000">inet:port_number</span></span>()},
- <span style="color: #FF6600">cert</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() | <span style="color: #000080">undefined</span>
-}</tt></pre></div></div>
-<div class="paragraph"><p>The Req object.</p></div>
-<div class="paragraph"><p>Contains information about the request and response. While
-some fields are publicly documented, others aren&#8217;t and shouldn&#8217;t
-be used.</p></div>
-<div class="paragraph"><p>You may add custom fields if required. Make sure to namespace
-them by prepending an underscore and the name of your application:</p></div>
-<div class="listingblock">
-<div class="title">Setting a custom field</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">req</font></b>() <font color="#990000">::</font> #{
+ <font color="#FF6600">method</font> <font color="#990000">:=</font> <b><font color="#000080">binary</font></b>(), <i><font color="#9A1900">%% case sensitive</font></i>
+ <font color="#FF6600">version</font> <font color="#990000">:=</font> <b><font color="#000000">cowboy:http_version</font></b>() | <b><font color="#000080">atom</font></b>(),
+ <font color="#FF6600">scheme</font> <font color="#990000">:=</font> <b><font color="#000080">binary</font></b>(), <i><font color="#9A1900">%% lowercase; case insensitive</font></i>
+ <font color="#FF6600">host</font> <font color="#990000">:=</font> <b><font color="#000080">binary</font></b>(), <i><font color="#9A1900">%% lowercase; case insensitive</font></i>
+ <font color="#FF6600">port</font> <font color="#990000">:=</font> <b><font color="#000000">inet:port_number</font></b>(),
+ <font color="#FF6600">path</font> <font color="#990000">:=</font> <b><font color="#000080">binary</font></b>(), <i><font color="#9A1900">%% case sensitive</font></i>
+ <font color="#FF6600">qs</font> <font color="#990000">:=</font> <b><font color="#000080">binary</font></b>(), <i><font color="#9A1900">%% case sensitive</font></i>
+ <font color="#FF6600">headers</font> <font color="#990000">:=</font> <b><font color="#000000">cowboy:http_headers</font></b>(),
+ <font color="#FF6600">peer</font> <font color="#990000">:=</font> {<b><font color="#000000">inet:ip_address</font></b>(), <b><font color="#000000">inet:port_number</font></b>()},
+ <font color="#FF6600">sock</font> <font color="#990000">:=</font> {<b><font color="#000000">inet:ip_address</font></b>(), <b><font color="#000000">inet:port_number</font></b>()},
+ <font color="#FF6600">cert</font> <font color="#990000">:=</font> <b><font color="#000080">binary</font></b>() | <font color="#000080">undefined</font>
+}</tt></pre>
+</div></div>
+<p>The Req object.</p>
+<p>Contains information about the request and response. While some fields are publicly documented, others aren&apos;t and shouldn&apos;t be used.</p>
+<p>You may add custom fields if required. Make sure to namespace them by prepending an underscore and the name of your application:</p>
+<div class="listingblock"><div class="title">Setting a custom field</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Req</span>#{<span style="color: #009900">_myapp_auth_method</span> <span style="color: #990000">=&gt;</span> <span style="color: #FF6600">pubkey</span>}<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-<div class="sect2">
+<pre><tt><font color="#009900">Req</font>#{<font color="#009900">_myapp_auth_method</font> <font color="#990000">=&gt;</font> <font color="#FF6600">pubkey</font>}<font color="#990000">.</font></tt></pre>
+</div></div>
<h3 id="_resp_body">resp_body()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">resp_body</span></span>() <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()
- | {<span style="color: #FF6600">sendfile</span>, <span style="color: #009900">Offset</span>, <span style="color: #009900">Length</span>, <span style="color: #009900">Filename</span>}
+<pre><tt><b><font color="#000000">resp_body</font></b>() <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()
+ | {<font color="#FF6600">sendfile</font>, <font color="#009900">Offset</font>, <font color="#009900">Length</font>, <font color="#009900">Filename</font>}
-<span style="color: #009900">Offset</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>()
-<span style="color: #009900">Length</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>()
-<span style="color: #009900">Filename</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">file:name_all</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Response body.</p></div>
-<div class="paragraph"><p>It can take two forms: the actual data to be sent or a
-tuple indicating which file to send.</p></div>
-<div class="paragraph"><p>When sending data directly, the type is either a binary or
-an iolist. Iolists are an efficient way to build output.
-Instead of concatenating strings or binaries, you can simply
-build a list containing the fragments you want to send in the
-order they should be sent:</p></div>
-<div class="listingblock">
-<div class="title">Example iolists usage</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<font color="#009900">Offset</font> <font color="#990000">::</font> <b><font color="#000000">non_neg_integer</font></b>()
+<font color="#009900">Length</font> <font color="#990000">::</font> <b><font color="#000000">non_neg_integer</font></b>()
+<font color="#009900">Filename</font> <font color="#990000">::</font> <b><font color="#000000">file:name_all</font></b>()</tt></pre>
+</div></div>
+<p>Response body.</p>
+<p>It can take two forms: the actual data to be sent or a tuple indicating which file to send.</p>
+<p>When sending data directly, the type is either a binary or an iolist. Iolists are an efficient way to build output. Instead of concatenating strings or binaries, you can simply build a list containing the fragments you want to send in the order they should be sent:</p>
+<div class="listingblock"><div class="title">Example iolists usage</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #993399">1</span><span style="color: #990000">&gt;</span> <span style="color: #009900">RespBody</span> <span style="color: #990000">=</span> [<span style="color: #FF0000">"Hello "</span>, [<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"world"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #FF0000">$!</span>]]<span style="color: #990000">.</span>
-[<span style="color: #FF0000">"Hello "</span>,[<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"world"</span><span style="color: #990000">&gt;&gt;</span>,<span style="color: #993399">33</span>]]
-<span style="color: #993399">2</span><span style="color: #990000">&gt;</span> <span style="font-weight: bold"><span style="color: #000000">io:format</span></span>(<span style="color: #FF0000">"~s~n"</span>, [<span style="color: #009900">RespBody</span>])<span style="color: #990000">.</span>
-<span style="color: #009900">Hello</span> <span style="color: #FF6600">world</span><span style="color: #990000">!</span></tt></pre></div></div>
-<div class="paragraph"><p>Note that the length must be greater than zero for any data
-to be sent. Cowboy will send an empty body when the length
-is zero.</p></div>
-</div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#993399">1</font><font color="#990000">&gt;</font> <font color="#009900">RespBody</font> <font color="#990000">=</font> [<font color="#FF0000">"Hello "</font>, [<font color="#990000">&lt;&lt;</font><font color="#FF0000">"world"</font><font color="#990000">&gt;&gt;</font>, <font color="#FF0000">$!</font>]]<font color="#990000">.</font>
+[<font color="#FF0000">"Hello "</font>,[<font color="#990000">&lt;&lt;</font><font color="#FF0000">"world"</font><font color="#990000">&gt;&gt;</font>,<font color="#993399">33</font>]]
+<font color="#993399">2</font><font color="#990000">&gt;</font> <b><font color="#000000">io:format</font></b>(<font color="#FF0000">"~s~n"</font>, [<font color="#009900">RespBody</font>])<font color="#990000">.</font>
+<font color="#009900">Hello</font> <font color="#FF6600">world</font><font color="#990000">!</font></tt></pre>
+</div></div>
+<p>Note that the length must be greater than zero for any data to be sent. Cowboy will send an empty body when the length is zero.</p>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="..">cowboy(7)</a></p></div>
-</div>
-</div>
+<p><a href="..">cowboy(7)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_rest/index.html b/docs/en/cowboy/2.4/manual/cowboy_rest/index.html
index 1c8bed7c..77a021bb 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_rest/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_rest/index.html
@@ -62,670 +62,475 @@
<h1 class="lined-header"><span>cowboy_rest(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_rest - REST handlers</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_rest - REST handlers</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The module <code>cowboy_rest</code> implements the HTTP state machine.</p></div>
-<div class="paragraph"><p>Implementing REST handlers is not enough to provide a REST
-interface; this interface must also follow the REST
-constraints including HATEOAS (hypermedia as the engine
-of application state).</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The module <code>cowboy_rest</code> implements the HTTP state machine.</p>
+<p>Implementing REST handlers is not enough to provide a REST interface; this interface must also follow the REST constraints including HATEOAS (hypermedia as the engine of application state).</p>
<h2 id="_callbacks">Callbacks</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>REST handlers implement the following interface:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">init</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>)
- <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">cowboy_rest</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
-
-<span style="color: #009900">Callback</span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>)
- <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
- | {<span style="color: #FF6600">stop</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
- | {{<span style="color: #FF6600">switch_handler</span>, <span style="color: #009900">Module</span>}, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
- | {{<span style="color: #FF6600">switch_handler</span>, <span style="color: #009900">Module</span>, <span style="color: #009900">Opts</span>}, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
-
-<span style="font-weight: bold"><span style="color: #000000">terminate</span></span>(<span style="color: #009900">Reason</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> <span style="color: #FF6600">ok</span> <span style="font-style: italic"><span style="color: #9A1900">%% optional</span></span>
-
-<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()
-<span style="color: #009900">State</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()
-<span style="color: #009900">Module</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">module</span></span>()
-<span style="color: #009900">Opts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()
-<span style="color: #009900">Reason</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">normal</span></span>
- | {<span style="color: #FF6600">crash</span>, <span style="color: #FF6600">error</span> | <span style="font-weight: bold"><span style="color: #000080">exit</span></span> | <span style="font-weight: bold"><span style="color: #000080">throw</span></span>, <span style="font-weight: bold"><span style="color: #000000">any</span></span>()}
-
-<span style="color: #009900">Callback</span> <span style="color: #990000">-</span> <span style="color: #FF6600">see</span> <span style="color: #FF6600">below</span>
-<span style="color: #009900">Result</span> <span style="color: #990000">-</span> <span style="color: #FF6600">see</span> <span style="color: #FF6600">below</span>
-<span style="color: #009900">Default</span> <span style="color: #990000">-</span> <span style="color: #FF6600">see</span> <span style="color: #FF6600">below</span></tt></pre></div></div>
-<div class="paragraph"><p>The <code>init/2</code> callback is common to all handlers. To switch
-to the REST handler behavior, it must return <code>cowboy_rest</code>
-as the first element of the tuple.</p></div>
-<div class="paragraph"><p>The <code>Callback/2</code> above represents all the REST-specific
-callbacks. They are described in the following section
-of this manual. REST-specific callbacks differ by their
-name, semantics, result and default values. The default
-value is the one used when the callback has not been
-implemented. They otherwise all follow the same interface.</p></div>
-<div class="paragraph"><p>The <code>stop</code> tuple can be returned to stop REST processing.
-If no response was sent before then, Cowboy will send a
-<em>204 No Content</em>. The <code>stop</code> tuple can be returned from
-any callback, excluding <code>expires</code>, <code>generate_etag</code>,
-<code>last_modified</code> and <code>variances</code>.</p></div>
-<div class="paragraph"><p>A <code>switch_handler</code> tuple can be returned from these same
-callbacks to stop REST processing and switch to a different
-handler type. This is very useful to, for example, to stream
-the response body.</p></div>
-<div class="paragraph"><p>The optional <code>terminate/3</code> callback will ultimately be called
-with the reason for the termination of the handler.
-Cowboy will terminate the process right after this. There
-is no need to perform any cleanup in this callback.</p></div>
-<div class="paragraph"><p>The following terminate reasons are defined for loop handlers:</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-normal
-</dt>
-<dd>
-<p>
- The handler terminated normally.
-</p>
+<p>REST handlers implement the following interface:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">init</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>)
+ <font color="#990000">-&gt;</font> {<font color="#FF6600">cowboy_rest</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
+
+<font color="#009900">Callback</font>(<font color="#009900">Req</font>, <font color="#009900">State</font>)
+ <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
+ | {<font color="#FF6600">stop</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
+ | {{<font color="#FF6600">switch_handler</font>, <font color="#009900">Module</font>}, <font color="#009900">Req</font>, <font color="#009900">State</font>}
+ | {{<font color="#FF6600">switch_handler</font>, <font color="#009900">Module</font>, <font color="#009900">Opts</font>}, <font color="#009900">Req</font>, <font color="#009900">State</font>}
+
+<b><font color="#000000">terminate</font></b>(<font color="#009900">Reason</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> <font color="#FF6600">ok</font> <i><font color="#9A1900">%% optional</font></i>
+
+<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()
+<font color="#009900">State</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()
+<font color="#009900">Module</font> <font color="#990000">::</font> <b><font color="#000000">module</font></b>()
+<font color="#009900">Opts</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()
+<font color="#009900">Reason</font> <font color="#990000">::</font> <b><font color="#000080">normal</font></b>
+ | {<font color="#FF6600">crash</font>, <font color="#FF6600">error</font> | <b><font color="#000080">exit</font></b> | <b><font color="#000080">throw</font></b>, <b><font color="#000000">any</font></b>()}
+
+<font color="#009900">Callback</font> <font color="#990000">-</font> <font color="#FF6600">see</font> <font color="#FF6600">below</font>
+<font color="#009900">Result</font> <font color="#990000">-</font> <font color="#FF6600">see</font> <font color="#FF6600">below</font>
+<font color="#009900">Default</font> <font color="#990000">-</font> <font color="#FF6600">see</font> <font color="#FF6600">below</font></tt></pre>
+</div></div>
+<p>The <code>init/2</code> callback is common to all handlers. To switch to the REST handler behavior, it must return <code>cowboy_rest</code> as the first element of the tuple.</p>
+<p>The <code>Callback/2</code> above represents all the REST-specific callbacks. They are described in the following section of this manual. REST-specific callbacks differ by their name, semantics, result and default values. The default value is the one used when the callback has not been implemented. They otherwise all follow the same interface.</p>
+<p>The <code>stop</code> tuple can be returned to stop REST processing. If no response was sent before then, Cowboy will send a <em>204 No Content</em>. The <code>stop</code> tuple can be returned from any callback, excluding <code>expires</code>, <code>generate_etag</code>, <code>last_modified</code> and <code>variances</code>.</p>
+<p>A <code>switch_handler</code> tuple can be returned from these same callbacks to stop REST processing and switch to a different handler type. This is very useful to, for example, to stream the response body.</p>
+<p>The optional <code>terminate/3</code> callback will ultimately be called with the reason for the termination of the handler. Cowboy will terminate the process right after this. There is no need to perform any cleanup in this callback.</p>
+<p>The following terminate reasons are defined for loop handlers:</p>
+<dl><dt>normal</dt>
+<dd><p>The handler terminated normally.</p>
</dd>
-<dt class="hdlist1">
-{crash, Class, Reason}
-</dt>
-<dd>
-<p>
- A crash occurred in the handler. <code>Class</code> and <code>Reason</code> can be
- used to obtain more information about the crash. The function
- <code>erlang:get_stacktrace/0</code> can also be called to obtain the
- stacktrace of the process when the crash occurred.
-</p>
+<dt>{crash, Class, Reason}</dt>
+<dd><p>A crash occurred in the handler. <code>Class</code> and <code>Reason</code> can be used to obtain more information about the crash. The function <code>erlang:get_stacktrace/0</code> can also be called to obtain the stacktrace of the process when the crash occurred.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_rest_callbacks">REST callbacks</h2>
-<div class="sectionbody">
-<div class="sect2">
<h3 id="_acceptcallback">AcceptCallback</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">AcceptCallback</span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
-
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="color: #000080">true</span> | {<span style="color: #000080">true</span>, <span style="color: #009900">URI</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()} | <span style="color: #000080">false</span>}
-<span style="color: #009900">Default</span> <span style="color: #990000">-</span> <span style="color: #FF6600">crash</span></tt></pre></div></div>
-<div class="paragraph"><p>Process the request body.</p></div>
-<div class="paragraph"><p>This function should create or update the resource using the
-request body.</p></div>
-<div class="paragraph"><p>For PUT requests, the body is a representation of the resource
-that is being created or replaced.</p></div>
-<div class="paragraph"><p>For POST requests, the body is typically application-specific
-instructions on how to process the request, but it may also
-be a representation of the resource. When creating a new
-resource with POST at a different location, return <code>{true, URI}</code>
-with <code>URI</code> the new location.</p></div>
-<div class="paragraph"><p>For PATCH requests, the body is a series of instructions on
-how to update the resource. Patch files or JSON Patch are
-examples of such media types.</p></div>
-<div class="paragraph"><p>A response body may be sent. The appropriate media type, charset
-and language for the response can be retrieved from the Req
-object using the <code>media_type</code>, <code>charset</code> and <code>language</code> keys,
-respectively. The body can be set using
-<a href="../cowboy_req.set_resp_body">cowboy_req:set_resp_body(3)</a>.</p></div>
-</div>
-<div class="sect2">
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">AcceptCallback</font>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
+
+<font color="#009900">Result</font> <font color="#990000">::</font> <font color="#000080">true</font> | {<font color="#000080">true</font>, <font color="#009900">URI</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()} | <font color="#000080">false</font>}
+<font color="#009900">Default</font> <font color="#990000">-</font> <font color="#FF6600">crash</font></tt></pre>
+</div></div>
+<p>Process the request body.</p>
+<p>This function should create or update the resource using the request body.</p>
+<p>For PUT requests, the body is a representation of the resource that is being created or replaced.</p>
+<p>For POST requests, the body is typically application-specific instructions on how to process the request, but it may also be a representation of the resource. When creating a new resource with POST at a different location, return <code>{true, URI}</code> with <code>URI</code> the new location.</p>
+<p>For PATCH requests, the body is a series of instructions on how to update the resource. Patch files or JSON Patch are examples of such media types.</p>
+<p>A response body may be sent. The appropriate media type, charset and language for the response can be retrieved from the Req object using the <code>media_type</code>, <code>charset</code> and <code>language</code> keys, respectively. The body can be set using <a href="../cowboy_req.set_resp_body">cowboy_req:set_resp_body(3)</a>.</p>
<h3 id="_allowed_methods">allowed_methods</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">allowed_methods</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">allowed_methods</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> [<span style="font-weight: bold"><span style="color: #000080">binary</span></span>()] <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span>
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> [<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"GET"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"HEAD"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"OPTIONS"</span><span style="color: #990000">&gt;&gt;</span>]</tt></pre></div></div>
-<div class="paragraph"><p>Return the list of allowed methods.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> [<b><font color="#000080">binary</font></b>()] <i><font color="#9A1900">%% case sensitive</font></i>
+<font color="#009900">Default</font> <font color="#990000">::</font> [<font color="#990000">&lt;&lt;</font><font color="#FF0000">"GET"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"HEAD"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"OPTIONS"</font><font color="#990000">&gt;&gt;</font>]</tt></pre>
+</div></div>
+<p>Return the list of allowed methods.</p>
<h3 id="_allow_missing_post">allow_missing_post</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">allow_missing_post</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">allow_missing_post</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="color: #000080">true</span></tt></pre></div></div>
-<div class="paragraph"><p>Return whether POST is allowed when the resource doesn&#8217;t exist.</p></div>
-<div class="paragraph"><p>Returning <code>true</code> here means that a new resource will be
-created. The URI for the newly created resource should be
-returned from the <code>AcceptCallback</code> function.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> <b><font color="#000000">boolean</font></b>()
+<font color="#009900">Default</font> <font color="#990000">::</font> <font color="#000080">true</font></tt></pre>
+</div></div>
+<p>Return whether POST is allowed when the resource doesn&apos;t exist.</p>
+<p>Returning <code>true</code> here means that a new resource will be created. The URI for the newly created resource should be returned from the <code>AcceptCallback</code> function.</p>
<h3 id="_charsets_provided">charsets_provided</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">charsets_provided</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">charsets_provided</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> [<span style="font-weight: bold"><span style="color: #000080">binary</span></span>()] <span style="font-style: italic"><span style="color: #9A1900">%% lowercase; case insensitive</span></span>
-<span style="color: #009900">Default</span> <span style="color: #990000">-</span> <span style="color: #FF6600">skip</span> <span style="color: #FF6600">this</span> <span style="color: #FF6600">step</span></tt></pre></div></div>
-<div class="paragraph"><p>Return the list of charsets the resource provides in order
-of preference.</p></div>
-<div class="paragraph"><p>During content negotiation Cowboy will pick the most
-appropriate charset for the client. The client advertises
-charsets it prefers with the accept-charset header. When
-that header is missing, Cowboy picks the first charset
-from the resource.</p></div>
-<div class="paragraph"><p>Cowboy will add the negotiated <code>charset</code> to the Req object
-after this step completes:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<font color="#009900">Result</font> <font color="#990000">::</font> [<b><font color="#000080">binary</font></b>()] <i><font color="#9A1900">%% lowercase; case insensitive</font></i>
+<font color="#009900">Default</font> <font color="#990000">-</font> <font color="#FF6600">skip</font> <font color="#FF6600">this</font> <font color="#FF6600">step</font></tt></pre>
+</div></div>
+<p>Return the list of charsets the resource provides in order of preference.</p>
+<p>During content negotiation Cowboy will pick the most appropriate charset for the client. The client advertises charsets it prefers with the accept-charset header. When that header is missing, Cowboy picks the first charset from the resource.</p>
+<!-- @todo We should explain precisely how charsets are picked.-->
+<p>Cowboy will add the negotiated <code>charset</code> to the Req object after this step completes:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">req</span></span>() <span style="color: #990000">::</span> #{
- <span style="color: #0000FF">charset</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% lowercase; case insensitive</span></span>
-}</tt></pre></div></div>
-</div>
-<div class="sect2">
+<pre><tt><b><font color="#000000">req</font></b>() <font color="#990000">::</font> #{
+ <font color="#0000FF">charset</font> <font color="#990000">=&gt;</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% lowercase; case insensitive</font></i>
+}</tt></pre>
+</div></div>
<h3 id="_content_types_accepted">content_types_accepted</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">content_types_accepted</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
-
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> [{<span style="font-weight: bold"><span style="color: #000080">binary</span></span>() | <span style="color: #009900">ParsedMime</span>, <span style="color: #009900">AcceptCallback</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">atom</span></span>()}]
-<span style="color: #009900">ParsedMime</span> <span style="color: #990000">::</span> {<span style="color: #009900">Type</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">SubType</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #FF6600">'*'</span> | <span style="color: #009900">Params</span>}
-<span style="color: #009900">Params</span> <span style="color: #990000">::</span> [{<span style="color: #009900">Key</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">Value</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()}]
-
-<span style="color: #009900">Default</span> <span style="color: #990000">-</span> <span style="color: #FF6600">crash</span></tt></pre></div></div>
-<div class="paragraph"><p>Return the list of media types the resource accepts in
-order of preference.</p></div>
-<div class="paragraph"><p>A media type is made of different parts. The media type
-<code>text/html;charset=utf-8</code> is of type <code>text</code>, subtype <code>html</code>
-and has a single parameter <code>charset</code> with value <code>utf-8</code>.</p></div>
-<div class="paragraph"><p>Cowboy will match the content-type request header against
-the media types the server accepts and select the appropriate
-callback. When that header is missing, or when the server does not
-accept this media type, the request fails and an error response
-is returned. Cowboy will execute the callback immediately otherwise.</p></div>
-<div class="paragraph"><p>An empty parameters list <code>[]</code> means that no parameters will be
-accepted. When any parameter is acceptable, the tuple form
-should be used with parameters as the atom <code>'*'</code>.</p></div>
-<div class="paragraph"><p>Cowboy treats all parameters as case sensitive, except for the
-<code>charset</code> parameter, which is known to be case insensitive. You
-should therefore always provide the charset as a lowercase
-binary string.</p></div>
-</div>
-<div class="sect2">
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">content_types_accepted</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
+
+<font color="#009900">Result</font> <font color="#990000">::</font> [{<b><font color="#000080">binary</font></b>() | <font color="#009900">ParsedMime</font>, <font color="#009900">AcceptCallback</font> <font color="#990000">::</font> <b><font color="#000080">atom</font></b>()}]
+<font color="#009900">ParsedMime</font> <font color="#990000">::</font> {<font color="#009900">Type</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">SubType</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#FF6600">'*'</font> | <font color="#009900">Params</font>}
+<font color="#009900">Params</font> <font color="#990000">::</font> [{<font color="#009900">Key</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">Value</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()}]
+
+<font color="#009900">Default</font> <font color="#990000">-</font> <font color="#FF6600">crash</font></tt></pre>
+</div></div>
+<!-- @todo Case sensitivity of parsed mime content?-->
+<p>Return the list of media types the resource accepts in order of preference.</p>
+<p>A media type is made of different parts. The media type <code>text/html;charset=utf-8</code> is of type <code>text</code>, subtype <code>html</code> and has a single parameter <code>charset</code> with value <code>utf-8</code>.</p>
+<!-- @todo Cowboy needs to ignore the boundary parameter for-->
+<!-- multipart, as we never want to match against it. Or allow-->
+<!-- ignoring specific parameters at the very least.-->
+<p>Cowboy will match the content-type request header against the media types the server accepts and select the appropriate callback. When that header is missing, or when the server does not accept this media type, the request fails and an error response is returned. Cowboy will execute the callback immediately otherwise.</p>
+<!-- @todo We should explain precisely how media types are picked.-->
+<p>An empty parameters list <code>[]</code> means that no parameters will be accepted. When any parameter is acceptable, the tuple form should be used with parameters as the atom <code>&apos;*&apos;</code>.</p>
+<p>Cowboy treats all parameters as case sensitive, except for the <code>charset</code> parameter, which is known to be case insensitive. You should therefore always provide the charset as a lowercase binary string.</p>
+<!-- @todo Maybe this should be in the user guide instead.-->
+<!-- This function will be called for POST, PUT and PATCH requests.-->
+<!-- It is entirely possible to define different callbacks for different-->
+<!-- methods if the handling of the request differs. Simply verify-->
+<!-- what the method is with `cowboy_req:method/1` and return a-->
+<!-- different list for each methods.-->
<h3 id="_content_types_provided">content_types_provided</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">content_types_provided</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
-
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> [{<span style="font-weight: bold"><span style="color: #000080">binary</span></span>() | <span style="color: #009900">ParsedMime</span>, <span style="color: #009900">ProvideCallback</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">atom</span></span>()}]
-<span style="color: #009900">ParsedMime</span> <span style="color: #990000">::</span> {<span style="color: #009900">Type</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">SubType</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #FF6600">'*'</span> | <span style="color: #009900">Params</span>}
-<span style="color: #009900">Params</span> <span style="color: #990000">::</span> [{<span style="color: #009900">Key</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">Value</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()}]
-
-<span style="color: #009900">Default</span> <span style="color: #990000">-</span> [{{ <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"text"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"html"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #FF6600">'*'</span>}, <span style="color: #FF6600">to_html</span>}]</tt></pre></div></div>
-<div class="paragraph"><p>Return the list of media types the resource provides in
-order of preference.</p></div>
-<div class="paragraph"><p>A media type is made of different parts. The media type
-<code>text/html;charset=utf-8</code> is of type <code>text</code>, subtype <code>html</code>
-and has a single parameter <code>charset</code> with value <code>utf-8</code>.</p></div>
-<div class="paragraph"><p>During content negotiation Cowboy will pick the most appropriate
-media type for the client. The client advertises media types it
-prefers with the accept header. When that header is missing,
-the content negotiation fails and an error response is returned.</p></div>
-<div class="paragraph"><p>The callback given for the selected media type will be called
-at the end of the execution of GET and HEAD requests when a
-representation must be sent to the client.</p></div>
-<div class="paragraph"><p>An empty parameters list <code>[]</code> means that no parameters will be
-accepted. When any parameter is acceptable, the tuple form
-should be used with parameters as the atom <code>'*'</code>.</p></div>
-<div class="paragraph"><p>Cowboy treats all parameters as case sensitive, except for the
-<code>charset</code> parameter, which is known to be case insensitive. You
-should therefore always provide the charset as a lowercase
-binary string.</p></div>
-<div class="paragraph"><p>Cowboy will add the negotiated <code>media_type</code> to the Req object
-after this step completes:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">req</span></span>() <span style="color: #990000">::</span> #{
- <span style="color: #0000FF">media_type</span> <span style="color: #990000">=&gt;</span> <span style="color: #009900">ParsedMime</span>
-}</tt></pre></div></div>
-</div>
-<div class="sect2">
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">content_types_provided</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
+
+<font color="#009900">Result</font> <font color="#990000">::</font> [{<b><font color="#000080">binary</font></b>() | <font color="#009900">ParsedMime</font>, <font color="#009900">ProvideCallback</font> <font color="#990000">::</font> <b><font color="#000080">atom</font></b>()}]
+<font color="#009900">ParsedMime</font> <font color="#990000">::</font> {<font color="#009900">Type</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">SubType</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#FF6600">'*'</font> | <font color="#009900">Params</font>}
+<font color="#009900">Params</font> <font color="#990000">::</font> [{<font color="#009900">Key</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">Value</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()}]
+
+<font color="#009900">Default</font> <font color="#990000">-</font> [{{ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"text"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"html"</font><font color="#990000">&gt;&gt;</font>, <font color="#FF6600">'*'</font>}, <font color="#FF6600">to_html</font>}]</tt></pre>
+</div></div>
+<!-- @todo Case sensitivity of parsed mime content?-->
+<!-- @todo Space required for the time being: https://github.com/spf13/hugo/issues/2398-->
+<p>Return the list of media types the resource provides in order of preference.</p>
+<p>A media type is made of different parts. The media type <code>text/html;charset=utf-8</code> is of type <code>text</code>, subtype <code>html</code> and has a single parameter <code>charset</code> with value <code>utf-8</code>.</p>
+<!-- @todo Cowboy needs to ignore the boundary parameter for-->
+<!-- multipart, as we never want to match against it. Or allow-->
+<!-- ignoring specific parameters at the very least.-->
+<p>During content negotiation Cowboy will pick the most appropriate media type for the client. The client advertises media types it prefers with the accept header. When that header is missing, the content negotiation fails and an error response is returned.</p>
+<p>The callback given for the selected media type will be called at the end of the execution of GET and HEAD requests when a representation must be sent to the client.</p>
+<!-- @todo We should explain precisely how media types are picked.-->
+<p>An empty parameters list <code>[]</code> means that no parameters will be accepted. When any parameter is acceptable, the tuple form should be used with parameters as the atom <code>&apos;*&apos;</code>.</p>
+<p>Cowboy treats all parameters as case sensitive, except for the <code>charset</code> parameter, which is known to be case insensitive. You should therefore always provide the charset as a lowercase binary string.</p>
+<p>Cowboy will add the negotiated <code>media_type</code> to the Req object after this step completes:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">req</font></b>() <font color="#990000">::</font> #{
+ <font color="#0000FF">media_type</font> <font color="#990000">=&gt;</font> <font color="#009900">ParsedMime</font>
+}</tt></pre>
+</div></div>
+<!-- @todo Case sensitivity of parsed mime content?-->
<h3 id="_delete_completed">delete_completed</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">delete_completed</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">delete_completed</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="color: #000080">true</span></tt></pre></div></div>
-<div class="paragraph"><p>Return whether the resource has been fully deleted from the
-system, including from any internal cache.</p></div>
-<div class="paragraph"><p>Returning <code>false</code> will result in a <em>202 Accepted</em> response
-being sent instead of a <em>200 OK</em> or <em>204 No Content</em>.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> <b><font color="#000000">boolean</font></b>()
+<font color="#009900">Default</font> <font color="#990000">::</font> <font color="#000080">true</font></tt></pre>
+</div></div>
+<p>Return whether the resource has been fully deleted from the system, including from any internal cache.</p>
+<p>Returning <code>false</code> will result in a <em>202 Accepted</em> response being sent instead of a <em>200 OK</em> or <em>204 No Content</em>.</p>
<h3 id="_delete_resource">delete_resource</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">delete_resource</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">delete_resource</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="color: #000080">false</span></tt></pre></div></div>
-<div class="paragraph"><p>Delete the resource.</p></div>
-<div class="paragraph"><p>Cowboy will send an error response when this function
-returns <code>false</code>.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> <b><font color="#000000">boolean</font></b>()
+<font color="#009900">Default</font> <font color="#990000">::</font> <font color="#000080">false</font></tt></pre>
+</div></div>
+<p>Delete the resource.</p>
+<p>Cowboy will send an error response when this function returns <code>false</code>.</p>
<h3 id="_expires">expires</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">expires</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">expires</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">calendar:datetime</span></span>() | <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() | <span style="color: #000080">undefined</span>
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="color: #000080">undefined</span></tt></pre></div></div>
-<div class="paragraph"><p>Return the resource&#8217;s expiration date.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> <b><font color="#000000">calendar:datetime</font></b>() | <b><font color="#000080">binary</font></b>() | <font color="#000080">undefined</font>
+<font color="#009900">Default</font> <font color="#990000">::</font> <font color="#000080">undefined</font></tt></pre>
+</div></div>
+<p>Return the resource&apos;s expiration date.</p>
<h3 id="_forbidden">forbidden</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">forbidden</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">forbidden</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="color: #000080">false</span></tt></pre></div></div>
-<div class="paragraph"><p>Return whether access to the resource is forbidden.</p></div>
-<div class="paragraph"><p>A <em>403 Forbidden</em> response will be sent if this
-function returns <code>true</code>. This status code means that
-access is forbidden regardless of authentication,
-and that the request shouldn&#8217;t be repeated.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> <b><font color="#000000">boolean</font></b>()
+<font color="#009900">Default</font> <font color="#990000">::</font> <font color="#000080">false</font></tt></pre>
+</div></div>
+<p>Return whether access to the resource is forbidden.</p>
+<p>A <em>403 Forbidden</em> response will be sent if this function returns <code>true</code>. This status code means that access is forbidden regardless of authentication, and that the request shouldn&apos;t be repeated.</p>
<h3 id="_generate_etag">generate_etag</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">generate_etag</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">generate_etag</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() | {<span style="color: #FF6600">weak</span> | <span style="color: #FF6600">strong</span>, <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()}
-<span style="color: #009900">Default</span> <span style="color: #990000">-</span> <span style="color: #FF6600">no</span> <span style="color: #FF6600">etag</span> <span style="color: #FF6600">value</span></tt></pre></div></div>
-<div class="paragraph"><p>Return the entity tag of the resource.</p></div>
-<div class="paragraph"><p>When a binary is returned, the value is automatically
-parsed to a tuple. The binary must be in the same
-format as the etag header, including quotes.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() | {<font color="#FF6600">weak</font> | <font color="#FF6600">strong</font>, <b><font color="#000080">binary</font></b>()}
+<font color="#009900">Default</font> <font color="#990000">-</font> <font color="#FF6600">no</font> <font color="#FF6600">etag</font> <font color="#FF6600">value</font></tt></pre>
+</div></div>
+<p>Return the entity tag of the resource.</p>
+<p>When a binary is returned, the value is automatically parsed to a tuple. The binary must be in the same format as the etag header, including quotes.</p>
<h3 id="_is_authorized">is_authorized</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">is_authorized</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">is_authorized</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="color: #000080">true</span> | {<span style="color: #000080">false</span>, <span style="color: #009900">AuthHeader</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()}
-<span style="color: #009900">Default</span> <span style="color: #990000">-</span> <span style="color: #000080">true</span></tt></pre></div></div>
-<div class="paragraph"><p>Return whether the user is authorized to perform the action.</p></div>
-<div class="paragraph"><p>This function should be used to perform any necessary
-authentication of the user before attempting to perform
-any action on the resource.</p></div>
-<div class="paragraph"><p>When authentication fails, the <code>AuthHeader</code> value will
-be sent in the www-authenticate header for the
-<em>401 Unauthorized</em> response.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> <font color="#000080">true</font> | {<font color="#000080">false</font>, <font color="#009900">AuthHeader</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()}
+<font color="#009900">Default</font> <font color="#990000">-</font> <font color="#000080">true</font></tt></pre>
+</div></div>
+<p>Return whether the user is authorized to perform the action.</p>
+<p>This function should be used to perform any necessary authentication of the user before attempting to perform any action on the resource.</p>
+<p>When authentication fails, the <code>AuthHeader</code> value will be sent in the www-authenticate header for the <em>401 Unauthorized</em> response.</p>
<h3 id="_is_conflict">is_conflict</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">is_conflict</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">is_conflict</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="color: #000080">false</span></tt></pre></div></div>
-<div class="paragraph"><p>Return whether the PUT request results in a conflict.</p></div>
-<div class="paragraph"><p>A <em>409 Conflict</em> response is sent when <code>true</code>.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> <b><font color="#000000">boolean</font></b>()
+<font color="#009900">Default</font> <font color="#990000">::</font> <font color="#000080">false</font></tt></pre>
+</div></div>
+<p>Return whether the PUT request results in a conflict.</p>
+<p>A <em>409 Conflict</em> response is sent when <code>true</code>.</p>
<h3 id="_known_methods">known_methods</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">known_methods</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">known_methods</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> [<span style="font-weight: bold"><span style="color: #000080">binary</span></span>()] <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span>
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> [<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"GET"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"HEAD"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"POST"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"PUT"</span><span style="color: #990000">&gt;&gt;</span>,
- <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"PATCH"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"DELETE"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"OPTIONS"</span><span style="color: #990000">&gt;&gt;</span>]</tt></pre></div></div>
-<div class="paragraph"><p>Return the list of known methods.</p></div>
-<div class="paragraph"><p>The full list of methods known by the server should be
-returned, regardless of their use in the resource.</p></div>
-<div class="paragraph"><p>The default value lists the methods Cowboy knows and
-implement in <code>cowboy_rest</code>.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> [<b><font color="#000080">binary</font></b>()] <i><font color="#9A1900">%% case sensitive</font></i>
+<font color="#009900">Default</font> <font color="#990000">::</font> [<font color="#990000">&lt;&lt;</font><font color="#FF0000">"GET"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"HEAD"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"POST"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"PUT"</font><font color="#990000">&gt;&gt;</font>,
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"PATCH"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"DELETE"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"OPTIONS"</font><font color="#990000">&gt;&gt;</font>]</tt></pre>
+</div></div>
+<p>Return the list of known methods.</p>
+<p>The full list of methods known by the server should be returned, regardless of their use in the resource.</p>
+<p>The default value lists the methods Cowboy knows and implement in <code>cowboy_rest</code>.</p>
<h3 id="_languages_provided">languages_provided</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">languages_provided</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">languages_provided</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> [<span style="font-weight: bold"><span style="color: #000080">binary</span></span>()] <span style="font-style: italic"><span style="color: #9A1900">%% lowercase; case insensitive</span></span>
-<span style="color: #009900">Default</span> <span style="color: #990000">-</span> <span style="color: #FF6600">skip</span> <span style="color: #FF6600">this</span> <span style="color: #FF6600">step</span></tt></pre></div></div>
-<div class="paragraph"><p>Return the list of languages the resource provides in order
-of preference.</p></div>
-<div class="paragraph"><p>During content negotiation Cowboy will pick the most
-appropriate language for the client. The client advertises
-languages it prefers with the accept-language header. When
-that header is missing, Cowboy picks the first language
-from the resource.</p></div>
-<div class="paragraph"><p>Cowboy will add the negotiated <code>language</code> to the Req object
-after this step completes:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<font color="#009900">Result</font> <font color="#990000">::</font> [<b><font color="#000080">binary</font></b>()] <i><font color="#9A1900">%% lowercase; case insensitive</font></i>
+<font color="#009900">Default</font> <font color="#990000">-</font> <font color="#FF6600">skip</font> <font color="#FF6600">this</font> <font color="#FF6600">step</font></tt></pre>
+</div></div>
+<p>Return the list of languages the resource provides in order of preference.</p>
+<p>During content negotiation Cowboy will pick the most appropriate language for the client. The client advertises languages it prefers with the accept-language header. When that header is missing, Cowboy picks the first language from the resource.</p>
+<!-- @todo We should explain precisely how languages are picked.-->
+<p>Cowboy will add the negotiated <code>language</code> to the Req object after this step completes:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">req</span></span>() <span style="color: #990000">::</span> #{
- <span style="color: #0000FF">language</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% lowercase; case insensitive</span></span>
-}</tt></pre></div></div>
-</div>
-<div class="sect2">
+<pre><tt><b><font color="#000000">req</font></b>() <font color="#990000">::</font> #{
+ <font color="#0000FF">language</font> <font color="#990000">=&gt;</font> <b><font color="#000080">binary</font></b>() <i><font color="#9A1900">%% lowercase; case insensitive</font></i>
+}</tt></pre>
+</div></div>
<h3 id="_last_modified">last_modified</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">last_modified</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">last_modified</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">calendar:datetime</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">-</span> <span style="color: #FF6600">no</span> <span style="color: #FF6600">last</span> <span style="color: #FF6600">modified</span> <span style="color: #FF6600">value</span></tt></pre></div></div>
-<div class="paragraph"><p>Return the resource&#8217;s last modification date.</p></div>
-<div class="paragraph"><p>This date will be used to test against the if-modified-since
-and if-unmodified-since headers, and sent as the last-modified
-header in the response to GET and HEAD requests.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> <b><font color="#000000">calendar:datetime</font></b>()
+<font color="#009900">Default</font> <font color="#990000">-</font> <font color="#FF6600">no</font> <font color="#FF6600">last</font> <font color="#FF6600">modified</font> <font color="#FF6600">value</font></tt></pre>
+</div></div>
+<p>Return the resource&apos;s last modification date.</p>
+<p>This date will be used to test against the if-modified-since and if-unmodified-since headers, and sent as the last-modified header in the response to GET and HEAD requests.</p>
<h3 id="_malformed_request">malformed_request</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">malformed_request</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">malformed_request</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="color: #000080">false</span></tt></pre></div></div>
-<div class="paragraph"><p>Return whether the request is malformed.</p></div>
-<div class="paragraph"><p>A request is malformed when a component required by the
-resource is invalid. This may include the query string
-or individual headers. They should be parsed and validated
-in this function. The body should not be read at this point.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> <b><font color="#000000">boolean</font></b>()
+<font color="#009900">Default</font> <font color="#990000">::</font> <font color="#000080">false</font></tt></pre>
+</div></div>
+<p>Return whether the request is malformed.</p>
+<p>A request is malformed when a component required by the resource is invalid. This may include the query string or individual headers. They should be parsed and validated in this function. The body should not be read at this point.</p>
<h3 id="_moved_permanently">moved_permanently</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">moved_permanently</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">moved_permanently</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> {<span style="color: #000080">true</span>, <span style="color: #009900">URI</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()} | <span style="color: #000080">false</span>
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="color: #000080">false</span></tt></pre></div></div>
-<div class="paragraph"><p>Return whether the resource was permanently moved, and
-what its new location is.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> {<font color="#000080">true</font>, <font color="#009900">URI</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()} | <font color="#000080">false</font>
+<font color="#009900">Default</font> <font color="#990000">::</font> <font color="#000080">false</font></tt></pre>
+</div></div>
+<p>Return whether the resource was permanently moved, and what its new location is.</p>
<h3 id="_moved_temporarily">moved_temporarily</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">moved_temporarily</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">moved_temporarily</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> {<span style="color: #000080">true</span>, <span style="color: #009900">URI</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()} | <span style="color: #000080">false</span>
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="color: #000080">false</span></tt></pre></div></div>
-<div class="paragraph"><p>Return whether the resource was temporarily moved, and
-what its new location is.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> {<font color="#000080">true</font>, <font color="#009900">URI</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()} | <font color="#000080">false</font>
+<font color="#009900">Default</font> <font color="#990000">::</font> <font color="#000080">false</font></tt></pre>
+</div></div>
+<p>Return whether the resource was temporarily moved, and what its new location is.</p>
<h3 id="_multiple_choices">multiple_choices</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">multiple_choices</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
-
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="color: #000080">false</span></tt></pre></div></div>
-<div class="paragraph"><p>Return whether the client should engage in reactive
-negotiation.</p></div>
-<div class="paragraph"><p>Return <code>true</code> when the server has multiple representations
-of a resource, each with their specific identifier, but is
-unable to determine which is best for the client. For
-example an image might have different sizes and the server
-is unable to determine the capabilities of the client.</p></div>
-<div class="paragraph"><p>When returning <code>true</code> the server should send a body with
-links to the different representations. If the server has
-a preferred representation it can send its link inside a
-location header.</p></div>
-</div>
-<div class="sect2">
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">multiple_choices</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
+
+<font color="#009900">Result</font> <font color="#990000">::</font> <b><font color="#000000">boolean</font></b>()
+<font color="#009900">Default</font> <font color="#990000">::</font> <font color="#000080">false</font></tt></pre>
+</div></div>
+<p>Return whether the client should engage in reactive negotiation.</p>
+<p>Return <code>true</code> when the server has multiple representations of a resource, each with their specific identifier, but is unable to determine which is best for the client. For example an image might have different sizes and the server is unable to determine the capabilities of the client.</p>
+<p>When returning <code>true</code> the server should send a body with links to the different representations. If the server has a preferred representation it can send its link inside a location header.</p>
<h3 id="_options">options</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">options</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}</tt></pre></div></div>
-<div class="paragraph"><p>Respond to an OPTIONS request.</p></div>
-<div class="paragraph"><p>The response should inform the client the communication
-options available for this resource. By default Cowboy
-will send a <em>200 OK</em> response with the allow header set.</p></div>
-</div>
-<div class="sect2">
+<pre><tt><b><font color="#000000">options</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#FF6600">ok</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}</tt></pre>
+</div></div>
+<p>Respond to an OPTIONS request.</p>
+<p>The response should inform the client the communication options available for this resource. By default Cowboy will send a <em>200 OK</em> response with the allow header set.</p>
<h3 id="_previously_existed">previously_existed</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">previously_existed</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">previously_existed</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="color: #000080">false</span></tt></pre></div></div>
-<div class="paragraph"><p>Return whether the resource existed previously.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> <b><font color="#000000">boolean</font></b>()
+<font color="#009900">Default</font> <font color="#990000">::</font> <font color="#000080">false</font></tt></pre>
+</div></div>
+<p>Return whether the resource existed previously.</p>
<h3 id="_providecallback">ProvideCallback</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">ProvideCallback</span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><font color="#009900">ProvideCallback</font>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:resp_body</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">-</span> <span style="color: #FF6600">crash</span></tt></pre></div></div>
-<div class="paragraph"><p>Return the response body.</p></div>
-<div class="paragraph"><p>The response body can be provided either as the actual data
-to be sent or a tuple indicating which file to send.</p></div>
-<div class="paragraph"><p>This function is called for both GET and HEAD requests. For
-the latter the body is not sent, however.</p></div>
-<div class="paragraph"><p>Note that there used to be a way to stream the response body.
-It was temporarily removed and will be added back in a later
-release.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:resp_body</font></b>()
+<font color="#009900">Default</font> <font color="#990000">-</font> <font color="#FF6600">crash</font></tt></pre>
+</div></div>
+<p>Return the response body.</p>
+<p>The response body can be provided either as the actual data to be sent or a tuple indicating which file to send.</p>
+<p>This function is called for both GET and HEAD requests. For the latter the body is not sent, however.</p>
+<!-- @todo Perhaps we can optimize HEAD requests and just-->
+<!-- allow calculating the length instead of returning the-->
+<!-- whole thing.-->
+<p>Note that there used to be a way to stream the response body. It was temporarily removed and will be added back in a later release.</p>
+<!-- @todo Add a way to switch to loop handler for streaming the body.-->
<h3 id="_resource_exists">resource_exists</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">resource_exists</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">resource_exists</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="color: #000080">true</span></tt></pre></div></div>
-<div class="paragraph"><p>Return whether the resource exists.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> <b><font color="#000000">boolean</font></b>()
+<font color="#009900">Default</font> <font color="#990000">::</font> <font color="#000080">true</font></tt></pre>
+</div></div>
+<p>Return whether the resource exists.</p>
<h3 id="_service_available">service_available</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">service_available</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">service_available</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="color: #000080">true</span></tt></pre></div></div>
-<div class="paragraph"><p>Return whether the service is available.</p></div>
-<div class="paragraph"><p>A <em>503 Service Unavailable</em> response will be sent when this
-function returns <code>false</code>.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> <b><font color="#000000">boolean</font></b>()
+<font color="#009900">Default</font> <font color="#990000">::</font> <font color="#000080">true</font></tt></pre>
+</div></div>
+<p>Return whether the service is available.</p>
+<p>A <em>503 Service Unavailable</em> response will be sent when this function returns <code>false</code>.</p>
<h3 id="_uri_too_long">uri_too_long</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">uri_too_long</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">uri_too_long</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="color: #000080">false</span></tt></pre></div></div>
-<div class="paragraph"><p>Return whether the requested URI is too long.</p></div>
-<div class="paragraph"><p>This function can be used to further restrict the length
-of the URI for this specific resource.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> <b><font color="#000000">boolean</font></b>()
+<font color="#009900">Default</font> <font color="#990000">::</font> <font color="#000080">false</font></tt></pre>
+</div></div>
+<p>Return whether the requested URI is too long.</p>
+<p>This function can be used to further restrict the length of the URI for this specific resource.</p>
<h3 id="_valid_content_headers">valid_content_headers</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">valid_content_headers</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">valid_content_headers</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="color: #000080">true</span></tt></pre></div></div>
-<div class="paragraph"><p>Return whether the content headers are valid.</p></div>
-<div class="paragraph"><p>This callback can be used to reject requests that have
-invalid content header values, for example an unsupported
-content-encoding.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> <b><font color="#000000">boolean</font></b>()
+<font color="#009900">Default</font> <font color="#990000">::</font> <font color="#000080">true</font></tt></pre>
+</div></div>
+<p>Return whether the content headers are valid.</p>
+<p>This callback can be used to reject requests that have invalid content header values, for example an unsupported content-encoding.</p>
<h3 id="_valid_entity_length">valid_entity_length</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">valid_entity_length</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">valid_entity_length</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>()
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> <span style="color: #000080">true</span></tt></pre></div></div>
-<div class="paragraph"><p>Return whether the request body length is within acceptable boundaries.</p></div>
-<div class="paragraph"><p>A <em>413 Request Entity Too Large</em> response will be sent if this
-function returns <code>false</code>.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Result</font> <font color="#990000">::</font> <b><font color="#000000">boolean</font></b>()
+<font color="#009900">Default</font> <font color="#990000">::</font> <font color="#000080">true</font></tt></pre>
+</div></div>
+<p>Return whether the request body length is within acceptable boundaries.</p>
+<p>A <em>413 Request Entity Too Large</em> response will be sent if this function returns <code>false</code>.</p>
<h3 id="_variances">variances</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">variances</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Result</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
+<pre><tt><b><font color="#000000">variances</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Result</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
-<span style="color: #009900">Result</span> <span style="color: #990000">::</span> [<span style="font-weight: bold"><span style="color: #000080">binary</span></span>()] <span style="font-style: italic"><span style="color: #9A1900">%% case insensitive</span></span>
-<span style="color: #009900">Default</span> <span style="color: #990000">::</span> []</tt></pre></div></div>
-<div class="paragraph"><p>Return the list of request headers that affect the
-representation of the resource.</p></div>
-<div class="paragraph"><p>Cowboy automatically adds the accept, accept-charset and
-accept-language headers when necessary. It&#8217;s also useful
-to note that some standard headers also do not need to be
-listed here, like the authorization header.</p></div>
-</div>
-</div>
-</div>
-<div class="sect1">
+<font color="#009900">Result</font> <font color="#990000">::</font> [<b><font color="#000080">binary</font></b>()] <i><font color="#9A1900">%% case insensitive</font></i>
+<font color="#009900">Default</font> <font color="#990000">::</font> []</tt></pre>
+</div></div>
+<p>Return the list of request headers that affect the representation of the resource.</p>
+<p>Cowboy automatically adds the accept, accept-charset and accept-language headers when necessary. It&apos;s also useful to note that some standard headers also do not need to be listed here, like the authorization header.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.1</strong>: The <code>switch_handler</code> return value was added.
-</p>
+<ul><li><strong>2.1</strong>: The <code>switch_handler</code> return value was added.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Behavior introduced.
-</p>
+<li><strong>1.0</strong>: Behavior introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="..">cowboy(7)</a>,
-<a href="../cowboy_handler">cowboy_handler(3)</a></p></div>
-</div>
-</div>
+<p><a href="..">cowboy(7)</a>, <a href="../cowboy_handler">cowboy_handler(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_router.compile/index.html b/docs/en/cowboy/2.4/manual/cowboy_router.compile/index.html
index c3eb3884..1aac627b 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_router.compile/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_router.compile/index.html
@@ -62,87 +62,48 @@
<h1 class="lined-header"><span>cowboy_router:compile(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_router:compile - Compile routes to the resources</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_router:compile - Compile routes to the resources</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">compile</span></span>(<span style="font-weight: bold"><span style="color: #000000">cowboy_router:routes</span></span>()) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_router:dispatch_rules</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Compile routes to the resources.</p></div>
-<div class="paragraph"><p>Takes a human readable list of routes and transforms it
-into a form more efficient to process.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">compile</font></b>(<b><font color="#000000">cowboy_router:routes</font></b>()) <font color="#990000">-&gt;</font> <b><font color="#000000">cowboy_router:dispatch_rules</font></b>()</tt></pre>
+</div></div>
+<p>Compile routes to the resources.</p>
+<p>Takes a human readable list of routes and transforms it into a form more efficient to process.</p>
<h2 id="_arguments">Arguments</h2>
-<div class="sectionbody">
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Routes
-</dt>
-<dd>
-<p>
-Human readable list of routes.
-</p>
+<dl><dt>Routes</dt>
+<dd><p>Human readable list of routes.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_return_value">Return value</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>An opaque dispatch rules value is returned. This value
-must be given to Cowboy as a middleware environment value.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>An opaque dispatch rules value is returned. This value must be given to Cowboy as a middleware environment value.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>1.0</strong>: Function introduced.
-</p>
+<ul><li><strong>1.0</strong>: Function introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Compile routes and start a listener</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Compile routes and start a listener</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #009900">Dispatch</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_router:compile</span></span>([
- {<span style="color: #FF6600">'_'</span>, [
- {<span style="color: #FF0000">"/"</span>, <span style="color: #FF6600">toppage_h</span>, []},
- {<span style="color: #FF0000">"/[...], cowboy_static, {priv_dir, my_example_app, ""}}</span>
-<span style="color: #FF0000"> ]}</span>
-<span style="color: #FF0000">]),</span>
-
-<span style="color: #FF0000">{ok, _} = cowboy:start_clear(example, [{port, 8080}], #{</span>
-<span style="color: #FF0000"> env =&gt; #{dispatch =&gt; Dispatch}</span>
-<span style="color: #FF0000">}).</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><font color="#009900">Dispatch</font> <font color="#990000">=</font> <b><font color="#000000">cowboy_router:compile</font></b>([
+ {<font color="#FF6600">'_'</font>, [
+ {<font color="#FF0000">"/"</font>, <font color="#FF6600">toppage_h</font>, []},
+ {<font color="#FF0000">"/[...], cowboy_static, {priv_dir, my_example_app, ""}}</font>
+<font color="#FF0000"> ]}</font>
+<font color="#FF0000">]),</font>
+
+<font color="#FF0000">{ok, _} = cowboy:start_clear(example, [{port, 8080}], #{</font>
+<font color="#FF0000"> env =&gt; #{dispatch =&gt; Dispatch}</font>
+<font color="#FF0000">}).</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_router">cowboy_router(3)</a></p></div>
-</div>
-</div>
+<p><a href="../cowboy_router">cowboy_router(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_router/index.html b/docs/en/cowboy/2.4/manual/cowboy_router/index.html
index 0169ae42..e08c3983 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_router/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_router/index.html
@@ -62,110 +62,65 @@
<h1 class="lined-header"><span>cowboy_router(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_router - Router middleware</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_router - Router middleware</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The <code>cowboy_router</code> middleware maps the requested host and
-path to the handler to be used for processing the request.</p></div>
-<div class="paragraph"><p>The router takes the <code>dispatch</code> rules as input from the
-middleware environment. Dispatch rules are generated by
-calling the
-<a href="../cowboy_router.compile">cowboy_router:compile(3)</a>
-function.</p></div>
-<div class="paragraph"><p>When a route matches, the router sets the <code>handler</code> and
-<code>handler_opts</code> middleware environment values containing
-the handler module and initial state, respectively.</p></div>
-<div class="paragraph"><p>The router will stop execution when no route matches.
-It will send a 400 response if no host was found, and
-a 404 response otherwise.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The <code>cowboy_router</code> middleware maps the requested host and path to the handler to be used for processing the request.</p>
+<p>The router takes the <code>dispatch</code> rules as input from the middleware environment. Dispatch rules are generated by calling the <a href="../cowboy_router.compile">cowboy_router:compile(3)</a> function.</p>
+<p>When a route matches, the router sets the <code>handler</code> and <code>handler_opts</code> middleware environment values containing the handler module and initial state, respectively.</p>
+<p>The router will stop execution when no route matches. It will send a 400 response if no host was found, and a 404 response otherwise.</p>
<h2 id="_exports">Exports</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="../cowboy_router.compile">cowboy_router:compile(3)</a> - Compile routes to the resources
-</p>
+<ul><li><a href="../cowboy_router.compile">cowboy_router:compile(3)</a> - Compile routes to the resources
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_types">Types</h2>
-<div class="sectionbody">
-<div class="sect2">
<h3 id="_bindings">bindings()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">bindings</span></span>() <span style="color: #990000">::</span> #{<span style="font-weight: bold"><span style="color: #000080">atom</span></span>() <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>Bindings found during routing.</p></div>
-</div>
-<div class="sect2">
+<pre><tt><b><font color="#000000">bindings</font></b>() <font color="#990000">::</font> #{<b><font color="#000080">atom</font></b>() <font color="#990000">=&gt;</font> <b><font color="#000000">any</font></b>()}</tt></pre>
+</div></div>
+<p>Bindings found during routing.</p>
<h3 id="_dispatch_rules">dispatch_rules()</h3>
-<div class="paragraph"><p>Opaque type containing the compiled routes.</p></div>
-</div>
-<div class="sect2">
+<p>Opaque type containing the compiled routes.</p>
<h3 id="_routes">routes()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">routes</span></span>() <span style="color: #990000">=</span> [
- {<span style="color: #009900">Host</span>, <span style="color: #009900">PathList</span>} |
- {<span style="color: #009900">Host</span>, <span style="color: #009900">Fields</span>, <span style="color: #009900">PathList</span>}
+<pre><tt><b><font color="#000000">routes</font></b>() <font color="#990000">=</font> [
+ {<font color="#009900">Host</font>, <font color="#009900">PathList</font>} |
+ {<font color="#009900">Host</font>, <font color="#009900">Fields</font>, <font color="#009900">PathList</font>}
]
-<span style="color: #009900">PathList</span> <span style="color: #990000">::</span> [
- {<span style="color: #009900">Path</span>, <span style="color: #009900">Handler</span>, <span style="color: #009900">InitialState</span>} |
- {<span style="color: #009900">Path</span>, <span style="color: #009900">Fields</span>, <span style="color: #009900">Handler</span>, <span style="color: #009900">InitialState</span>}
+<font color="#009900">PathList</font> <font color="#990000">::</font> [
+ {<font color="#009900">Path</font>, <font color="#009900">Handler</font>, <font color="#009900">InitialState</font>} |
+ {<font color="#009900">Path</font>, <font color="#009900">Fields</font>, <font color="#009900">Handler</font>, <font color="#009900">InitialState</font>}
]
-<span style="color: #009900">Host</span> <span style="color: #990000">::</span> <span style="color: #FF6600">'_'</span> | <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()
-<span style="color: #009900">Path</span> <span style="color: #990000">::</span> <span style="color: #FF6600">'_'</span> | <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()
-<span style="color: #009900">Fields</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:fields</span></span>()
-<span style="color: #009900">Handler</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">module</span></span>()
-<span style="color: #009900">InitialState</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Human readable list of routes to handlers.</p></div>
-<div class="paragraph"><p>Cowboy uses this list to map hosts and paths, optionally
-augmented with constraints applied to the bindings, to
-handler modules.</p></div>
-<div class="paragraph"><p>The syntax for routes is currently defined in the user guide.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Host</font> <font color="#990000">::</font> <font color="#FF6600">'_'</font> | <b><font color="#000000">iodata</font></b>()
+<font color="#009900">Path</font> <font color="#990000">::</font> <font color="#FF6600">'_'</font> | <b><font color="#000000">iodata</font></b>()
+<font color="#009900">Fields</font> <font color="#990000">::</font> <b><font color="#000000">cowboy:fields</font></b>()
+<font color="#009900">Handler</font> <font color="#990000">::</font> <b><font color="#000000">module</font></b>()
+<font color="#009900">InitialState</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()</tt></pre>
+</div></div>
+<p>Human readable list of routes to handlers.</p>
+<p>Cowboy uses this list to map hosts and paths, optionally augmented with constraints applied to the bindings, to handler modules.</p>
+<p>The syntax for routes is currently defined in the user guide.</p>
+<!-- @todo The syntax should probably be in this module,-->
+<!-- and the user guide show more practical examples.-->
<h3 id="_tokens">tokens()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">tokens</span></span>() <span style="color: #990000">::</span> [<span style="font-weight: bold"><span style="color: #000080">binary</span></span>()]</tt></pre></div></div>
-<div class="paragraph"><p>List of <code>host_info</code> and <code>path_info</code> tokens that were found
-using the <code>...</code> syntax.</p></div>
-</div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">tokens</font></b>() <font color="#990000">::</font> [<b><font color="#000080">binary</font></b>()]</tt></pre>
+</div></div>
+<p>List of <code>host_info</code> and <code>path_info</code> tokens that were found using the <code>...</code> syntax.</p>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="..">cowboy(7)</a>,
-<a href="../cowboy_req.binding">cowboy_req:binding(3)</a>,
-<a href="../cowboy_req.bindings">cowboy_req:bindings(3)</a>,
-<a href="../cowboy_req.host_info">cowboy_req:host_info(3)</a>,
-<a href="../cowboy_req.path_info">cowboy_req:path_info(3)</a></p></div>
-</div>
-</div>
+<p><a href="..">cowboy(7)</a>, <a href="../cowboy_req.binding">cowboy_req:binding(3)</a>, <a href="../cowboy_req.bindings">cowboy_req:bindings(3)</a>, <a href="../cowboy_req.host_info">cowboy_req:host_info(3)</a>, <a href="../cowboy_req.path_info">cowboy_req:path_info(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_static/index.html b/docs/en/cowboy/2.4/manual/cowboy_static/index.html
index d1bfd062..0bad63bb 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_static/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_static/index.html
@@ -62,175 +62,110 @@
<h1 class="lined-header"><span>cowboy_static(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_static - Static file handler</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_static - Static file handler</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The module <code>cowboy_static</code> implements file serving capabilities
-using the REST semantics provided by <code>cowboy_rest</code>.</p></div>
-<div class="paragraph"><p>The static file handler is a pre-written handler coming with
-Cowboy. To serve files, use it in your routes.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The module <code>cowboy_static</code> implements file serving capabilities using the REST semantics provided by <code>cowboy_rest</code>.</p>
+<p>The static file handler is a pre-written handler coming with Cowboy. To serve files, use it in your routes.</p>
<h2 id="_options">Options</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">opts</span></span>() <span style="color: #990000">::</span> {<span style="color: #FF6600">priv_file</span>, <span style="color: #009900">App</span>, <span style="color: #009900">Path</span>}
- | {<span style="color: #FF6600">priv_file</span>, <span style="color: #009900">App</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Extra</span>}
- | {<span style="color: #FF6600">file</span>, <span style="color: #009900">Path</span>}
- | {<span style="color: #FF6600">file</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Extra</span>}
- | {<span style="color: #FF6600">priv_dir</span>, <span style="color: #009900">App</span>, <span style="color: #009900">Path</span>}
- | {<span style="color: #FF6600">priv_dir</span>, <span style="color: #009900">App</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Extra</span>}
- | {<span style="color: #FF6600">dir</span>, <span style="color: #009900">Path</span>}
- | {<span style="color: #FF6600">dir</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Extra</span>}
-
-<span style="color: #009900">App</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">atom</span></span>()
-<span style="color: #009900">Path</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() | <span style="font-weight: bold"><span style="color: #000000">string</span></span>()
-<span style="color: #009900">Extra</span> <span style="color: #990000">::</span> [<span style="color: #009900">Etag</span> | <span style="color: #009900">Mimetypes</span>]
-
-<span style="color: #009900">Etag</span> <span style="color: #990000">::</span> {<span style="color: #FF6600">etag</span>, <span style="font-weight: bold"><span style="color: #000000">module</span></span>(), <span style="font-weight: bold"><span style="color: #000080">function</span></span>()}
- | {<span style="color: #FF6600">etag</span>, <span style="color: #000080">false</span>}
-
-<span style="color: #009900">Mimetypes</span> <span style="color: #990000">::</span> {<span style="color: #FF6600">mimetypes</span>, <span style="font-weight: bold"><span style="color: #000000">module</span></span>(), <span style="font-weight: bold"><span style="color: #000080">function</span></span>()}
- | {<span style="color: #FF6600">mimetypes</span>, <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() | <span style="color: #009900">ParsedMime</span>}
-
-<span style="color: #009900">ParsedMime</span> <span style="color: #990000">::</span> {<span style="color: #009900">Type</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">SubType</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">Params</span>}
-<span style="color: #009900">Params</span> <span style="color: #990000">::</span> [{<span style="color: #009900">Key</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">Value</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()}]</tt></pre></div></div>
-<div class="paragraph"><p>Static handler configuration.</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-priv_file
-</dt>
-<dd>
-<p>
-Send a file.
-</p>
-<div class="paragraph"><p>The path is relative to the given application&#8217;s private
-directory.</p></div>
+<pre><tt><b><font color="#000000">opts</font></b>() <font color="#990000">::</font> {<font color="#FF6600">priv_file</font>, <font color="#009900">App</font>, <font color="#009900">Path</font>}
+ | {<font color="#FF6600">priv_file</font>, <font color="#009900">App</font>, <font color="#009900">Path</font>, <font color="#009900">Extra</font>}
+ | {<font color="#FF6600">file</font>, <font color="#009900">Path</font>}
+ | {<font color="#FF6600">file</font>, <font color="#009900">Path</font>, <font color="#009900">Extra</font>}
+ | {<font color="#FF6600">priv_dir</font>, <font color="#009900">App</font>, <font color="#009900">Path</font>}
+ | {<font color="#FF6600">priv_dir</font>, <font color="#009900">App</font>, <font color="#009900">Path</font>, <font color="#009900">Extra</font>}
+ | {<font color="#FF6600">dir</font>, <font color="#009900">Path</font>}
+ | {<font color="#FF6600">dir</font>, <font color="#009900">Path</font>, <font color="#009900">Extra</font>}
+
+<font color="#009900">App</font> <font color="#990000">::</font> <b><font color="#000080">atom</font></b>()
+<font color="#009900">Path</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>() | <b><font color="#000000">string</font></b>()
+<font color="#009900">Extra</font> <font color="#990000">::</font> [<font color="#009900">Etag</font> | <font color="#009900">Mimetypes</font>]
+
+<font color="#009900">Etag</font> <font color="#990000">::</font> {<font color="#FF6600">etag</font>, <b><font color="#000000">module</font></b>(), <b><font color="#000080">function</font></b>()}
+ | {<font color="#FF6600">etag</font>, <font color="#000080">false</font>}
+
+<font color="#009900">Mimetypes</font> <font color="#990000">::</font> {<font color="#FF6600">mimetypes</font>, <b><font color="#000000">module</font></b>(), <b><font color="#000080">function</font></b>()}
+ | {<font color="#FF6600">mimetypes</font>, <b><font color="#000080">binary</font></b>() | <font color="#009900">ParsedMime</font>}
+
+<font color="#009900">ParsedMime</font> <font color="#990000">::</font> {<font color="#009900">Type</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">SubType</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">Params</font>}
+<font color="#009900">Params</font> <font color="#990000">::</font> [{<font color="#009900">Key</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">Value</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()}]</tt></pre>
+</div></div>
+<p>Static handler configuration.</p>
+<dl><dt>priv_file</dt>
+<dd><p>Send a file.</p>
+<p>The path is relative to the given application&apos;s private directory.</p>
</dd>
-<dt class="hdlist1">
-file
-</dt>
-<dd>
-<p>
-Send a file.
-</p>
-<div class="paragraph"><p>The path is either absolute or relative to the Erlang node&#8217;s
-current directory.</p></div>
+<dt>file</dt>
+<dd><p>Send a file.</p>
+<p>The path is either absolute or relative to the Erlang node&apos;s current directory.</p>
</dd>
-<dt class="hdlist1">
-priv_dir
-</dt>
-<dd>
-<p>
-Recursively serve files from a directory.
-</p>
-<div class="paragraph"><p>The path is relative to the given application&#8217;s private
-directory.</p></div>
+<dt>priv_dir</dt>
+<dd><p>Recursively serve files from a directory.</p>
+<p>The path is relative to the given application&apos;s private directory.</p>
</dd>
-<dt class="hdlist1">
-dir
-</dt>
-<dd>
-<p>
-Recursively serve files from a directory.
-</p>
-<div class="paragraph"><p>The path is either absolute or relative to the Erlang node&#8217;s
-current directory.</p></div>
+<dt>dir</dt>
+<dd><p>Recursively serve files from a directory.</p>
+<p>The path is either absolute or relative to the Erlang node&apos;s current directory.</p>
</dd>
-</dl></div>
-<div class="paragraph"><p>The extra options allow you to define how the etag should be
-calculated and how the MIME type of files should be detected.</p></div>
-<div class="paragraph"><p>By default the static handler will generate an etag based
-on the size and modification time of the file. You may disable
-the etag entirely with <code>{etag, false}</code> or provide a module
-and function that will be called when needed:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+</dl>
+<p>The extra options allow you to define how the etag should be calculated and how the MIME type of files should be detected.</p>
+<p>By default the static handler will generate an etag based on the size and modification time of the file. You may disable the etag entirely with <code>{etag, false}</code> or provide a module and function that will be called when needed:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">generate_etag</span></span>(<span style="color: #009900">Path</span>, <span style="color: #009900">Size</span>, <span style="color: #009900">Mtime</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">strong</span> | <span style="color: #FF6600">weak</span>, <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()}
-
-<span style="color: #009900">Path</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()
-<span style="color: #009900">Size</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>()
-<span style="color: #009900">Mtime</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">file:date_time</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>By default the static handler will detect Web-related MIME types
-by looking at the file extension. You can provide a specific
-MIME type that will always be used, or a module and function that
-will be called when needed:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">generate_etag</font></b>(<font color="#009900">Path</font>, <font color="#009900">Size</font>, <font color="#009900">Mtime</font>) <font color="#990000">-&gt;</font> {<font color="#FF6600">strong</font> | <font color="#FF6600">weak</font>, <b><font color="#000080">binary</font></b>()}
+
+<font color="#009900">Path</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()
+<font color="#009900">Size</font> <font color="#990000">::</font> <b><font color="#000000">non_neg_integer</font></b>()
+<font color="#009900">Mtime</font> <font color="#990000">::</font> <b><font color="#000000">file:date_time</font></b>()</tt></pre>
+</div></div>
+<p>By default the static handler will detect Web-related MIME types by looking at the file extension. You can provide a specific MIME type that will always be used, or a module and function that will be called when needed:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">detect_mimetype</span></span>(<span style="color: #009900">Path</span>) <span style="color: #990000">-&gt;</span> <span style="color: #009900">ParsedMime</span>
-
-<span style="color: #009900">Path</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()
-<span style="color: #009900">ParsedMime</span> <span style="color: #990000">::</span> {<span style="color: #009900">Type</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">SubType</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">Params</span>}
-<span style="color: #009900">Params</span> <span style="color: #990000">::</span> [{<span style="color: #009900">Key</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">Value</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()}]</tt></pre></div></div>
-<div class="paragraph"><p>Cowboy comes with two such functions; the default function
-<code>cow_mimetypes:web/1</code>, and a second function generated from
-the Apache <em>mime.types</em> file, <code>cow_mimetypes:all/1</code>.</p></div>
-<div class="paragraph"><p>The MIME type function should return
-<code>{&lt;&lt;"application"&gt;&gt;, &lt;&lt;"octet-stream"&gt;&gt;, []}</code>
-when it fails to detect a file&#8217;s MIME type.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">detect_mimetype</font></b>(<font color="#009900">Path</font>) <font color="#990000">-&gt;</font> <font color="#009900">ParsedMime</font>
+
+<font color="#009900">Path</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()
+<font color="#009900">ParsedMime</font> <font color="#990000">::</font> {<font color="#009900">Type</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">SubType</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">Params</font>}
+<font color="#009900">Params</font> <font color="#990000">::</font> [{<font color="#009900">Key</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">Value</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()}]</tt></pre>
+</div></div>
+<!-- @todo Case sensitivity of parsed mime content?-->
+<p>Cowboy comes with two such functions; the default function <code>cow_mimetypes:web/1</code>, and a second function generated from the Apache <em>mime.types</em> file, <code>cow_mimetypes:all/1</code>.</p>
+<p>The MIME type function should return <code>{&lt;&lt;&quot;application&quot;&gt;&gt;, &lt;&lt;&quot;octet-stream&quot;&gt;&gt;, []}</code> when it fails to detect a file&apos;s MIME type.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>1.0</strong>: Handler introduced.
-</p>
+<ul><li><strong>1.0</strong>: Handler introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_examples">Examples</h2>
-<div class="sectionbody">
-<div class="listingblock">
-<div class="title">Custom etag function</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="title">Custom etag function</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">generate_etag</span></span>(<span style="color: #009900">Path</span>, <span style="color: #009900">Size</span>, <span style="color: #009900">Mtime</span>) <span style="color: #990000">-&gt;</span>
- {<span style="color: #FF6600">strong</span>, <span style="font-weight: bold"><span style="color: #000000">integer_to_binary</span></span>(
- <span style="font-weight: bold"><span style="color: #000000">erlang:phash2</span></span>({<span style="color: #009900">Path</span>, <span style="color: #009900">Size</span>, <span style="color: #009900">Mtime</span>}, <span style="color: #993399">16#ffffffff</span>))}<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="listingblock">
-<div class="title">Custom MIME type function</div>
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">generate_etag</font></b>(<font color="#009900">Path</font>, <font color="#009900">Size</font>, <font color="#009900">Mtime</font>) <font color="#990000">-&gt;</font>
+ {<font color="#FF6600">strong</font>, <b><font color="#000000">integer_to_binary</font></b>(
+ <b><font color="#000000">erlang:phash2</font></b>({<font color="#009900">Path</font>, <font color="#009900">Size</font>, <font color="#009900">Mtime</font>}, <font color="#993399">16#ffffffff</font>))}<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Custom MIME type function</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">always_octet_stream</span></span>(<span style="color: #009900">_Path</span>) <span style="color: #990000">-&gt;</span>
- <span style="font-weight: bold"><span style="color: #0000FF">case</span></span> <span style="font-weight: bold"><span style="color: #000000">filename:extension</span></span>(<span style="color: #009900">Path</span>) <span style="font-weight: bold"><span style="color: #0000FF">of</span></span>
- <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">".erl"</span><span style="color: #990000">&gt;&gt;</span> <span style="color: #990000">-&gt;</span> {<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"text"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"plain"</span><span style="color: #990000">&gt;&gt;</span>, []};
- <span style="color: #990000">_</span> <span style="color: #990000">-&gt;</span> {<span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"application"</span><span style="color: #990000">&gt;&gt;</span>, <span style="color: #990000">&lt;&lt;</span><span style="color: #FF0000">"octet-stream"</span><span style="color: #990000">&gt;&gt;</span>, []}
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span><span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">always_octet_stream</font></b>(<font color="#009900">_Path</font>) <font color="#990000">-&gt;</font>
+ <b><font color="#0000FF">case</font></b> <b><font color="#000000">filename:extension</font></b>(<font color="#009900">Path</font>) <b><font color="#0000FF">of</font></b>
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">".erl"</font><font color="#990000">&gt;&gt;</font> <font color="#990000">-&gt;</font> {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"text"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"plain"</font><font color="#990000">&gt;&gt;</font>, []};
+ <font color="#990000">_</font> <font color="#990000">-&gt;</font> {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"application"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"octet-stream"</font><font color="#990000">&gt;&gt;</font>, []}
+ <b><font color="#0000FF">end</font></b><font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="..">cowboy(7)</a>,
-<a href="../cowboy_router">cowboy_router(3)</a></p></div>
-</div>
-</div>
+<p><a href="..">cowboy(7)</a>, <a href="../cowboy_router">cowboy_router(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_stream/index.html b/docs/en/cowboy/2.4/manual/cowboy_stream/index.html
index bd9ef67b..b3ff1222 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_stream/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_stream/index.html
@@ -62,452 +62,306 @@
<h1 class="lined-header"><span>cowboy_stream(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_handler - Stream handlers</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_handler - Stream handlers</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The module <code>cowboy_stream</code> defines a callback interface
-and a protocol for handling HTTP streams.</p></div>
-<div class="paragraph"><p>An HTTP request and its associated response is called
-a stream. A connection may have many streams. In HTTP/1.1
-they are executed sequentially, while in HTTP/2 they are
-executed concurrently.</p></div>
-<div class="paragraph"><p>Cowboy calls the stream handler for nearly all events
-related to a stream. Exceptions vary depending on the
-protocol.</p></div>
-<div class="paragraph"><p>Extra care must be taken when implementing stream handlers
-to ensure compatibility. While some modification of the
-events and commands is allowed, it is generally not a good
-idea to completely omit them.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The module <code>cowboy_stream</code> defines a callback interface and a protocol for handling HTTP streams.</p>
+<p>An HTTP request and its associated response is called a stream. A connection may have many streams. In HTTP/1.1 they are executed sequentially, while in HTTP/2 they are executed concurrently.</p>
+<p>Cowboy calls the stream handler for nearly all events related to a stream. Exceptions vary depending on the protocol.</p>
+<p>Extra care must be taken when implementing stream handlers to ensure compatibility. While some modification of the events and commands is allowed, it is generally not a good idea to completely omit them.</p>
<h2 id="_callbacks">Callbacks</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Stream handlers must implement the following interface:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<p>Stream handlers must implement the following interface:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">init</span></span>(<span style="color: #009900">StreamID</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">Opts</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Commands</span>, <span style="color: #009900">State</span>}
-<span style="font-weight: bold"><span style="color: #000000">data</span></span>(<span style="color: #009900">StreamID</span>, <span style="color: #009900">IsFin</span>, <span style="color: #009900">Data</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Commands</span>, <span style="color: #009900">State</span>}
-<span style="font-weight: bold"><span style="color: #000000">info</span></span>(<span style="color: #009900">StreamID</span>, <span style="color: #009900">Info</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> {<span style="color: #009900">Commands</span>, <span style="color: #009900">State</span>}
-<span style="font-weight: bold"><span style="color: #000000">terminate</span></span>(<span style="color: #009900">StreamID</span>, <span style="color: #009900">Reason</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()
-<span style="font-weight: bold"><span style="color: #000000">early_error</span></span>(<span style="color: #009900">StreamID</span>, <span style="color: #009900">Reason</span>, <span style="color: #009900">PartialReq</span>, <span style="color: #009900">Resp</span>, <span style="color: #009900">Opts</span>) <span style="color: #990000">-&gt;</span> <span style="color: #009900">Resp</span>
-
-<span style="color: #009900">StreamID</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_stream:streamid</span></span>()
-<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()
-<span style="color: #009900">Opts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:opts</span></span>()
-<span style="color: #009900">Commands</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_stream:commands</span></span>()
-<span style="color: #009900">State</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()
-<span style="color: #009900">IsFin</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_stream:fin</span></span>()
-<span style="color: #009900">Data</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()
-<span style="color: #009900">Info</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()
-<span style="color: #009900">Reason</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_stream:reason</span></span>()
-<span style="color: #009900">PartialReq</span> <span style="color: #990000">-</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>(), <span style="color: #FF6600">except</span> <span style="color: #FF6600">all</span> <span style="color: #FF6600">fields</span> <span style="color: #FF6600">are</span> <span style="color: #FF6600">optional</span>
-<span style="color: #009900">Resp</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_stream:resp_command</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>HTTP/1.1 will initialize a stream only when the request-line
-and all headers have been received. When errors occur before
-that point Cowboy will call the callback <code>early_error/5</code>
-with a partial request, the error reason and the response
-Cowboy intends to send. All other events go throuh the
-stream handler using the normal callbacks.</p></div>
-<div class="paragraph"><p>HTTP/2 will initialize the stream when the <code>HEADERS</code> block has
-been fully received and decoded. Any protocol error occuring
-before that will not result in a response being sent and
-will therefore not go through the stream handler. In addition
-Cowboy may terminate streams without sending an HTTP response
-back.</p></div>
-<div class="paragraph"><p>The stream is initialized by calling <code>init/3</code>. All streams
-that are initialized will eventually be terminated by calling
-<code>terminate/3</code>.</p></div>
-<div class="paragraph"><p>When Cowboy receives data for the stream it will call <code>data/4</code>.
-The data given is the request body after any transfer decoding
-has been applied.</p></div>
-<div class="paragraph"><p>When Cowboy receives a message addressed to a stream, or when
-Cowboy needs to inform the stream handler that an internal
-event has occurred, it will call <code>info/3</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">init</font></b>(<font color="#009900">StreamID</font>, <font color="#009900">Req</font>, <font color="#009900">Opts</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Commands</font>, <font color="#009900">State</font>}
+<b><font color="#000000">data</font></b>(<font color="#009900">StreamID</font>, <font color="#009900">IsFin</font>, <font color="#009900">Data</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Commands</font>, <font color="#009900">State</font>}
+<b><font color="#000000">info</font></b>(<font color="#009900">StreamID</font>, <font color="#009900">Info</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> {<font color="#009900">Commands</font>, <font color="#009900">State</font>}
+<b><font color="#000000">terminate</font></b>(<font color="#009900">StreamID</font>, <font color="#009900">Reason</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> <b><font color="#000000">any</font></b>()
+<b><font color="#000000">early_error</font></b>(<font color="#009900">StreamID</font>, <font color="#009900">Reason</font>, <font color="#009900">PartialReq</font>, <font color="#009900">Resp</font>, <font color="#009900">Opts</font>) <font color="#990000">-&gt;</font> <font color="#009900">Resp</font>
+
+<font color="#009900">StreamID</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_stream:streamid</font></b>()
+<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()
+<font color="#009900">Opts</font> <font color="#990000">::</font> <b><font color="#000000">cowboy:opts</font></b>()
+<font color="#009900">Commands</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_stream:commands</font></b>()
+<font color="#009900">State</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()
+<font color="#009900">IsFin</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_stream:fin</font></b>()
+<font color="#009900">Data</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()
+<font color="#009900">Info</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()
+<font color="#009900">Reason</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_stream:reason</font></b>()
+<font color="#009900">PartialReq</font> <font color="#990000">-</font> <b><font color="#000000">cowboy_req:req</font></b>(), <font color="#FF6600">except</font> <font color="#FF6600">all</font> <font color="#FF6600">fields</font> <font color="#FF6600">are</font> <font color="#FF6600">optional</font>
+<font color="#009900">Resp</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_stream:resp_command</font></b>()</tt></pre>
+</div></div>
+<p>HTTP/1.1 will initialize a stream only when the request-line and all headers have been received. When errors occur before that point Cowboy will call the callback <code>early_error/5</code> with a partial request, the error reason and the response Cowboy intends to send. All other events go throuh the stream handler using the normal callbacks.</p>
+<p>HTTP/2 will initialize the stream when the <code>HEADERS</code> block has been fully received and decoded. Any protocol error occuring before that will not result in a response being sent and will therefore not go through the stream handler. In addition Cowboy may terminate streams without sending an HTTP response back.</p>
+<p>The stream is initialized by calling <code>init/3</code>. All streams that are initialized will eventually be terminated by calling <code>terminate/3</code>.</p>
+<p>When Cowboy receives data for the stream it will call <code>data/4</code>. The data given is the request body after any transfer decoding has been applied.</p>
+<p>When Cowboy receives a message addressed to a stream, or when Cowboy needs to inform the stream handler that an internal event has occurred, it will call <code>info/3</code>.</p>
<h2 id="commands">Commands</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Stream handlers can return a list of commands to be executed
-from the <code>init/3</code>, <code>data/4</code> and <code>info/3</code> callbacks. In addition,
-the <code>early_error/5</code> callback must return a response command.</p></div>
-<div class="paragraph"><p>The following commands are defined:</p></div>
-<div class="sect2">
+<p>Stream handlers can return a list of commands to be executed from the <code>init/3</code>, <code>data/4</code> and <code>info/3</code> callbacks. In addition, the <code>early_error/5</code> callback must return a response command.</p>
+<!-- @todo We need a &apos;log&apos; command that would call error_logger.-->
+<!-- It&apos;s better than doing in the handlers directly because-->
+<!-- then we can have other stream handlers manipulate those logs.-->
+<!-- @todo We need a command to send a message so that other-->
+<!-- stream handlers can manipulate these messages if necessary.-->
+<p>The following commands are defined:</p>
<h3 id="inform_command">inform</h3>
-<div class="paragraph"><p>Send an informational response to the client.</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<p>Send an informational response to the client.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #FF6600">inform</span>, <span style="font-weight: bold"><span style="color: #000000">cowboy:http_status</span></span>(), <span style="font-weight: bold"><span style="color: #000000">cowboy:http_headers</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>Any number of informational responses may be sent,
-but only until the final response is sent.</p></div>
-</div>
-<div class="sect2">
+<pre><tt>{<font color="#FF6600">inform</font>, <b><font color="#000000">cowboy:http_status</font></b>(), <b><font color="#000000">cowboy:http_headers</font></b>()}</tt></pre>
+</div></div>
+<p>Any number of informational responses may be sent, but only until the final response is sent.</p>
<h3 id="response_command">response</h3>
-<div class="paragraph"><p>Send a response to the client.</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<p>Send a response to the client.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #FF6600">response</span>, <span style="font-weight: bold"><span style="color: #000000">cowboy:http_status</span></span>(), <span style="font-weight: bold"><span style="color: #000000">cowboy:http_headers</span></span>(),
- <span style="font-weight: bold"><span style="color: #000000">cowboy_req:resp_body</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>No more data can be sent after this command.</p></div>
-</div>
-<div class="sect2">
+<pre><tt>{<font color="#FF6600">response</font>, <b><font color="#000000">cowboy:http_status</font></b>(), <b><font color="#000000">cowboy:http_headers</font></b>(),
+ <b><font color="#000000">cowboy_req:resp_body</font></b>()}</tt></pre>
+</div></div>
+<p>No more data can be sent after this command.</p>
<h3 id="headers_command">headers</h3>
-<div class="paragraph"><p>Initiate a response to the client.</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<p>Initiate a response to the client.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #FF6600">headers</span>, <span style="font-weight: bold"><span style="color: #000000">cowboy:http_status</span></span>(), <span style="font-weight: bold"><span style="color: #000000">cowboy:http_headers</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>This initiates a response to the client. The stream
-will end when a data command with the <code>fin</code> flag or
-a trailer command is returned.</p></div>
-</div>
-<div class="sect2">
+<pre><tt>{<font color="#FF6600">headers</font>, <b><font color="#000000">cowboy:http_status</font></b>(), <b><font color="#000000">cowboy:http_headers</font></b>()}</tt></pre>
+</div></div>
+<p>This initiates a response to the client. The stream will end when a data command with the <code>fin</code> flag or a trailer command is returned.</p>
<h3 id="data_command">data</h3>
-<div class="paragraph"><p>Send data to the client.</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<p>Send data to the client.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #FF6600">data</span>, <span style="font-weight: bold"><span style="color: #000000">fin</span></span>(), <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()}</tt></pre></div></div>
-</div>
-<div class="sect2">
+<pre><tt>{<font color="#FF6600">data</font>, <b><font color="#000000">fin</font></b>(), <b><font color="#000000">iodata</font></b>()}</tt></pre>
+</div></div>
<h3 id="trailers_command">trailers</h3>
-<div class="paragraph"><p>Send response trailers to the client.</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<p>Send response trailers to the client.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #FF6600">trailers</span>, <span style="font-weight: bold"><span style="color: #000000">cowboy:http_headers</span></span>()}</tt></pre></div></div>
-</div>
-<div class="sect2">
+<pre><tt>{<font color="#FF6600">trailers</font>, <b><font color="#000000">cowboy:http_headers</font></b>()}</tt></pre>
+</div></div>
<h3 id="push_command">push</h3>
-<div class="paragraph"><p>Push a resource to the client.</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<p>Push a resource to the client.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #FF6600">push</span>, <span style="color: #009900">Method</span>, <span style="color: #009900">Scheme</span>, <span style="color: #009900">Host</span>, <span style="font-weight: bold"><span style="color: #000000">inet:port_number</span></span>(),
- <span style="color: #009900">Path</span>, <span style="color: #009900">Qs</span>, <span style="font-weight: bold"><span style="color: #000000">cowboy:http_headers</span></span>()}
+<pre><tt>{<font color="#FF6600">push</font>, <font color="#009900">Method</font>, <font color="#009900">Scheme</font>, <font color="#009900">Host</font>, <b><font color="#000000">inet:port_number</font></b>(),
+ <font color="#009900">Path</font>, <font color="#009900">Qs</font>, <b><font color="#000000">cowboy:http_headers</font></b>()}
-<span style="color: #009900">Method</span> <span style="color: #990000">=</span> <span style="color: #009900">Scheme</span> <span style="color: #990000">=</span> <span style="color: #009900">Host</span> <span style="color: #990000">=</span> <span style="color: #009900">Path</span> <span style="color: #990000">=</span> <span style="color: #009900">Qs</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>The command will be ignored if the protocol does not provide
-any server push mechanism.</p></div>
-</div>
-<div class="sect2">
+<font color="#009900">Method</font> <font color="#990000">=</font> <font color="#009900">Scheme</font> <font color="#990000">=</font> <font color="#009900">Host</font> <font color="#990000">=</font> <font color="#009900">Path</font> <font color="#990000">=</font> <font color="#009900">Qs</font> <font color="#990000">=</font> <b><font color="#000080">binary</font></b>()</tt></pre>
+</div></div>
+<p>The command will be ignored if the protocol does not provide any server push mechanism.</p>
<h3 id="_flow">flow</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #FF6600">flow</span>, <span style="font-weight: bold"><span style="color: #000000">pos_integer</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>Request more data to be read from the request body. The
-exact behavior depends on the protocol.</p></div>
-</div>
-<div class="sect2">
+<pre><tt>{<font color="#FF6600">flow</font>, <b><font color="#000000">pos_integer</font></b>()}</tt></pre>
+</div></div>
+<p>Request more data to be read from the request body. The exact behavior depends on the protocol.</p>
<h3 id="_spawn">spawn</h3>
-<div class="paragraph"><p>Inform Cowboy that a process was spawned and should be
-supervised.</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<p>Inform Cowboy that a process was spawned and should be supervised.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="font-weight: bold"><span style="color: #000080">spawn</span></span>, <span style="font-weight: bold"><span style="color: #000080">pid</span></span>(), <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>()}</tt></pre></div></div>
-</div>
-<div class="sect2">
+<pre><tt>{<b><font color="#000080">spawn</font></b>, <b><font color="#000080">pid</font></b>(), <b><font color="#000000">timeout</font></b>()}</tt></pre>
+</div></div>
<h3 id="_error_response">error_response</h3>
-<div class="paragraph"><p>Send an error response if no response was sent previously.</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<p>Send an error response if no response was sent previously.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #FF6600">error_response</span>, <span style="font-weight: bold"><span style="color: #000000">cowboy:http_status</span></span>(), <span style="font-weight: bold"><span style="color: #000000">cowboy:http_headers</span></span>(), <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()}</tt></pre></div></div>
-</div>
-<div class="sect2">
+<pre><tt>{<font color="#FF6600">error_response</font>, <b><font color="#000000">cowboy:http_status</font></b>(), <b><font color="#000000">cowboy:http_headers</font></b>(), <b><font color="#000000">iodata</font></b>()}</tt></pre>
+</div></div>
<h3 id="switch_protocol_command">switch_protocol</h3>
-<div class="paragraph"><p>Switch to a different protocol.</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<p>Switch to a different protocol.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #FF6600">switch_protocol</span>, <span style="font-weight: bold"><span style="color: #000000">cowboy:http_headers</span></span>(), <span style="font-weight: bold"><span style="color: #000000">module</span></span>(), <span style="font-weight: bold"><span style="color: #000000">state</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>Contains the headers that will be sent in the 101 response,
-along with the module implementing the protocol we are
-switching to and its initial state.</p></div>
-</div>
-<div class="sect2">
+<pre><tt>{<font color="#FF6600">switch_protocol</font>, <b><font color="#000000">cowboy:http_headers</font></b>(), <b><font color="#000000">module</font></b>(), <b><font color="#000000">state</font></b>()}</tt></pre>
+</div></div>
+<p>Contains the headers that will be sent in the 101 response, along with the module implementing the protocol we are switching to and its initial state.</p>
<h3 id="_stop">stop</h3>
-<div class="paragraph"><p>Stop the stream.</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<p>Stop the stream.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="color: #FF6600">stop</span></tt></pre></div></div>
-<div class="paragraph"><p>While no more data can be sent after the <code>fin</code> flag was set,
-the stream is still tracked by Cowboy until it is stopped by
-the handler.</p></div>
-<div class="paragraph"><p>The behavior when stopping a stream for which no response
-has been sent will vary depending on the protocol. The stream
-will end successfully as far as the client is concerned.</p></div>
-<div class="paragraph"><p>To indicate that an error occurred, either use <code>error_response</code>
-before stopping, or use <code>internal_error</code>.</p></div>
-</div>
-<div class="sect2">
+<pre><tt><font color="#FF6600">stop</font></tt></pre>
+</div></div>
+<p>While no more data can be sent after the <code>fin</code> flag was set, the stream is still tracked by Cowboy until it is stopped by the handler.</p>
+<p>The behavior when stopping a stream for which no response has been sent will vary depending on the protocol. The stream will end successfully as far as the client is concerned.</p>
+<p>To indicate that an error occurred, either use <code>error_response</code> before stopping, or use <code>internal_error</code>.</p>
<h3 id="_internal_error">internal_error</h3>
-<div class="paragraph"><p>Stop the stream with an error.</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<p>Stop the stream with an error.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #FF6600">internal_error</span>, <span style="color: #009900">Reason</span>, <span style="color: #009900">HumanReadable</span>}
-
-<span style="color: #009900">Reason</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()
-<span style="color: #009900">HumanReadable</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000080">atom</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>This command should be used when the stream cannot continue
-because of an internal error. An <code>error_response</code> command
-may be sent before that to advertise to the client why the
-stream is dropped.</p></div>
-</div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>{<font color="#FF6600">internal_error</font>, <font color="#009900">Reason</font>, <font color="#009900">HumanReadable</font>}
+
+<font color="#009900">Reason</font> <font color="#990000">=</font> <b><font color="#000000">any</font></b>()
+<font color="#009900">HumanReadable</font> <font color="#990000">=</font> <b><font color="#000080">atom</font></b>()</tt></pre>
+</div></div>
+<p>This command should be used when the stream cannot continue because of an internal error. An <code>error_response</code> command may be sent before that to advertise to the client why the stream is dropped.</p>
<h2 id="_predefined_events">Predefined events</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Cowboy will forward all messages sent to the stream to
-the <code>info/3</code> callback. To send a message to a stream,
-send a message to the connection process with the form
-<code>{{Pid, StreamID}, Msg}</code>. The connection process will
-then forward <code>Msg</code> to the stream handlers.</p></div>
-<div class="paragraph"><p>Cowboy will also forward the exit signals for the
-processes that the stream spawned.</p></div>
-<div class="sect2">
+<p>Cowboy will forward all messages sent to the stream to the <code>info/3</code> callback. To send a message to a stream, send a message to the connection process with the form <code>{{Pid, StreamID}, Msg}</code>. The connection process will then forward <code>Msg</code> to the stream handlers.</p>
+<p>Cowboy will also forward the exit signals for the processes that the stream spawned.</p>
<h3 id="_exit">EXIT</h3>
-<div class="paragraph"><p>A process spawned by this stream has exited.</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<!-- info(_StreamID, {&apos;EXIT&apos;, Pid, normal}, State=#state{pid=Pid}) -&gt;-->
+<!-- info(_StreamID, {&apos;EXIT&apos;, Pid, {_Reason, [_, {cow_http_hd, _, _, _}|_]}}, State=#state{pid=Pid}) -&gt;-->
+<!-- info(StreamID, Exit = {&apos;EXIT&apos;, Pid, {Reason, Stacktrace}}, State=#state{ref=Ref, pid=Pid}) -&gt;-->
+<p>A process spawned by this stream has exited.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #000080">'EXIT'</span>, <span style="font-weight: bold"><span style="color: #000080">pid</span></span>(), <span style="font-weight: bold"><span style="color: #000000">any</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>This is the raw exit message without any modification.</p></div>
-</div>
-<div class="sect2">
+<pre><tt>{<font color="#000080">'EXIT'</font>, <b><font color="#000080">pid</font></b>(), <b><font color="#000000">any</font></b>()}</tt></pre>
+</div></div>
+<p>This is the raw exit message without any modification.</p>
+<!-- === read_body-->
+<!-- -->
+<!-- //info(_StreamID, {read_body, Ref, Length, _},-->
+<!-- //info(StreamID, {read_body, Ref, Length, Period}, State) -&gt;-->
+<!-- -->
+<!-- TODO yeah I am not actually sure this one should be public just yet-->
+<!-- TODO if it is, then we probably shouldn&apos;t send a message directly,-->
+<!-- TODO but rather return a command that will end up sending the message-->
+<!-- -->
+<!-- TODO The problem being that no stream handler has access to that-->
+<!-- TODO message if we send it directly. So we should have a command-->
+<!-- TODO send_message or something that can be seen from all handlers.-->
+<!-- -->
+<!-- TODO The thing is that stream handlers can have 0 to N processes-->
+<!-- TODO so we have to make it easy to say which process should-->
+<!-- TODO receive the message, and perhaps *identify* which process-->
+<!-- TODO gets it?-->
<h3 id="_inform">inform</h3>
-<div class="paragraph"><p>Same as the <a href="../inform_command">inform command</a>.</p></div>
-<div class="paragraph"><p>Sent when the request process reads the body and an
-expect: 100-continue header was present in the request,
-or when the request process sends an informational
-response on its own.</p></div>
-</div>
-<div class="sect2">
+<p>Same as the <a href="../inform_command">inform command</a>.</p>
+<p>Sent when the request process reads the body and an expect: 100-continue header was present in the request, or when the request process sends an informational response on its own.</p>
<h3 id="_response">response</h3>
-<div class="paragraph"><p>Same as the <a href="../response_command">response command</a>.</p></div>
-<div class="paragraph"><p>Usually sent when the request process replies to the client.
-May also be sent by Cowboy internally.</p></div>
-</div>
-<div class="sect2">
+<p>Same as the <a href="../response_command">response command</a>.</p>
+<p>Usually sent when the request process replies to the client. May also be sent by Cowboy internally.</p>
<h3 id="_headers">headers</h3>
-<div class="paragraph"><p>Same as the <a href="../headers_command">headers command</a>.</p></div>
-<div class="paragraph"><p>Sent when the request process starts replying to the client.</p></div>
-</div>
-<div class="sect2">
+<p>Same as the <a href="../headers_command">headers command</a>.</p>
+<p>Sent when the request process starts replying to the client.</p>
<h3 id="_data">data</h3>
-<div class="paragraph"><p>Same as the <a href="../data_command">data command</a>.</p></div>
-<div class="paragraph"><p>Sent when the request process streams data to the client.</p></div>
-</div>
-<div class="sect2">
+<p>Same as the <a href="../data_command">data command</a>.</p>
+<p>Sent when the request process streams data to the client.</p>
<h3 id="_trailers">trailers</h3>
-<div class="paragraph"><p>Same as the <a href="../trailers_command">trailers command</a>.</p></div>
-<div class="paragraph"><p>Sent when the request process sends the trailer field values
-to the client.</p></div>
-</div>
-<div class="sect2">
+<p>Same as the <a href="../trailers_command">trailers command</a>.</p>
+<p>Sent when the request process sends the trailer field values to the client.</p>
<h3 id="_push">push</h3>
-<div class="paragraph"><p>Same as the <a href="../push_command">push command</a>.</p></div>
-<div class="paragraph"><p>Sent when the request process pushes a resource to the client.</p></div>
-</div>
-<div class="sect2">
+<p>Same as the <a href="../push_command">push command</a>.</p>
+<p>Sent when the request process pushes a resource to the client.</p>
<h3 id="_switch_protocol">switch_protocol</h3>
-<div class="paragraph"><p>Same as the <a href="../switch_protocol_command">switch_protocol command</a>.</p></div>
-<div class="paragraph"><p>Sent when switching to the HTTP/2 or Websocket protocol.</p></div>
-</div>
-</div>
-</div>
-<div class="sect1">
+<p>Same as the <a href="../switch_protocol_command">switch_protocol command</a>.</p>
+<p>Sent when switching to the HTTP/2 or Websocket protocol.</p>
<h2 id="_exports">Exports</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The following function should be called by modules implementing
-stream handlers to execute the next stream handler in the list:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="../cowboy_stream.init">cowboy_stream:init(3)</a> - Initialize a stream
-</p>
+<p>The following function should be called by modules implementing stream handlers to execute the next stream handler in the list:</p>
+<ul><li><a href="../cowboy_stream.init">cowboy_stream:init(3)</a> - Initialize a stream
</li>
-<li>
-<p>
-<a href="../cowboy_stream.data">cowboy_stream:data(3)</a> - Handle data for a stream
-</p>
+<li><a href="../cowboy_stream.data">cowboy_stream:data(3)</a> - Handle data for a stream
</li>
-<li>
-<p>
-<a href="../cowboy_stream.info">cowboy_stream:info(3)</a> - Handle a message for a stream
-</p>
+<li><a href="../cowboy_stream.info">cowboy_stream:info(3)</a> - Handle a message for a stream
</li>
-<li>
-<p>
-<a href="../cowboy_stream.terminate">cowboy_stream:terminate(3)</a> - Terminate a stream
-</p>
+<li><a href="../cowboy_stream.terminate">cowboy_stream:terminate(3)</a> - Terminate a stream
</li>
-<li>
-<p>
-<a href="../cowboy_stream.early_error">cowboy_stream:early_error(3)</a> - Handle an early error for a stream
-</p>
+<li><a href="../cowboy_stream.early_error">cowboy_stream:early_error(3)</a> - Handle an early error for a stream
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_types">Types</h2>
-<div class="sectionbody">
-<div class="sect2">
<h3 id="_commands">commands()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">commands</span></span>() <span style="color: #990000">::</span> [<span style="color: #009900">Command</span>]</tt></pre></div></div>
-<div class="paragraph"><p>See the <a href="../commands">list of commands</a> for details.</p></div>
-</div>
-<div class="sect2">
+<pre><tt><b><font color="#000000">commands</font></b>() <font color="#990000">::</font> [<font color="#009900">Command</font>]</tt></pre>
+</div></div>
+<p>See the <a href="../commands">list of commands</a> for details.</p>
<h3 id="_fin">fin()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">fin</span></span>() <span style="color: #990000">::</span> <span style="color: #FF6600">fin</span> | <span style="color: #FF6600">nofin</span></tt></pre></div></div>
-<div class="paragraph"><p>Used in commands and events to indicate that this is
-the end of the stream.</p></div>
-</div>
-<div class="sect2">
+<pre><tt><b><font color="#000000">fin</font></b>() <font color="#990000">::</font> <font color="#FF6600">fin</font> | <font color="#FF6600">nofin</font></tt></pre>
+</div></div>
+<p>Used in commands and events to indicate that this is the end of the stream.</p>
<h3 id="_partial_req">partial_req()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">req</span></span>() <span style="color: #990000">::</span> #{
- <span style="color: #0000FF">method</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span>
- <span style="color: #0000FF">version</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:http_version</span></span>() | <span style="font-weight: bold"><span style="color: #000080">atom</span></span>(),
- <span style="color: #0000FF">scheme</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-style: italic"><span style="color: #9A1900">%% lowercase; case insensitive</span></span>
- <span style="color: #0000FF">host</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-style: italic"><span style="color: #9A1900">%% lowercase; case insensitive</span></span>
- <span style="color: #0000FF">port</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">inet:port_number</span></span>(),
- <span style="color: #0000FF">path</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span>
- <span style="color: #0000FF">qs</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-style: italic"><span style="color: #9A1900">%% case sensitive</span></span>
- <span style="color: #0000FF">headers</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">cowboy:http_headers</span></span>(),
- <span style="color: #0000FF">peer</span> <span style="color: #990000">=&gt;</span> {<span style="font-weight: bold"><span style="color: #000000">inet:ip_address</span></span>(), <span style="font-weight: bold"><span style="color: #000000">inet:port_number</span></span>()}
-}</tt></pre></div></div>
-<div class="paragraph"><p>Partial request information received when an early error is
-detected.</p></div>
-</div>
-<div class="sect2">
+<pre><tt><b><font color="#000000">req</font></b>() <font color="#990000">::</font> #{
+ <font color="#0000FF">method</font> <font color="#990000">=&gt;</font> <b><font color="#000080">binary</font></b>(), <i><font color="#9A1900">%% case sensitive</font></i>
+ <font color="#0000FF">version</font> <font color="#990000">=&gt;</font> <b><font color="#000000">cowboy:http_version</font></b>() | <b><font color="#000080">atom</font></b>(),
+ <font color="#0000FF">scheme</font> <font color="#990000">=&gt;</font> <b><font color="#000080">binary</font></b>(), <i><font color="#9A1900">%% lowercase; case insensitive</font></i>
+ <font color="#0000FF">host</font> <font color="#990000">=&gt;</font> <b><font color="#000080">binary</font></b>(), <i><font color="#9A1900">%% lowercase; case insensitive</font></i>
+ <font color="#0000FF">port</font> <font color="#990000">=&gt;</font> <b><font color="#000000">inet:port_number</font></b>(),
+ <font color="#0000FF">path</font> <font color="#990000">=&gt;</font> <b><font color="#000080">binary</font></b>(), <i><font color="#9A1900">%% case sensitive</font></i>
+ <font color="#0000FF">qs</font> <font color="#990000">=&gt;</font> <b><font color="#000080">binary</font></b>(), <i><font color="#9A1900">%% case sensitive</font></i>
+ <font color="#0000FF">headers</font> <font color="#990000">=&gt;</font> <b><font color="#000000">cowboy:http_headers</font></b>(),
+ <font color="#0000FF">peer</font> <font color="#990000">=&gt;</font> {<b><font color="#000000">inet:ip_address</font></b>(), <b><font color="#000000">inet:port_number</font></b>()}
+}</tt></pre>
+</div></div>
+<p>Partial request information received when an early error is detected.</p>
<h3 id="_reason">reason()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">reason</span></span>() <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">normal</span></span> | <span style="color: #FF6600">switch_protocol</span>
- | {<span style="color: #FF6600">internal_error</span>, <span style="color: #FF6600">timeout</span> | {<span style="color: #FF6600">error</span> | <span style="font-weight: bold"><span style="color: #000080">exit</span></span> | <span style="font-weight: bold"><span style="color: #000080">throw</span></span>, <span style="font-weight: bold"><span style="color: #000000">any</span></span>()}, <span style="color: #009900">HumanReadable</span>}
- | {<span style="color: #FF6600">socket_error</span>, <span style="color: #FF6600">closed</span> | <span style="font-weight: bold"><span style="color: #000080">atom</span></span>(), <span style="color: #009900">HumanReadable</span>}
- | {<span style="color: #FF6600">stream_error</span>, <span style="color: #009900">Error</span>, <span style="color: #009900">HumanReadable</span>}
- | {<span style="color: #FF6600">connection_error</span>, <span style="color: #009900">Error</span>, <span style="color: #009900">HumanReadable</span>}
- | {<span style="color: #FF6600">stop</span>, <span style="font-weight: bold"><span style="color: #000000">cow_http2:frame</span></span>(), <span style="color: #009900">HumanReadable</span>}
-
-<span style="color: #009900">Error</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000080">atom</span></span>()
-<span style="color: #009900">HumanReadable</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000080">atom</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>Reason for the stream termination.</p></div>
-</div>
-<div class="sect2">
+<pre><tt><b><font color="#000000">reason</font></b>() <font color="#990000">::</font> <b><font color="#000080">normal</font></b> | <font color="#FF6600">switch_protocol</font>
+ | {<font color="#FF6600">internal_error</font>, <font color="#FF6600">timeout</font> | {<font color="#FF6600">error</font> | <b><font color="#000080">exit</font></b> | <b><font color="#000080">throw</font></b>, <b><font color="#000000">any</font></b>()}, <font color="#009900">HumanReadable</font>}
+ | {<font color="#FF6600">socket_error</font>, <font color="#FF6600">closed</font> | <b><font color="#000080">atom</font></b>(), <font color="#009900">HumanReadable</font>}
+ | {<font color="#FF6600">stream_error</font>, <font color="#009900">Error</font>, <font color="#009900">HumanReadable</font>}
+ | {<font color="#FF6600">connection_error</font>, <font color="#009900">Error</font>, <font color="#009900">HumanReadable</font>}
+ | {<font color="#FF6600">stop</font>, <b><font color="#000000">cow_http2:frame</font></b>(), <font color="#009900">HumanReadable</font>}
+
+<font color="#009900">Error</font> <font color="#990000">=</font> <b><font color="#000080">atom</font></b>()
+<font color="#009900">HumanReadable</font> <font color="#990000">=</font> <b><font color="#000080">atom</font></b>()</tt></pre>
+</div></div>
+<p>Reason for the stream termination.</p>
<h3 id="_resp_command">resp_command()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">resp_command</span></span>() <span style="color: #990000">::</span> {<span style="color: #FF6600">response</span>, <span style="font-weight: bold"><span style="color: #000000">cowboy:http_status</span></span>(),
- <span style="font-weight: bold"><span style="color: #000000">cowboy:http_headers</span></span>(), <span style="font-weight: bold"><span style="color: #000000">cowboy_req:resp_body</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>See the <a href="../response_command">response command</a> for details.</p></div>
-</div>
-<div class="sect2">
+<pre><tt><b><font color="#000000">resp_command</font></b>() <font color="#990000">::</font> {<font color="#FF6600">response</font>, <b><font color="#000000">cowboy:http_status</font></b>(),
+ <b><font color="#000000">cowboy:http_headers</font></b>(), <b><font color="#000000">cowboy_req:resp_body</font></b>()}</tt></pre>
+</div></div>
+<p>See the <a href="../response_command">response command</a> for details.</p>
<h3 id="_streamid">streamid()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">streamid</span></span>() <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()</tt></pre></div></div>
-<div class="paragraph"><p>The identifier for this stream.</p></div>
-<div class="paragraph"><p>The identifier is unique over the connection process.
-It is possible to form a unique identifier node-wide and
-cluster-wide by wrapping it in a <code>{self(), StreamID}</code>
-tuple.</p></div>
-</div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt><b><font color="#000000">streamid</font></b>() <font color="#990000">::</font> <b><font color="#000000">any</font></b>()</tt></pre>
+</div></div>
+<p>The identifier for this stream.</p>
+<p>The identifier is unique over the connection process. It is possible to form a unique identifier node-wide and cluster-wide by wrapping it in a <code>{self(), StreamID}</code> tuple.</p>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.2</strong>: The trailers command was introduced.
-</p>
+<ul><li><strong>2.2</strong>: The trailers command was introduced.
</li>
-<li>
-<p>
-<strong>2.0</strong>: Module introduced.
-</p>
+<li><strong>2.0</strong>: Module introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="..">cowboy(7)</a>,
-<a href="../cowboy_http">cowboy_http(3)</a>,
-<a href="../cowboy_http2">cowboy_http2(3)</a></p></div>
-</div>
-</div>
+<p><a href="..">cowboy(7)</a>, <a href="../cowboy_http">cowboy_http(3)</a>, <a href="../cowboy_http2">cowboy_http2(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/cowboy_websocket/index.html b/docs/en/cowboy/2.4/manual/cowboy_websocket/index.html
index 01b70c1c..4fd95da2 100644
--- a/docs/en/cowboy/2.4/manual/cowboy_websocket/index.html
+++ b/docs/en/cowboy/2.4/manual/cowboy_websocket/index.html
@@ -62,308 +62,148 @@
<h1 class="lined-header"><span>cowboy_websocket(3)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy_websocket - Websocket</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy_websocket - Websocket</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The module <code>cowboy_websocket</code> implements Websocket
-as a Ranch protocol. It also defines a callback interface
-for handling Websocket connections.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The module <code>cowboy_websocket</code> implements Websocket as a Ranch protocol. It also defines a callback interface for handling Websocket connections.</p>
<h2 id="_callbacks">Callbacks</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Websocket handlers must implement the following callback
-interface:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<p>Websocket handlers must implement the following callback interface:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">init</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>)
- <span style="color: #990000">-&gt;</span> {<span style="color: #FF6600">cowboy_websocket</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>}
- | {<span style="color: #FF6600">cowboy_websocket</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>, <span style="color: #009900">Opts</span>}
-
-<span style="font-weight: bold"><span style="color: #000000">websocket_init</span></span>(<span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> <span style="color: #009900">CallResult</span> <span style="font-style: italic"><span style="color: #9A1900">%% optional</span></span>
-<span style="font-weight: bold"><span style="color: #000000">websocket_handle</span></span>(<span style="color: #009900">InFrame</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> <span style="color: #009900">CallResult</span>
-<span style="font-weight: bold"><span style="color: #000000">websocket_info</span></span>(<span style="color: #009900">Info</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> <span style="color: #009900">CallResult</span>
-
-<span style="font-weight: bold"><span style="color: #000000">terminate</span></span>(<span style="color: #009900">Reason</span>, <span style="color: #009900">PartialReq</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span> <span style="color: #FF6600">ok</span> <span style="font-style: italic"><span style="color: #9A1900">%% optional</span></span>
-
-<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()
-<span style="color: #009900">PartialReq</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">map</span></span>()
-<span style="color: #009900">State</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()
-<span style="color: #009900">Opts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_websocket:opts</span></span>()
-<span style="color: #009900">InFrame</span> <span style="color: #990000">::</span> {<span style="color: #FF6600">text</span> | <span style="font-weight: bold"><span style="color: #000080">binary</span></span> | <span style="color: #FF6600">ping</span> | <span style="color: #FF6600">pong</span>, <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()}
-<span style="color: #009900">OutFrame</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cow_ws:frame</span></span>() <span style="font-style: italic"><span style="color: #9A1900">%% see types below</span></span>
-<span style="color: #009900">Info</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()
-
-<span style="color: #009900">CallResult</span> <span style="color: #990000">::</span> {<span style="color: #FF6600">ok</span>, <span style="color: #009900">State</span>}
- | {<span style="color: #FF6600">ok</span>, <span style="color: #009900">State</span>, <span style="color: #FF6600">hibernate</span>}
- | {<span style="color: #FF6600">reply</span>, <span style="color: #009900">OutFrame</span> | [<span style="color: #009900">OutFrame</span>], <span style="color: #009900">State</span>}
- | {<span style="color: #FF6600">reply</span>, <span style="color: #009900">OutFrame</span> | [<span style="color: #009900">OutFrame</span>], <span style="color: #009900">State</span>, <span style="color: #FF6600">hibernate</span>}
- | {<span style="color: #FF6600">stop</span>, <span style="color: #009900">State</span>}
-
-<span style="color: #009900">Reason</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">normal</span></span> | <span style="color: #FF6600">stop</span> | <span style="color: #FF6600">timeout</span>
- | <span style="color: #FF6600">remote</span> | {<span style="color: #FF6600">remote</span>, <span style="font-weight: bold"><span style="color: #000000">cow_ws:close_code</span></span>(), <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()}
- | {<span style="color: #FF6600">error</span>, <span style="color: #FF6600">badencoding</span> | <span style="color: #FF6600">badframe</span> | <span style="color: #FF6600">closed</span> | <span style="font-weight: bold"><span style="color: #000080">atom</span></span>()}
- | {<span style="color: #FF6600">crash</span>, <span style="color: #FF6600">error</span> | <span style="font-weight: bold"><span style="color: #000080">exit</span></span> | <span style="font-weight: bold"><span style="color: #000080">throw</span></span>, <span style="font-weight: bold"><span style="color: #000000">any</span></span>()}</tt></pre></div></div>
-<div class="paragraph"><p>The <code>init/2</code> callback is common to all handlers. To upgrade
-the connection to Websocket, it must return <code>cowboy_websocket</code>
-as the first element of the tuple.</p></div>
-<div class="paragraph"><p>Any operation requiring the HTTP request must be done in the
-<code>init/2</code> function, as the Req object will not be available
-after it returns. Websocket sub-protocol selection should
-therefore be done in this function.</p></div>
-<div class="paragraph"><p>The optional <code>websocket_init/1</code> callback will be called once
-the connection has been upgraded to Websocket. It can be used
-to perform any required initialization of the handler.</p></div>
-<div class="paragraph"><p>Note that the <code>init/2</code> function does not run in the same
-process as the Websocket callbacks. Any Websocket-specific
-initialization must be done in <code>websocket_init/1</code>.</p></div>
-<div class="paragraph"><p>The <code>websocket_handle/2</code> callback will be called for every
-frame received. The <code>websocket_info/2</code> callback will be
-called for every Erlang message received.</p></div>
-<div class="paragraph"><p>All three Websocket callbacks may send one or more frames
-back to the client (by returning a <code>reply</code> tuple) or terminate
-the connection (by sending a <code>close</code> frame or returning a <code>stop</code>
-tuple).</p></div>
-<div class="paragraph"><p>The optional <code>terminate/3</code> callback will ultimately be called
-with the reason for the termination of the connection. This
-callback is common to all handlers. Note that Websocket will
-not provide the full Req object by default, to save memory.</p></div>
-<div class="paragraph"><p>Cowboy will terminate the process right after closing the
-Websocket connection. This means that there is no need to
-perform any cleanup in the <code>terminate/3</code> callback.</p></div>
-<div class="paragraph"><p>The following terminate reasons are defined for Websocket
-connections:</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-normal
-</dt>
-<dd>
-<p>
- The connection was closed normally before establishing a Websocket
- connection. This typically happens if an <code>ok</code> tuple is returned
- from the <code>init/2</code> callback.
-</p>
+<pre><tt><b><font color="#000000">init</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>)
+ <font color="#990000">-&gt;</font> {<font color="#FF6600">cowboy_websocket</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>}
+ | {<font color="#FF6600">cowboy_websocket</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>, <font color="#009900">Opts</font>}
+
+<b><font color="#000000">websocket_init</font></b>(<font color="#009900">State</font>) <font color="#990000">-&gt;</font> <font color="#009900">CallResult</font> <i><font color="#9A1900">%% optional</font></i>
+<b><font color="#000000">websocket_handle</font></b>(<font color="#009900">InFrame</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> <font color="#009900">CallResult</font>
+<b><font color="#000000">websocket_info</font></b>(<font color="#009900">Info</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> <font color="#009900">CallResult</font>
+
+<b><font color="#000000">terminate</font></b>(<font color="#009900">Reason</font>, <font color="#009900">PartialReq</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font> <font color="#FF6600">ok</font> <i><font color="#9A1900">%% optional</font></i>
+
+<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()
+<font color="#009900">PartialReq</font> <font color="#990000">::</font> <b><font color="#000000">map</font></b>()
+<font color="#009900">State</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()
+<font color="#009900">Opts</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_websocket:opts</font></b>()
+<font color="#009900">InFrame</font> <font color="#990000">::</font> {<font color="#FF6600">text</font> | <b><font color="#000080">binary</font></b> | <font color="#FF6600">ping</font> | <font color="#FF6600">pong</font>, <b><font color="#000080">binary</font></b>()}
+<font color="#009900">OutFrame</font> <font color="#990000">::</font> <b><font color="#000000">cow_ws:frame</font></b>() <i><font color="#9A1900">%% see types below</font></i>
+<font color="#009900">Info</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()
+
+<font color="#009900">CallResult</font> <font color="#990000">::</font> {<font color="#FF6600">ok</font>, <font color="#009900">State</font>}
+ | {<font color="#FF6600">ok</font>, <font color="#009900">State</font>, <font color="#FF6600">hibernate</font>}
+ | {<font color="#FF6600">reply</font>, <font color="#009900">OutFrame</font> | [<font color="#009900">OutFrame</font>], <font color="#009900">State</font>}
+ | {<font color="#FF6600">reply</font>, <font color="#009900">OutFrame</font> | [<font color="#009900">OutFrame</font>], <font color="#009900">State</font>, <font color="#FF6600">hibernate</font>}
+ | {<font color="#FF6600">stop</font>, <font color="#009900">State</font>}
+
+<font color="#009900">Reason</font> <font color="#990000">::</font> <b><font color="#000080">normal</font></b> | <font color="#FF6600">stop</font> | <font color="#FF6600">timeout</font>
+ | <font color="#FF6600">remote</font> | {<font color="#FF6600">remote</font>, <b><font color="#000000">cow_ws:close_code</font></b>(), <b><font color="#000080">binary</font></b>()}
+ | {<font color="#FF6600">error</font>, <font color="#FF6600">badencoding</font> | <font color="#FF6600">badframe</font> | <font color="#FF6600">closed</font> | <b><font color="#000080">atom</font></b>()}
+ | {<font color="#FF6600">crash</font>, <font color="#FF6600">error</font> | <b><font color="#000080">exit</font></b> | <b><font color="#000080">throw</font></b>, <b><font color="#000000">any</font></b>()}</tt></pre>
+</div></div>
+<p>The <code>init/2</code> callback is common to all handlers. To upgrade the connection to Websocket, it must return <code>cowboy_websocket</code> as the first element of the tuple.</p>
+<p>Any operation requiring the HTTP request must be done in the <code>init/2</code> function, as the Req object will not be available after it returns. Websocket sub-protocol selection should therefore be done in this function.</p>
+<p>The optional <code>websocket_init/1</code> callback will be called once the connection has been upgraded to Websocket. It can be used to perform any required initialization of the handler.</p>
+<p>Note that the <code>init/2</code> function does not run in the same process as the Websocket callbacks. Any Websocket-specific initialization must be done in <code>websocket_init/1</code>.</p>
+<p>The <code>websocket_handle/2</code> callback will be called for every frame received. The <code>websocket_info/2</code> callback will be called for every Erlang message received.</p>
+<p>All three Websocket callbacks may send one or more frames back to the client (by returning a <code>reply</code> tuple) or terminate the connection (by sending a <code>close</code> frame or returning a <code>stop</code> tuple).</p>
+<p>The optional <code>terminate/3</code> callback will ultimately be called with the reason for the termination of the connection. This callback is common to all handlers. Note that Websocket will not provide the full Req object by default, to save memory.</p>
+<p>Cowboy will terminate the process right after closing the Websocket connection. This means that there is no need to perform any cleanup in the <code>terminate/3</code> callback.</p>
+<p>The following terminate reasons are defined for Websocket connections:</p>
+<dl><dt>normal</dt>
+<dd><p>The connection was closed normally before establishing a Websocket connection. This typically happens if an <code>ok</code> tuple is returned from the <code>init/2</code> callback.</p>
</dd>
-<dt class="hdlist1">
-remote
-</dt>
-<dd>
-<p>
- The remote endpoint closed the connection without giving any
- further details.
-</p>
+<dt>remote</dt>
+<dd><p>The remote endpoint closed the connection without giving any further details.</p>
</dd>
-<dt class="hdlist1">
-{remote, Code, Payload}
-</dt>
-<dd>
-<p>
- The remote endpoint closed the connection with the given
- <code>Code</code> and <code>Payload</code> as the reason.
-</p>
+<dt>{remote, Code, Payload}</dt>
+<dd><p>The remote endpoint closed the connection with the given <code>Code</code> and <code>Payload</code> as the reason.</p>
</dd>
-<dt class="hdlist1">
-stop
-</dt>
-<dd>
-<p>
- The handler requested to close the connection, either by returning
- a <code>stop</code> tuple or by sending a <code>close</code> frame.
-</p>
+<dt>stop</dt>
+<dd><p>The handler requested to close the connection, either by returning a <code>stop</code> tuple or by sending a <code>close</code> frame.</p>
</dd>
-<dt class="hdlist1">
-timeout
-</dt>
-<dd>
-<p>
- The connection has been closed due to inactivity. The timeout
- value can be configured from <code>init/2</code>.
-</p>
+<dt>timeout</dt>
+<dd><p>The connection has been closed due to inactivity. The timeout value can be configured from <code>init/2</code>.</p>
</dd>
-<dt class="hdlist1">
-{crash, Class, Reason}
-</dt>
-<dd>
-<p>
- A crash occurred in the handler. <code>Class</code> and <code>Reason</code> can be
- used to obtain more information about the crash. The function
- <code>erlang:get_stacktrace/0</code> can also be called to obtain the
- stacktrace of the process when the crash occurred.
-</p>
+<dt>{crash, Class, Reason}</dt>
+<dd><p>A crash occurred in the handler. <code>Class</code> and <code>Reason</code> can be used to obtain more information about the crash. The function <code>erlang:get_stacktrace/0</code> can also be called to obtain the stacktrace of the process when the crash occurred.</p>
</dd>
-<dt class="hdlist1">
-{error, badencoding}
-</dt>
-<dd>
-<p>
- A text frame was sent by the client with invalid encoding. All
- text frames must be valid UTF-8.
-</p>
+<dt>{error, badencoding}</dt>
+<dd><p>A text frame was sent by the client with invalid encoding. All text frames must be valid UTF-8.</p>
</dd>
-<dt class="hdlist1">
-{error, badframe}
-</dt>
-<dd>
-<p>
- A protocol error has been detected.
-</p>
+<dt>{error, badframe}</dt>
+<dd><p>A protocol error has been detected.</p>
</dd>
-<dt class="hdlist1">
-{error, closed}
-</dt>
-<dd>
-<p>
- The socket has been closed brutally without a close frame being
- received first.
-</p>
+<dt>{error, closed}</dt>
+<dd><p>The socket has been closed brutally without a close frame being received first.</p>
</dd>
-<dt class="hdlist1">
-{error, Reason}
-</dt>
-<dd>
-<p>
- A socket error ocurred.
-</p>
+<dt>{error, Reason}</dt>
+<dd><p>A socket error ocurred.</p>
</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_types">Types</h2>
-<div class="sectionbody">
-<div class="sect3">
<h4 id="_cow_ws_frame">cow_ws:frame()</h4>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">frame</span></span>() <span style="color: #990000">::</span> {<span style="color: #FF6600">text</span>, <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()}
- | {<span style="font-weight: bold"><span style="color: #000080">binary</span></span>, <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()}
- | <span style="color: #FF6600">ping</span> | {<span style="color: #FF6600">ping</span>, <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()}
- | <span style="color: #FF6600">pong</span> | {<span style="color: #FF6600">pong</span>, <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()}
- | <span style="color: #FF6600">close</span> | {<span style="color: #FF6600">close</span>, <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()} | {<span style="color: #FF6600">close</span>, <span style="font-weight: bold"><span style="color: #000000">close_code</span></span>(), <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()}
-
-<span style="font-weight: bold"><span style="color: #000000">close_code</span></span>() <span style="color: #990000">::</span> <span style="color: #993399">1000</span><span style="color: #990000">..</span><span style="color: #993399">1003</span> | <span style="color: #993399">1006</span><span style="color: #990000">..</span><span style="color: #993399">1011</span> | <span style="color: #993399">3000</span><span style="color: #990000">..</span><span style="color: #993399">4999</span></tt></pre></div></div>
-<div class="paragraph"><p>Websocket frames that can be sent as a response.</p></div>
-<div class="paragraph"><p>Note that there is no need to send pong frames back as
-Cowboy does it automatically for you.</p></div>
-</div>
-<div class="sect2">
+<pre><tt><b><font color="#000000">frame</font></b>() <font color="#990000">::</font> {<font color="#FF6600">text</font>, <b><font color="#000000">iodata</font></b>()}
+ | {<b><font color="#000080">binary</font></b>, <b><font color="#000000">iodata</font></b>()}
+ | <font color="#FF6600">ping</font> | {<font color="#FF6600">ping</font>, <b><font color="#000000">iodata</font></b>()}
+ | <font color="#FF6600">pong</font> | {<font color="#FF6600">pong</font>, <b><font color="#000000">iodata</font></b>()}
+ | <font color="#FF6600">close</font> | {<font color="#FF6600">close</font>, <b><font color="#000000">iodata</font></b>()} | {<font color="#FF6600">close</font>, <b><font color="#000000">close_code</font></b>(), <b><font color="#000000">iodata</font></b>()}
+
+<b><font color="#000000">close_code</font></b>() <font color="#990000">::</font> <font color="#993399">1000</font><font color="#990000">..</font><font color="#993399">1003</font> | <font color="#993399">1006</font><font color="#990000">..</font><font color="#993399">1011</font> | <font color="#993399">3000</font><font color="#990000">..</font><font color="#993399">4999</font></tt></pre>
+</div></div>
+<p>Websocket frames that can be sent as a response.</p>
+<p>Note that there is no need to send pong frames back as Cowboy does it automatically for you.</p>
<h3 id="_opts">opts()</h3>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">opts</span></span>() <span style="color: #990000">::</span> #{
- <span style="color: #0000FF">compress</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>(),
- <span style="color: #0000FF">idle_timeout</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>(),
- <span style="color: #0000FF">max_frame_size</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>() | <span style="color: #FF6600">infinity</span>,
- <span style="color: #0000FF">req_filter</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #0000FF">fun</span></span>((<span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) <span style="color: #990000">-&gt;</span> <span style="font-weight: bold"><span style="color: #000000">map</span></span>())
-}</tt></pre></div></div>
-<div class="paragraph"><p>Websocket handler options.</p></div>
-<div class="paragraph"><p>This configuration is passed to Cowboy from the <code>init/2</code>
-function:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+<pre><tt><b><font color="#000000">opts</font></b>() <font color="#990000">::</font> #{
+ <font color="#0000FF">compress</font> <font color="#990000">=&gt;</font> <b><font color="#000000">boolean</font></b>(),
+ <font color="#0000FF">idle_timeout</font> <font color="#990000">=&gt;</font> <b><font color="#000000">timeout</font></b>(),
+ <font color="#0000FF">max_frame_size</font> <font color="#990000">=&gt;</font> <b><font color="#000000">non_neg_integer</font></b>() | <font color="#FF6600">infinity</font>,
+ <font color="#0000FF">req_filter</font> <font color="#990000">=&gt;</font> <b><font color="#0000FF">fun</font></b>((<b><font color="#000000">cowboy_req:req</font></b>()) <font color="#990000">-&gt;</font> <b><font color="#000000">map</font></b>())
+}</tt></pre>
+</div></div>
+<p>Websocket handler options.</p>
+<p>This configuration is passed to Cowboy from the <code>init/2</code> function:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt><span style="font-weight: bold"><span style="color: #000000">init</span></span>(<span style="color: #009900">Req</span>, <span style="color: #009900">State</span>) <span style="color: #990000">-&gt;</span>
- <span style="color: #009900">Opts</span> <span style="color: #990000">=</span> #{<span style="color: #0000FF">compress</span> <span style="color: #990000">=&gt;</span> <span style="color: #000080">true</span>},
- {<span style="color: #FF6600">cowboy_websocket</span>, <span style="color: #009900">Req</span>, <span style="color: #009900">State</span>, <span style="color: #009900">Opts</span>}<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="paragraph"><p>The default value is given next to the option name:</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-compress (false)
-</dt>
-<dd>
-<p>
- Whether to enable the Websocket frame compression
- extension. Frames will only be compressed for the
- clients that support this extension.
-</p>
+<pre><tt><b><font color="#000000">init</font></b>(<font color="#009900">Req</font>, <font color="#009900">State</font>) <font color="#990000">-&gt;</font>
+ <font color="#009900">Opts</font> <font color="#990000">=</font> #{<font color="#0000FF">compress</font> <font color="#990000">=&gt;</font> <font color="#000080">true</font>},
+ {<font color="#FF6600">cowboy_websocket</font>, <font color="#009900">Req</font>, <font color="#009900">State</font>, <font color="#009900">Opts</font>}<font color="#990000">.</font></tt></pre>
+</div></div>
+<p>The default value is given next to the option name:</p>
+<dl><dt>compress (false)</dt>
+<dd><p>Whether to enable the Websocket frame compression extension. Frames will only be compressed for the clients that support this extension.</p>
</dd>
-<dt class="hdlist1">
-idle_timeout (60000)
-</dt>
-<dd>
-<p>
- Time in milliseconds that Cowboy will keep the
- connection open without receiving anything from
- the client.
-</p>
+<dt>idle_timeout (60000)</dt>
+<dd><p>Time in milliseconds that Cowboy will keep the connection open without receiving anything from the client.</p>
</dd>
-<dt class="hdlist1">
-max_frame_size (infinity)
-</dt>
-<dd>
-<p>
- Maximum frame size allowed by this Websocket
- handler. Cowboy will close the connection when
- a client attempts to send a frame that goes over
- this limit. For fragmented frames this applies
- to the size of the reconstituted frame.
-</p>
+<dt>max_frame_size (infinity)</dt>
+<dd><p>Maximum frame size allowed by this Websocket handler. Cowboy will close the connection when a client attempts to send a frame that goes over this limit. For fragmented frames this applies to the size of the reconstituted frame.</p>
</dd>
-<dt class="hdlist1">
-req_filter
-</dt>
-<dd>
-<p>
- A function applied to the Req to compact it and
- only keep required information. The Req is only
- given back in the <code>terminate/3</code> callback. By default
- it keeps the method, version, URI components and peer
- information.
-</p>
+<dt>req_filter</dt>
+<dd><p>A function applied to the Req to compact it and only keep required information. The Req is only given back in the <code>terminate/3</code> callback. By default it keeps the method, version, URI components and peer information.</p>
</dd>
-</dl></div>
-</div>
-</div>
-</div>
-<div class="sect1">
+</dl>
<h2 id="_changelog">Changelog</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>2.0</strong>: The Req object is no longer passed to Websocket callbacks.
-</p>
+<ul><li><strong>2.0</strong>: The Req object is no longer passed to Websocket callbacks.
</li>
-<li>
-<p>
-<strong>2.0</strong>: The callback <code>websocket_terminate/3</code> was removed in favor of <code>terminate/3</code>.
-</p>
+<li><strong>2.0</strong>: The callback <code>websocket_terminate/3</code> was removed in favor of <code>terminate/3</code>.
</li>
-<li>
-<p>
-<strong>1.0</strong>: Protocol introduced.
-</p>
+<li><strong>1.0</strong>: Protocol introduced.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="..">cowboy(7)</a>,
-<a href="../cowboy_handler">cowboy_handler(3)</a>,
-<a href="../cowboy_http">cowboy_http(3)</a>,
-<a href="../cowboy_http2">cowboy_http2(3)</a></p></div>
-</div>
-</div>
+<p><a href="..">cowboy(7)</a>, <a href="../cowboy_handler">cowboy_handler(3)</a>, <a href="../cowboy_http">cowboy_http(3)</a>, <a href="../cowboy_http2">cowboy_http2(3)</a></p>
+
diff --git a/docs/en/cowboy/2.4/manual/http_status_codes/index.html b/docs/en/cowboy/2.4/manual/http_status_codes/index.html
index e6d2cc5a..0d858a45 100644
--- a/docs/en/cowboy/2.4/manual/http_status_codes/index.html
+++ b/docs/en/cowboy/2.4/manual/http_status_codes/index.html
@@ -62,271 +62,92 @@
<h1 class="lined-header"><span>HTTP status codes(7)</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>HTTP status codes - status codes used by Cowboy</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>HTTP status codes - status codes used by Cowboy</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This chapter aims to list all HTTP status codes that Cowboy
-may return, with details on the reasons why. The list given
-here only includes the replies that Cowboy sends, not user
-replies.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This chapter aims to list all HTTP status codes that Cowboy may return, with details on the reasons why. The list given here only includes the replies that Cowboy sends, not user replies.</p>
<h2 id="_100_continue">100 Continue</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>When the client sends an <code>expect: 100-continue</code> header,
-Cowboy automatically sends a this status code before
-trying to read the request body. This behavior can be
-disabled using the appropriate body option.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>When the client sends an <code>expect: 100-continue</code> header, Cowboy automatically sends a this status code before trying to read the request body. This behavior can be disabled using the appropriate body option.</p>
<h2 id="_101_switching_protocols">101 Switching Protocols</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This is the status code sent when switching to the
-Websocket protocol.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This is the status code sent when switching to the Websocket protocol.</p>
<h2 id="_200_ok">200 OK</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent by <code>cowboy_rest</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_201_created">201 Created</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent by <code>cowboy_rest</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_202_accepted">202 Accepted</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent by <code>cowboy_rest</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_204_no_content">204 No Content</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent when the processing of a request
-ends without any reply having been sent. It may also be
-sent by <code>cowboy_rest</code> under normal conditions.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent when the processing of a request ends without any reply having been sent. It may also be sent by <code>cowboy_rest</code> under normal conditions.</p>
<h2 id="_300_multiple_choices">300 Multiple Choices</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent by <code>cowboy_rest</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_301_moved_permanently">301 Moved Permanently</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent by <code>cowboy_rest</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_303_see_other">303 See Other</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent by <code>cowboy_rest</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_304_not_modified">304 Not Modified</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent by <code>cowboy_rest</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_307_temporary_redirect">307 Temporary Redirect</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent by <code>cowboy_rest</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_400_bad_request">400 Bad Request</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Cowboy will send this status code for any of the
-following reasons:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-Too many empty lines were sent before the request.
-</p>
+<p>Cowboy will send this status code for any of the following reasons:</p>
+<ul><li>Too many empty lines were sent before the request.
</li>
-<li>
-<p>
-The request-line could not be parsed.
-</p>
+<li>The request-line could not be parsed.
</li>
-<li>
-<p>
-Too many headers were sent.
-</p>
+<li>Too many headers were sent.
</li>
-<li>
-<p>
-A header name was too long.
-</p>
+<li>A header name was too long.
</li>
-<li>
-<p>
-A header value was too long.
-</p>
+<li>A header value was too long.
</li>
-<li>
-<p>
-The host header was missing from an HTTP/1.1 request.
-</p>
+<li>The host header was missing from an HTTP/1.1 request.
</li>
-<li>
-<p>
-The host header could not be parsed.
-</p>
+<li>The host header could not be parsed.
</li>
-<li>
-<p>
-The requested host was not found.
-</p>
+<li>The requested host was not found.
</li>
-<li>
-<p>
-The requested path could not be parsed.
-</p>
+<li>The requested path could not be parsed.
</li>
-<li>
-<p>
-The accept header could not be parsed when using REST.
-</p>
+<li>The accept header could not be parsed when using REST.
</li>
-<li>
-<p>
-REST under normal conditions.
-</p>
+<li>REST under normal conditions.
</li>
-<li>
-<p>
-A Websocket upgrade failed.
-</p>
+<li>A Websocket upgrade failed.
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
<h2 id="_401_unauthorized">401 Unauthorized</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent by <code>cowboy_rest</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_403_forbidden">403 Forbidden</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent by <code>cowboy_rest</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_404_not_found">404 Not Found</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent when the router successfully
-resolved the host but didn&#8217;t find a matching path for
-the request. It may also be sent by <code>cowboy_rest</code> under
-normal conditions.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent when the router successfully resolved the host but didn&apos;t find a matching path for the request. It may also be sent by <code>cowboy_rest</code> under normal conditions.</p>
<h2 id="_405_method_not_allowed">405 Method Not Allowed</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent by <code>cowboy_rest</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_406_not_acceptable">406 Not Acceptable</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent by <code>cowboy_rest</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_408_request_timeout">408 Request Timeout</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Cowboy will send this status code to the client if the
-client started to send a request, indicated by the
-request-line being received fully, but failed to send
-all headers in a reasonable time.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>Cowboy will send this status code to the client if the client started to send a request, indicated by the request-line being received fully, but failed to send all headers in a reasonable time.</p>
<h2 id="_409_conflict">409 Conflict</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent by <code>cowboy_rest</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_410_gone">410 Gone</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent by <code>cowboy_rest</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_412_precondition_failed">412 Precondition Failed</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent by <code>cowboy_rest</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_413_request_entity_too_large">413 Request Entity Too Large</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent by <code>cowboy_rest</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_414_request_uri_too_long">414 Request-URI Too Long</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Cowboy will send this status code to the client if the
-request-line is too long. It may also be sent by
-<code>cowboy_rest</code> under normal conditions.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>Cowboy will send this status code to the client if the request-line is too long. It may also be sent by <code>cowboy_rest</code> under normal conditions.</p>
<h2 id="_415_unsupported_media_type">415 Unsupported Media Type</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent by <code>cowboy_rest</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_500_internal_server_error">500 Internal Server Error</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent when a crash occurs in HTTP, loop
-or REST handlers, or when an invalid return value is
-returned. It may also be sent by <code>cowboy_rest</code> under
-normal conditions.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent when a crash occurs in HTTP, loop or REST handlers, or when an invalid return value is returned. It may also be sent by <code>cowboy_rest</code> under normal conditions.</p>
<h2 id="_501_not_implemented">501 Not Implemented</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent by <code>cowboy_rest</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_503_service_unavailable">503 Service Unavailable</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This status code is sent by <code>cowboy_rest</code>.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_505_http_version_not_supported">505 HTTP Version Not Supported</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Cowboy only supports the versions 1.0 and 1.1 of HTTP.
-In all other cases this status code is sent back to the
-client and the connection is closed.</p></div>
-</div>
-</div>
+<p>Cowboy only supports the versions 1.0 and 1.1 of HTTP. In all other cases this status code is sent back to the client and the connection is closed.</p>
+
diff --git a/docs/en/cowboy/2.4/manual/index.html b/docs/en/cowboy/2.4/manual/index.html
index 78e44814..91caacbe 100644
--- a/docs/en/cowboy/2.4/manual/index.html
+++ b/docs/en/cowboy/2.4/manual/index.html
@@ -62,171 +62,77 @@
<h1 class="lined-header"><span>Cowboy Function Reference</span></h1>
-<div class="sect1">
<h2 id="_name">Name</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>cowboy - Small, fast, modern HTTP server for Erlang/OTP</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>cowboy - Small, fast, modern HTTP server for Erlang/OTP</p>
<h2 id="_description">Description</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Cowboy is an HTTP server for Erlang/OTP with support for the
-HTTP/1.1, HTTP/2 and Websocket protocols.</p></div>
-<div class="paragraph"><p>Cowboy aims to provide a complete HTTP stack. This includes
-the implementation of the HTTP RFCs but also any directly
-related standards, like Websocket or Server-Sent Events.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>Cowboy is an HTTP server for Erlang/OTP with support for the HTTP/1.1, HTTP/2 and Websocket protocols.</p>
+<p>Cowboy aims to provide a complete HTTP stack. This includes the implementation of the HTTP RFCs but also any directly related standards, like Websocket or Server-Sent Events.</p>
<h2 id="_modules">Modules</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Functions:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="cowboy">cowboy(3)</a> - Listener management
-</p>
+<p>Functions:</p>
+<ul><li><a href="cowboy">cowboy(3)</a> - Listener management
</li>
-<li>
-<p>
-<a href="cowboy_req">cowboy_req(3)</a> - Request and response
-</p>
+<li><a href="cowboy_req">cowboy_req(3)</a> - Request and response
</li>
-<li>
-<p>
-<a href="cowboy_router">cowboy_router(3)</a> - Router
-</p>
+<li><a href="cowboy_router">cowboy_router(3)</a> - Router
</li>
-<li>
-<p>
-<a href="cowboy_constraints">cowboy_constraints(3)</a> - Constraints
-</p>
+<li><a href="cowboy_constraints">cowboy_constraints(3)</a> - Constraints
</li>
-</ul></div>
-<div class="paragraph"><p>Protocols:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="cowboy_http">cowboy_http(3)</a> - HTTP/1.1
-</p>
+</ul>
+<p>Protocols:</p>
+<ul><li><a href="cowboy_http">cowboy_http(3)</a> - HTTP/1.1
</li>
-<li>
-<p>
-<a href="cowboy_http2">cowboy_http2(3)</a> - HTTP/2
-</p>
+<li><a href="cowboy_http2">cowboy_http2(3)</a> - HTTP/2
</li>
-<li>
-<p>
-<a href="cowboy_websocket">cowboy_websocket(3)</a> - Websocket
-</p>
+<li><a href="cowboy_websocket">cowboy_websocket(3)</a> - Websocket
</li>
-</ul></div>
-<div class="paragraph"><p>Handlers:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="cowboy_static">cowboy_static(3)</a> - Static file handler
-</p>
+</ul>
+<p>Handlers:</p>
+<ul><li><a href="cowboy_static">cowboy_static(3)</a> - Static file handler
</li>
-</ul></div>
-<div class="paragraph"><p>Behaviors:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="cowboy_handler">cowboy_handler(3)</a> - Plain HTTP handlers
-</p>
+</ul>
+<p>Behaviors:</p>
+<ul><li><a href="cowboy_handler">cowboy_handler(3)</a> - Plain HTTP handlers
</li>
-<li>
-<p>
-<a href="cowboy_loop">cowboy_loop(3)</a> - Loop handlers
-</p>
+<li><a href="cowboy_loop">cowboy_loop(3)</a> - Loop handlers
</li>
-<li>
-<p>
-<a href="cowboy_middleware">cowboy_middleware(3)</a> - Middlewares
-</p>
+<li><a href="cowboy_middleware">cowboy_middleware(3)</a> - Middlewares
</li>
-<li>
-<p>
-<a href="cowboy_rest">cowboy_rest(3)</a> - REST handlers
-</p>
+<li><a href="cowboy_rest">cowboy_rest(3)</a> - REST handlers
</li>
-<li>
-<p>
-<a href="cowboy_stream">cowboy_stream(3)</a> - Stream handlers
-</p>
+<li><a href="cowboy_stream">cowboy_stream(3)</a> - Stream handlers
</li>
-<li>
-<p>
-<a href="cowboy_websocket">cowboy_websocket(3)</a> - Websocket handlers
-</p>
+<li><a href="cowboy_websocket">cowboy_websocket(3)</a> - Websocket handlers
</li>
-</ul></div>
-<div class="paragraph"><p>Middlewares:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="cowboy_router">cowboy_router(3)</a> - Router middleware
-</p>
+</ul>
+<p>Middlewares:</p>
+<ul><li><a href="cowboy_router">cowboy_router(3)</a> - Router middleware
</li>
-<li>
-<p>
-<a href="cowboy_handler">cowboy_handler(3)</a> - Handler middleware
-</p>
+<li><a href="cowboy_handler">cowboy_handler(3)</a> - Handler middleware
</li>
-</ul></div>
-</div>
-</div>
-<div class="sect1">
+</ul>
+<!-- @todo http_status_codes is not linked to; what to do with it?-->
<h2 id="_dependencies">Dependencies</h2>
-<div class="sectionbody">
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="ranch_app">ranch(7)</a> - Socket acceptor pool for TCP protocols
-</p>
+<ul><li><a href="ranch_app">ranch(7)</a> - Socket acceptor pool for TCP protocols
</li>
-<li>
-<p>
-<a href="cowlib_app">cowlib(7)</a> - Support library for manipulating Web protocols
-</p>
+<li><a href="cowlib_app">cowlib(7)</a> - Support library for manipulating Web protocols
</li>
-<li>
-<p>
-ssl - Secure communication over sockets
-</p>
+<li>ssl - Secure communication over sockets
</li>
-<li>
-<p>
-crypto - Crypto functions
-</p>
+<li>crypto - Crypto functions
</li>
-</ul></div>
-<div class="paragraph"><p>All these applications must be started before the <code>cowboy</code>
-application. To start Cowboy and all dependencies at once:</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight
+</ul>
+<p>All these applications must be started before the <code>cowboy</code> application. To start Cowboy and all dependencies at once:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #FF6600">ok</span>, <span style="color: #990000">_</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">application:ensure_all_started</span></span>(<span style="color: #FF6600">cowboy</span>)<span style="color: #990000">.</span></tt></pre></div></div>
-</div>
-</div>
-<div class="sect1">
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#990000">_</font>} <font color="#990000">=</font> <b><font color="#000000">application:ensure_all_started</font></b>(<font color="#FF6600">cowboy</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
<h2 id="_environment">Environment</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The <code>cowboy</code> application does not define any application
-environment configuration parameters.</p></div>
-</div>
-</div>
-<div class="sect1">
+<p>The <code>cowboy</code> application does not define any application environment configuration parameters.</p>
<h2 id="_see_also">See also</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><a href="ranch_app">ranch(7)</a>,
-<a href="cowlib_app">cowlib(7)</a></p></div>
-</div>
-</div>
+<p><a href="ranch_app">ranch(7)</a>, <a href="cowlib_app">cowlib(7)</a></p>
+