summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--_build/Makefile36
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy/index.html2
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_handler/index.html2
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_http/index.html2
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_http2/index.html2
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_loop/index.html2
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_middleware/index.html2
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req/index.html2
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_rest/index.html2
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_router/index.html2
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_static/index.html2
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_websocket/index.html2
-rw-r--r--docs/en/cowboy/2.0/manual/index.html290
-rw-r--r--docs/index.xml294
14 files changed, 203 insertions, 439 deletions
diff --git a/_build/Makefile b/_build/Makefile
index 984b2348..6eb90336 100644
--- a/_build/Makefile
+++ b/_build/Makefile
@@ -68,11 +68,19 @@ docs-$1-$2: tmp/$1
printf "%s\n" "+++" "title = \"`sed 's/\(.\)/\U\1/' <<< $1` Function Reference\"" \
"project = \"$1\"" "version = \"$3\"" "doctype = \"manual\"" "+++" "" \
> content/docs/en/$1/$3/manual.asciidoc; \
- for f in `ls tmp/$1/doc/src/manual/*.asciidoc | sort`; do \
- echo -n "* link:`basename $$$$f .asciidoc`[" >> content/docs/en/$1/$3/manual.asciidoc; \
- echo -n `sed -En '0,/^= / s/= (.*)/\1/ p' $$$$f` >> content/docs/en/$1/$3/manual.asciidoc; \
- echo "]" >> content/docs/en/$1/$3/manual.asciidoc; \
- done; \
+ if [ "$1" = "cowboy" ]; then \
+ sed '1,/^$$$$/d' tmp/$1/doc/src/manual/$1_app.asciidoc | sed 's/xref:/link:..\//' \
+ | sed 's/link:man:[a-z0-9_]*(7)/link:\/docs/' \
+ | sed 's/\(link:man:[a-z0-9_]*\):/\1./' \
+ | sed 's/link:man:\([a-z0-9_.]*\)[1-9()]*/link:\1/' \
+ >> content/docs/en/$1/$3/manual.asciidoc; \
+ else \
+ for f in `ls tmp/$1/doc/src/manual/*.asciidoc | sort`; do \
+ echo -n "* link:`basename $$$$f .asciidoc`[" >> content/docs/en/$1/$3/manual.asciidoc; \
+ echo -n `sed -En '0,/^= / s/= (.*)/\1/ p' $$$$f` >> content/docs/en/$1/$3/manual.asciidoc; \
+ echo "]" >> content/docs/en/$1/$3/manual.asciidoc; \
+ done; \
+ fi; \
for f in tmp/$1/doc/src/manual/*.asciidoc; do \
printf "%s\n" "+++" "project = \"$1\"" "version = \"$3\"" "doctype = \"manual\"" \
> content/docs/en/$1/$3/manual/`basename $$$$f`; \
@@ -81,11 +89,19 @@ docs-$1-$2: tmp/$1
echo "\"" >> content/docs/en/$1/$3/manual/`basename $$$$f`; \
echo "+++" >> content/docs/en/$1/$3/manual/`basename $$$$f`; \
echo >> content/docs/en/$1/$3/manual/`basename $$$$f`; \
- sed '1,/^$$$$/d' $$$$f | sed 's/xref:/link:..\//' \
- | sed 's/link:man:$1(7)/link:..\/$1_app/' \
- | sed 's/\(link:man:[a-z0-9_]*\):/\1./' \
- | sed 's/link:man:\([a-z0-9_.]*\)[1-9()]*/link:..\/\1/' \
- >> content/docs/en/$1/$3/manual/`basename $$$$f`; \
+ if [ "$1" = "cowboy" ]; then \
+ sed '1,/^$$$$/d' $$$$f | sed 's/xref:/link:..\//' \
+ | sed 's/link:man:$1(7)/link:../' \
+ | sed 's/\(link:man:[a-z0-9_]*\):/\1./' \
+ | sed 's/link:man:\([a-z0-9_.]*\)[1-9()]*/link:..\/\1/' \
+ >> content/docs/en/$1/$3/manual/`basename $$$$f`; \
+ else \
+ sed '1,/^$$$$/d' $$$$f | sed 's/xref:/link:..\//' \
+ | sed 's/link:man:$1(7)/link:..\/$1_app/' \
+ | sed 's/\(link:man:[a-z0-9_]*\):/\1./' \
+ | sed 's/link:man:\([a-z0-9_.]*\)[1-9()]*/link:..\/\1/' \
+ >> content/docs/en/$1/$3/manual/`basename $$$$f`; \
+ fi \
done \
fi
diff --git a/docs/en/cowboy/2.0/manual/cowboy/index.html b/docs/en/cowboy/2.0/manual/cowboy/index.html
index 0daef95f..fb306ef9 100644
--- a/docs/en/cowboy/2.0/manual/cowboy/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy/index.html
@@ -191,7 +191,7 @@ and the Websocket options in
<div class="sect1">
<h2 id="_see_also">See also</h2>
<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_app">cowboy(7)</a>,
+<div class="paragraph"><p><a href="..">cowboy(7)</a>,
<a href="../ranch">ranch(3)</a></p></div>
</div>
</div>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_handler/index.html b/docs/en/cowboy/2.0/manual/cowboy_handler/index.html
index 17164fc5..a6df1dd7 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_handler/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_handler/index.html
@@ -156,7 +156,7 @@ custom handlers to execute the optional terminate callback:</p></div>
<div class="sect1">
<h2 id="_see_also">See also</h2>
<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_app">cowboy(7)</a></p></div>
+<div class="paragraph"><p><a href="..">cowboy(7)</a></p></div>
</div>
</div>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_http/index.html b/docs/en/cowboy/2.0/manual/cowboy_http/index.html
index c98095d9..d6cc0e87 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_http/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_http/index.html
@@ -233,7 +233,7 @@ request_timeout (5000)
<div class="sect1">
<h2 id="_see_also">See also</h2>
<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_app">cowboy(7)</a>,
+<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>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_http2/index.html b/docs/en/cowboy/2.0/manual/cowboy_http2/index.html
index 3824a0ff..a273df01 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_http2/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_http2/index.html
@@ -145,7 +145,7 @@ preface_timeout (5000)
<div class="sect1">
<h2 id="_see_also">See also</h2>
<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_app">cowboy(7)</a>,
+<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>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_loop/index.html b/docs/en/cowboy/2.0/manual/cowboy_loop/index.html
index 5882a278..0011d461 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_loop/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_loop/index.html
@@ -191,7 +191,7 @@ timeout
<div class="sect1">
<h2 id="_see_also">See also</h2>
<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_app">cowboy(7)</a>,
+<div class="paragraph"><p><a href="..">cowboy(7)</a>,
<a href="../cowboy_handler">cowboy_handler(3)</a></p></div>
</div>
</div>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_middleware/index.html b/docs/en/cowboy/2.0/manual/cowboy_middleware/index.html
index 2a78e5b6..1c6311d1 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_middleware/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_middleware/index.html
@@ -175,7 +175,7 @@ contains the name of the listener for this connection.</p></div>
<div class="sect1">
<h2 id="_see_also">See also</h2>
<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_app">cowboy(7)</a></p></div>
+<div class="paragraph"><p><a href="..">cowboy(7)</a></p></div>
</div>
</div>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req/index.html b/docs/en/cowboy/2.0/manual/cowboy_req/index.html
index 744ea672..5215a154 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req/index.html
@@ -434,7 +434,7 @@ content-length header.</p></div>
<div class="sect1">
<h2 id="_see_also">See also</h2>
<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_app">cowboy(7)</a></p></div>
+<div class="paragraph"><p><a href="..">cowboy(7)</a></p></div>
</div>
</div>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_rest/index.html b/docs/en/cowboy/2.0/manual/cowboy_rest/index.html
index 1ca3844b..ec5a2761 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_rest/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_rest/index.html
@@ -703,7 +703,7 @@ accept-language headers when necessary.</p></div>
<div class="sect1">
<h2 id="_see_also">See also</h2>
<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_app">cowboy(7)</a>,
+<div class="paragraph"><p><a href="..">cowboy(7)</a>,
<a href="../cowboy_handler">cowboy_handler(3)</a></p></div>
</div>
</div>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_router/index.html b/docs/en/cowboy/2.0/manual/cowboy_router/index.html
index 415b178f..47996cad 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_router/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_router/index.html
@@ -166,7 +166,7 @@ using the <code>...</code> syntax.</p></div>
<div class="sect1">
<h2 id="_see_also">See also</h2>
<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_app">cowboy(7)</a>,
+<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>,
diff --git a/docs/en/cowboy/2.0/manual/cowboy_static/index.html b/docs/en/cowboy/2.0/manual/cowboy_static/index.html
index a3c1d750..2410bd9f 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_static/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_static/index.html
@@ -234,7 +234,7 @@ http://www.gnu.org/software/src-highlite -->
<div class="sect1">
<h2 id="_see_also">See also</h2>
<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_app">cowboy(7)</a>,
+<div class="paragraph"><p><a href="..">cowboy(7)</a>,
<a href="../cowboy_router">cowboy_router(3)</a></p></div>
</div>
</div>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_websocket/index.html b/docs/en/cowboy/2.0/manual/cowboy_websocket/index.html
index 1d426ebd..7c87a896 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_websocket/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_websocket/index.html
@@ -303,7 +303,7 @@ timeout
<div class="sect1">
<h2 id="_see_also">See also</h2>
<div class="sectionbody">
-<div class="paragraph"><p><a href="../cowboy_app">cowboy(7)</a>,
+<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>
diff --git a/docs/en/cowboy/2.0/manual/index.html b/docs/en/cowboy/2.0/manual/index.html
index 0f967f61..0bb0704d 100644
--- a/docs/en/cowboy/2.0/manual/index.html
+++ b/docs/en/cowboy/2.0/manual/index.html
@@ -69,288 +69,162 @@
<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">
+<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">
+<h2 id="_modules">Modules</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Functions:</p></div>
<div class="ulist"><ul>
<li>
<p>
-<a href="cowboy_app">cowboy(7)</a>
+<a href="cowboy">cowboy(3)</a> - Listener management
</p>
</li>
<li>
<p>
-<a href="cowboy">cowboy(3)</a>
+<a href="cowboy_req">cowboy_req(3)</a> - Request and response
</p>
</li>
<li>
<p>
-<a href="cowboy_handler">cowboy_handler(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_handler.terminate">cowboy_handler:terminate(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_http2">cowboy_http2(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_http">cowboy_http(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_loop">cowboy_loop(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_middleware">cowboy_middleware(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req">cowboy_req(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.binding">cowboy_req:binding(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.bindings">cowboy_req:bindings(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.body_length">cowboy_req:body_length(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.delete_resp_header">cowboy_req:delete_resp_header(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.has_body">cowboy_req:has_body(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.has_resp_body">cowboy_req:has_resp_body(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.has_resp_header">cowboy_req:has_resp_header(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.header">cowboy_req:header(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.headers">cowboy_req:headers(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.host">cowboy_req:host(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.host_info">cowboy_req:host_info(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.match_cookies">cowboy_req:match_cookies(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.match_qs">cowboy_req:match_qs(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.method">cowboy_req:method(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.parse_cookies">cowboy_req:parse_cookies(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.parse_header">cowboy_req:parse_header(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.parse_qs">cowboy_req:parse_qs(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.path">cowboy_req:path(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.path_info">cowboy_req:path_info(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.peer">cowboy_req:peer(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.port">cowboy_req:port(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.push">cowboy_req:push(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.qs">cowboy_req:qs(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.read_body">cowboy_req:read_body(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.read_part">cowboy_req:read_part(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.read_part_body">cowboy_req:read_part_body(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.read_urlencoded_body">cowboy_req:read_urlencoded_body(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.reply">cowboy_req:reply(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.scheme">cowboy_req:scheme(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.set_resp_body">cowboy_req:set_resp_body(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.set_resp_cookie">cowboy_req:set_resp_cookie(3)</a>
-</p>
-</li>
-<li>
-<p>
-<a href="cowboy_req.set_resp_header">cowboy_req:set_resp_header(3)</a>
+<a href="cowboy_router">cowboy_router(3)</a> - Router
</p>
</li>
+</ul></div>
+<div class="paragraph"><p>Protocols:</p></div>
+<div class="ulist"><ul>
<li>
<p>
-<a href="cowboy_req.stream_body">cowboy_req:stream_body(3)</a>
+<a href="cowboy_http">cowboy_http(3)</a> - HTTP/1.1
</p>
</li>
<li>
<p>
-<a href="cowboy_req.stream_reply">cowboy_req:stream_reply(3)</a>
+<a href="cowboy_http2">cowboy_http2(3)</a> - HTTP/2
</p>
</li>
<li>
<p>
-<a href="cowboy_req.uri">cowboy_req:uri(3)</a>
+<a href="cowboy_websocket">cowboy_websocket(3)</a> - Websocket
</p>
</li>
+</ul></div>
+<div class="paragraph"><p>Handlers:</p></div>
+<div class="ulist"><ul>
<li>
<p>
-<a href="cowboy_req.version">cowboy_req:version(3)</a>
+<a href="cowboy_static">cowboy_static(3)</a> - Static file handler
</p>
</li>
+</ul></div>
+<div class="paragraph"><p>Behaviors:</p></div>
+<div class="ulist"><ul>
<li>
<p>
-<a href="cowboy_rest">cowboy_rest(3)</a>
+<a href="cowboy_handler">cowboy_handler(3)</a> - Plain HTTP handlers
</p>
</li>
<li>
<p>
-<a href="cowboy_router">cowboy_router(3)</a>
+<a href="cowboy_loop">cowboy_loop(3)</a> - Loop handlers
</p>
</li>
<li>
<p>
-<a href="cowboy_router.compile">cowboy_router:compile(3)</a>
+<a href="cowboy_middleware">cowboy_middleware(3)</a> - Middlewares
</p>
</li>
<li>
<p>
-<a href="cowboy.set_env">cowboy:set_env(3)</a>
+<a href="cowboy_rest">cowboy_rest(3)</a> - REST handlers
+
</p>
</li>
<li>
<p>
-<a href="cowboy.start_clear">cowboy:start_clear(3)</a>
+<a href="cowboy_websocket">cowboy_websocket(3)</a> - Websocket handlers
</p>
</li>
+</ul></div>
+<div class="paragraph"><p>Middlewares:</p></div>
+<div class="ulist"><ul>
<li>
<p>
-<a href="cowboy.start_tls">cowboy:start_tls(3)</a>
+<a href="cowboy_router">cowboy_router(3)</a> - Router middleware
</p>
</li>
<li>
<p>
-<a href="cowboy_static">cowboy_static(3)</a>
+<a href="cowboy_handler">cowboy_handler(3)</a> - Handler middleware
</p>
</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_dependencies">Dependencies</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
<li>
<p>
-<a href="cowboy.stop_listener">cowboy:stop_listener(3)</a>
+<a href="/docs">ranch(7)</a> - Socket acceptor pool for TCP protocols
</p>
</li>
<li>
<p>
-<a href="cowboy_sub_protocol">cowboy_sub_protocol(3)</a>
+<a href="/docs">cowlib(7)</a> - Support library for manipulating Web protocols
</p>
</li>
<li>
<p>
-<a href="cowboy_websocket">cowboy_websocket(3)</a>
+ssl - Secure communication over sockets
</p>
</li>
<li>
<p>
-<a href="http_status_codes">HTTP status codes(7)</a>
+crypto - Crypto functions
</p>
</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 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">
+<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">
+<h2 id="_see_also">See also</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><a href="/docs">ranch(7)</a>,
+<a href="/docs">cowlib(7)</a></p></div>
+</div>
+</div>
diff --git a/docs/index.xml b/docs/index.xml
index 994f3669..09ef6b82 100644
--- a/docs/index.xml
+++ b/docs/index.xml
@@ -14,288 +14,162 @@
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://ninenines.eu/docs/en/cowboy/2.0/manual/</guid>
- <description>&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_app&#34;&gt;cowboy(7)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy&#34;&gt;cowboy(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_handler&#34;&gt;cowboy_handler(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_handler.terminate&#34;&gt;cowboy_handler:terminate(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_http2&#34;&gt;cowboy_http2(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_http&#34;&gt;cowboy_http(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_loop&#34;&gt;cowboy_loop(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_middleware&#34;&gt;cowboy_middleware(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req&#34;&gt;cowboy_req(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.binding&#34;&gt;cowboy_req:binding(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.bindings&#34;&gt;cowboy_req:bindings(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.body_length&#34;&gt;cowboy_req:body_length(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.delete_resp_header&#34;&gt;cowboy_req:delete_resp_header(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.has_body&#34;&gt;cowboy_req:has_body(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.has_resp_body&#34;&gt;cowboy_req:has_resp_body(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.has_resp_header&#34;&gt;cowboy_req:has_resp_header(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.header&#34;&gt;cowboy_req:header(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.headers&#34;&gt;cowboy_req:headers(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.host&#34;&gt;cowboy_req:host(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.host_info&#34;&gt;cowboy_req:host_info(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.match_cookies&#34;&gt;cowboy_req:match_cookies(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.match_qs&#34;&gt;cowboy_req:match_qs(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.method&#34;&gt;cowboy_req:method(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.parse_cookies&#34;&gt;cowboy_req:parse_cookies(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.parse_header&#34;&gt;cowboy_req:parse_header(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.parse_qs&#34;&gt;cowboy_req:parse_qs(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.path&#34;&gt;cowboy_req:path(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.path_info&#34;&gt;cowboy_req:path_info(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.peer&#34;&gt;cowboy_req:peer(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.port&#34;&gt;cowboy_req:port(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.push&#34;&gt;cowboy_req:push(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.qs&#34;&gt;cowboy_req:qs(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.read_body&#34;&gt;cowboy_req:read_body(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.read_part&#34;&gt;cowboy_req:read_part(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.read_part_body&#34;&gt;cowboy_req:read_part_body(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.read_urlencoded_body&#34;&gt;cowboy_req:read_urlencoded_body(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.reply&#34;&gt;cowboy_req:reply(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;
-&lt;a href=&#34;cowboy_req.scheme&#34;&gt;cowboy_req:scheme(3)&lt;/a&gt;
-&lt;/p&gt;
-&lt;/li&gt;
+ <description>&lt;div class=&#34;sect1&#34;&gt;
+&lt;h2 id=&#34;_name&#34;&gt;Name&lt;/h2&gt;
+&lt;div class=&#34;sectionbody&#34;&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;cowboy - Small, fast, modern HTTP server for Erlang/OTP&lt;/p&gt;&lt;/div&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;div class=&#34;sect1&#34;&gt;
+&lt;h2 id=&#34;_description&#34;&gt;Description&lt;/h2&gt;
+&lt;div class=&#34;sectionbody&#34;&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Cowboy is an HTTP server for Erlang/OTP with support for the
+HTTP/1.1, HTTP/2 and Websocket protocols.&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/div&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;div class=&#34;sect1&#34;&gt;
+&lt;h2 id=&#34;_modules&#34;&gt;Modules&lt;/h2&gt;
+&lt;div class=&#34;sectionbody&#34;&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Functions:&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
-&lt;a href=&#34;cowboy_req.set_resp_body&#34;&gt;cowboy_req:set_resp_body(3)&lt;/a&gt;
+&lt;a href=&#34;cowboy&#34;&gt;cowboy(3)&lt;/a&gt; - Listener management
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
-&lt;a href=&#34;cowboy_req.set_resp_cookie&#34;&gt;cowboy_req:set_resp_cookie(3)&lt;/a&gt;
+&lt;a href=&#34;cowboy_req&#34;&gt;cowboy_req(3)&lt;/a&gt; - Request and response
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
-&lt;a href=&#34;cowboy_req.set_resp_header&#34;&gt;cowboy_req:set_resp_header(3)&lt;/a&gt;
+&lt;a href=&#34;cowboy_router&#34;&gt;cowboy_router(3)&lt;/a&gt; - Router
&lt;/p&gt;
&lt;/li&gt;
+&lt;/ul&gt;&lt;/div&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Protocols:&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
-&lt;a href=&#34;cowboy_req.stream_body&#34;&gt;cowboy_req:stream_body(3)&lt;/a&gt;
+&lt;a href=&#34;cowboy_http&#34;&gt;cowboy_http(3)&lt;/a&gt; - HTTP/1.1
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
-&lt;a href=&#34;cowboy_req.stream_reply&#34;&gt;cowboy_req:stream_reply(3)&lt;/a&gt;
+&lt;a href=&#34;cowboy_http2&#34;&gt;cowboy_http2(3)&lt;/a&gt; - HTTP/2
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
-&lt;a href=&#34;cowboy_req.uri&#34;&gt;cowboy_req:uri(3)&lt;/a&gt;
+&lt;a href=&#34;cowboy_websocket&#34;&gt;cowboy_websocket(3)&lt;/a&gt; - Websocket
&lt;/p&gt;
&lt;/li&gt;
+&lt;/ul&gt;&lt;/div&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Handlers:&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
-&lt;a href=&#34;cowboy_req.version&#34;&gt;cowboy_req:version(3)&lt;/a&gt;
+&lt;a href=&#34;cowboy_static&#34;&gt;cowboy_static(3)&lt;/a&gt; - Static file handler
&lt;/p&gt;
&lt;/li&gt;
+&lt;/ul&gt;&lt;/div&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Behaviors:&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
-&lt;a href=&#34;cowboy_rest&#34;&gt;cowboy_rest(3)&lt;/a&gt;
+&lt;a href=&#34;cowboy_handler&#34;&gt;cowboy_handler(3)&lt;/a&gt; - Plain HTTP handlers
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
-&lt;a href=&#34;cowboy_router&#34;&gt;cowboy_router(3)&lt;/a&gt;
+&lt;a href=&#34;cowboy_loop&#34;&gt;cowboy_loop(3)&lt;/a&gt; - Loop handlers
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
-&lt;a href=&#34;cowboy_router.compile&#34;&gt;cowboy_router:compile(3)&lt;/a&gt;
+&lt;a href=&#34;cowboy_middleware&#34;&gt;cowboy_middleware(3)&lt;/a&gt; - Middlewares
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
-&lt;a href=&#34;cowboy.set_env&#34;&gt;cowboy:set_env(3)&lt;/a&gt;
+&lt;a href=&#34;cowboy_rest&#34;&gt;cowboy_rest(3)&lt;/a&gt; - REST handlers
+
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
-&lt;a href=&#34;cowboy.start_clear&#34;&gt;cowboy:start_clear(3)&lt;/a&gt;
+&lt;a href=&#34;cowboy_websocket&#34;&gt;cowboy_websocket(3)&lt;/a&gt; - Websocket handlers
&lt;/p&gt;
&lt;/li&gt;
+&lt;/ul&gt;&lt;/div&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Middlewares:&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
-&lt;a href=&#34;cowboy.start_tls&#34;&gt;cowboy:start_tls(3)&lt;/a&gt;
+&lt;a href=&#34;cowboy_router&#34;&gt;cowboy_router(3)&lt;/a&gt; - Router middleware
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
-&lt;a href=&#34;cowboy_static&#34;&gt;cowboy_static(3)&lt;/a&gt;
+&lt;a href=&#34;cowboy_handler&#34;&gt;cowboy_handler(3)&lt;/a&gt; - Handler middleware
&lt;/p&gt;
&lt;/li&gt;
+&lt;/ul&gt;&lt;/div&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;div class=&#34;sect1&#34;&gt;
+&lt;h2 id=&#34;_dependencies&#34;&gt;Dependencies&lt;/h2&gt;
+&lt;div class=&#34;sectionbody&#34;&gt;
+&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
-&lt;a href=&#34;cowboy.stop_listener&#34;&gt;cowboy:stop_listener(3)&lt;/a&gt;
+&lt;a href=&#34;https://ninenines.eu/docs&#34;&gt;ranch(7)&lt;/a&gt; - Socket acceptor pool for TCP protocols
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
-&lt;a href=&#34;cowboy_sub_protocol&#34;&gt;cowboy_sub_protocol(3)&lt;/a&gt;
+&lt;a href=&#34;https://ninenines.eu/docs&#34;&gt;cowlib(7)&lt;/a&gt; - Support library for manipulating Web protocols
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
-&lt;a href=&#34;cowboy_websocket&#34;&gt;cowboy_websocket(3)&lt;/a&gt;
+ssl - Secure communication over sockets
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
-&lt;a href=&#34;http_status_codes&#34;&gt;HTTP status codes(7)&lt;/a&gt;
+crypto - Crypto functions
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;All these applications must be started before the &lt;code&gt;cowboy&lt;/code&gt;
+application. To start Cowboy and all dependencies at once:&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;listingblock&#34;&gt;
+&lt;div class=&#34;content&#34;&gt;&lt;!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite --&gt;
+&lt;pre&gt;&lt;tt&gt;{&lt;span style=&#34;color: #FF6600&#34;&gt;ok&lt;/span&gt;, &lt;span style=&#34;color: #990000&#34;&gt;_&lt;/span&gt;} &lt;span style=&#34;color: #990000&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;application:ensure_all_started&lt;/span&gt;&lt;/span&gt;(&lt;span style=&#34;color: #FF6600&#34;&gt;cowboy&lt;/span&gt;)&lt;span style=&#34;color: #990000&#34;&gt;.&lt;/span&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;div class=&#34;sect1&#34;&gt;
+&lt;h2 id=&#34;_environment&#34;&gt;Environment&lt;/h2&gt;
+&lt;div class=&#34;sectionbody&#34;&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The &lt;code&gt;cowboy&lt;/code&gt; application does not define any application
+environment configuration parameters.&lt;/p&gt;&lt;/div&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;div class=&#34;sect1&#34;&gt;
+&lt;h2 id=&#34;_see_also&#34;&gt;See also&lt;/h2&gt;
+&lt;div class=&#34;sectionbody&#34;&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;&lt;a href=&#34;https://ninenines.eu/docs&#34;&gt;ranch(7)&lt;/a&gt;,
+&lt;a href=&#34;https://ninenines.eu/docs&#34;&gt;cowlib(7)&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
+&lt;/div&gt;
+&lt;/div&gt;
</description>
</item>
@@ -1486,7 +1360,7 @@ and the Websocket options in
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_see_also&#34;&gt;See also&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;&lt;a href=&#34;../cowboy_app&#34;&gt;cowboy(7)&lt;/a&gt;,
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;&lt;a href=&#34;..&#34;&gt;cowboy(7)&lt;/a&gt;,
&lt;a href=&#34;../ranch&#34;&gt;ranch(3)&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;