mirror of
https://github.com/c-cube/tiny_httpd.git
synced 2025-12-06 03:05:29 -05:00
deploy: e1368525d8
This commit is contained in:
parent
adde679bad
commit
99a82ba1af
3 changed files with 8 additions and 2 deletions
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Head_middleware (tiny_httpd.Tiny_httpd_core.Server.Head_middleware)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 2.4.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../../../index.html">tiny_httpd</a> » <a href="../../index.html">Tiny_httpd_core</a> » <a href="../index.html">Server</a> » Head_middleware</nav><header class="odoc-preamble"><h1>Module <code><span>Server.Head_middleware</span></code></h1><p>A middleware that only considers the request's head+headers.</p><p>These middlewares are simpler than full <a href="../Middleware/index.html#type-t"><code>Middleware.t</code></a> and work in more contexts.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> NEXT_RELEASE</li></ul></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span><span> = </span><span>{</span></code><ol><li id="type-t.handle" class="def record field anchored"><a href="#type-t.handle" class="anchor"></a><code><span>handle : 'a. <span><span><span class="type-var">'a</span> <a href="../../Request/index.html#type-t">Request.t</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <a href="../../Request/index.html#type-t">Request.t</a></span>;</span></code></li></ol><code><span>}</span></code></div><div class="spec-doc"><p>A handler that takes the request, without its body, and possibly modifies it.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-to_middleware"><a href="#val-to_middleware" class="anchor"></a><code><span><span class="keyword">val</span> to_middleware : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="../Middleware/index.html#type-t">Middleware.t</a></span></code></div></div></div></body></html>
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Server (tiny_httpd.Tiny_httpd_core.Server)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 2.4.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../../index.html">tiny_httpd</a> » <a href="../index.html">Tiny_httpd_core</a> » Server</nav><header class="odoc-preamble"><h1>Module <code><span>Tiny_httpd_core.Server</span></code></h1><p>HTTP server.</p><p>This module implements a very simple, basic HTTP/1.1 server using blocking IOs and threads.</p><p>It is possible to use a thread pool, see <code>create</code>'s argument <code>new_thread</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.13</li></ul></header><nav class="odoc-toc"><ul><li><a href="#middlewares">Middlewares</a></li><li><a href="#main-server-type">Main Server type</a></li><li><a href="#request-handlers">Request handlers</a></li><li><a href="#server-sent-events">Server-sent events</a></li><li><a href="#upgrade-handlers">Upgrade handlers</a></li><li><a href="#run-the-server">Run the server</a></li></ul></nav><div class="odoc-content"><h3 id="middlewares"><a href="#middlewares" class="anchor"></a>Middlewares</h3><p>A middleware can be inserted in a handler to modify or observe its behavior.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.11</li></ul><div class="odoc-spec"><div class="spec module anchored" id="module-Middleware"><a href="#module-Middleware" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Middleware/index.html">Middleware</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><h3 id="main-server-type"><a href="#main-server-type" class="anchor"></a>Main Server type</h3><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div><div class="spec-doc"><p>A HTTP server. See <code>create</code> for more details.</p></div></div><div class="odoc-spec"><div class="spec module-type anchored" id="module-type-IO_BACKEND"><a href="#module-type-IO_BACKEND" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-IO_BACKEND/index.html">IO_BACKEND</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>A backend that provides IO operations, network operations, etc.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-create_from"><a href="#val-create_from" class="anchor"></a><code><span><span class="keyword">val</span> create_from :
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Server (tiny_httpd.Tiny_httpd_core.Server)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 2.4.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../../index.html">tiny_httpd</a> » <a href="../index.html">Tiny_httpd_core</a> » Server</nav><header class="odoc-preamble"><h1>Module <code><span>Tiny_httpd_core.Server</span></code></h1><p>HTTP server.</p><p>This module implements a very simple, basic HTTP/1.1 server using blocking IOs and threads.</p><p>It is possible to use a thread pool, see <code>create</code>'s argument <code>new_thread</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.13</li></ul></header><nav class="odoc-toc"><ul><li><a href="#middlewares">Middlewares</a></li><li><a href="#main-server-type">Main Server type</a></li><li><a href="#request-handlers">Request handlers</a></li><li><a href="#server-sent-events">Server-sent events</a></li><li><a href="#upgrade-handlers">Upgrade handlers</a></li><li><a href="#run-the-server">Run the server</a></li></ul></nav><div class="odoc-content"><h3 id="middlewares"><a href="#middlewares" class="anchor"></a>Middlewares</h3><p>A middleware can be inserted in a handler to modify or observe its behavior.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.11</li></ul><div class="odoc-spec"><div class="spec module anchored" id="module-Middleware"><a href="#module-Middleware" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Middleware/index.html">Middleware</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Head_middleware"><a href="#module-Head_middleware" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Head_middleware/index.html">Head_middleware</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>A middleware that only considers the request's head+headers.</p></div></div><h3 id="main-server-type"><a href="#main-server-type" class="anchor"></a>Main Server type</h3><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div><div class="spec-doc"><p>A HTTP server. See <code>create</code> for more details.</p></div></div><div class="odoc-spec"><div class="spec module-type anchored" id="module-type-IO_BACKEND"><a href="#module-type-IO_BACKEND" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-IO_BACKEND/index.html">IO_BACKEND</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>A backend that provides IO operations, network operations, etc.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-create_from"><a href="#val-create_from" class="anchor"></a><code><span><span class="keyword">val</span> create_from :
|
||||
<span><span class="optlabel">?buf_size</span>:int <span class="arrow">-></span></span>
|
||||
<span><span class="optlabel">?middlewares</span>:<span><span>(<span>[ `Encoding <span><span>| `Stage</span> of int</span> ]</span> * <a href="Middleware/index.html#type-t">Middleware.t</a>)</span> list</span> <span class="arrow">-></span></span>
|
||||
<span><span class="label">backend</span>:<span>(<span class="keyword">module</span> <a href="module-type-IO_BACKEND/index.html">IO_BACKEND</a>)</span> <span class="arrow">-></span></span>
|
||||
|
|
@ -30,11 +30,13 @@
|
|||
<span><span class="type-var">'a</span> <span class="arrow">-></span></span>
|
||||
unit</span></code></div><div class="spec-doc"><p>Similar to <a href="#val-add_route_handler"><code>add_route_handler</code></a>, but where the body of the request is a stream of bytes that has not been read yet. This is useful when one wants to stream the body directly into a parser, json decoder (such as <code>Jsonm</code>) or into a file.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.6</li></ul></div></div><h3 id="server-sent-events"><a href="#server-sent-events" class="anchor"></a>Server-sent events</h3><p><b>EXPERIMENTAL</b>: this API is not stable yet.</p><div class="odoc-spec"><div class="spec module-type anchored" id="module-type-SERVER_SENT_GENERATOR"><a href="#module-type-SERVER_SENT_GENERATOR" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-SERVER_SENT_GENERATOR/index.html">SERVER_SENT_GENERATOR</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>A server-side function to generate of Server-sent events.</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-server_sent_generator"><a href="#type-server_sent_generator" class="anchor"></a><code><span><span class="keyword">type</span> server_sent_generator</span><span> = <span>(<span class="keyword">module</span> <a href="module-type-SERVER_SENT_GENERATOR/index.html">SERVER_SENT_GENERATOR</a>)</span></span></code></div><div class="spec-doc"><p>Server-sent event generator. This generates events that are forwarded to the client (e.g. the browser).</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.9</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_route_server_sent_handler"><a href="#val-add_route_server_sent_handler" class="anchor"></a><code><span><span class="keyword">val</span> add_route_server_sent_handler :
|
||||
<span><span class="optlabel">?accept</span>:<span>(<span><span>unit <a href="../Request/index.html#type-t">Request.t</a></span> <span class="arrow">-></span></span> <span><span>(unit, <a href="../Response_code/index.html#type-t">Response_code.t</a> * string)</span> <a href="../../../ocaml/Stdlib/index.html#type-result">result</a></span>)</span> <span class="arrow">-></span></span>
|
||||
<span><span class="optlabel">?middlewares</span>:<span><a href="Head_middleware/index.html#type-t">Head_middleware.t</a> list</span> <span class="arrow">-></span></span>
|
||||
<span><a href="#type-t">t</a> <span class="arrow">-></span></span>
|
||||
<span><span><span>(<span class="type-var">'a</span>, <span><span>string <a href="../Request/index.html#type-t">Request.t</a></span> <span class="arrow">-></span></span> <span><a href="#type-server_sent_generator">server_sent_generator</a> <span class="arrow">-></span></span> unit)</span> <a href="../Route/index.html#type-t">Route.t</a></span> <span class="arrow">-></span></span>
|
||||
<span><span class="type-var">'a</span> <span class="arrow">-></span></span>
|
||||
unit</span></code></div><div class="spec-doc"><p>Add a handler on an endpoint, that serves server-sent events.</p><p>The callback is given a generator that can be used to send events as it pleases. The connection is always closed by the client, and the accepted method is always <code>GET</code>. This will set the header "content-type" to "text/event-stream" automatically and reply with a 200 immediately. See <a href="#type-server_sent_generator"><code>server_sent_generator</code></a> for more details.</p><p>This handler stays on the original thread (it is synchronous).</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.9</li></ul></div></div><h3 id="upgrade-handlers"><a href="#upgrade-handlers" class="anchor"></a>Upgrade handlers</h3><p>These handlers upgrade the connection to another protocol.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> NEXT_RELEASE</li></ul><div class="odoc-spec"><div class="spec module-type anchored" id="module-type-UPGRADE_HANDLER"><a href="#module-type-UPGRADE_HANDLER" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-UPGRADE_HANDLER/index.html">UPGRADE_HANDLER</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Handler that upgrades to another protocol.</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-upgrade_handler"><a href="#type-upgrade_handler" class="anchor"></a><code><span><span class="keyword">type</span> upgrade_handler</span><span> = <span>(<span class="keyword">module</span> <a href="module-type-UPGRADE_HANDLER/index.html">UPGRADE_HANDLER</a>)</span></span></code></div><div class="spec-doc"><ul class="at-tags"><li class="since"><span class="at-tag">since</span> NEXT_RELEASE</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_upgrade_handler"><a href="#val-add_upgrade_handler" class="anchor"></a><code><span><span class="keyword">val</span> add_upgrade_handler :
|
||||
<span><span class="optlabel">?accept</span>:<span>(<span><span>unit <a href="../Request/index.html#type-t">Request.t</a></span> <span class="arrow">-></span></span> <span><span>(unit, <a href="../Response_code/index.html#type-t">Response_code.t</a> * string)</span> <a href="../../../ocaml/Stdlib/index.html#type-result">result</a></span>)</span> <span class="arrow">-></span></span>
|
||||
<span><span class="optlabel">?middlewares</span>:<span><a href="Head_middleware/index.html#type-t">Head_middleware.t</a> list</span> <span class="arrow">-></span></span>
|
||||
<span><a href="#type-t">t</a> <span class="arrow">-></span></span>
|
||||
<span><span><span>(<span class="type-var">'a</span>, <a href="#type-upgrade_handler">upgrade_handler</a>)</span> <a href="../Route/index.html#type-t">Route.t</a></span> <span class="arrow">-></span></span>
|
||||
<span><span class="type-var">'a</span> <span class="arrow">-></span></span>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue