This commit is contained in:
c-cube 2024-06-20 19:39:33 +00:00
parent 4c567a6aac
commit 23deafacd5
10 changed files with 61 additions and 9 deletions

View file

@ -105,7 +105,7 @@ echo:
<span><span><span>(<span class="type-var">'a</span>, <span><span>string <a href="../Tiny_httpd_core/Request/index.html#type-t">Tiny_httpd_core.Request.t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-server_sent_generator">server_sent_generator</a> <span class="arrow">&#45;&gt;</span></span> unit)</span>
<a href="../Tiny_httpd_core/Route/index.html#type-t">Tiny_httpd_core.Route.t</a></span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</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 &quot;content-type&quot; to &quot;text/event-stream&quot; 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><h5 id="upgrade-handlers"><a href="#upgrade-handlers" class="anchor"></a>Upgrade handlers</h5><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> UPGRADE_HANDLER</span><span> = <a href="../Tiny_httpd_core/Server/module-type-UPGRADE_HANDLER/index.html">Server.UPGRADE_HANDLER</a></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 :
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 &quot;content-type&quot; to &quot;text/event-stream&quot; 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><h5 id="upgrade-handlers"><a href="#upgrade-handlers" class="anchor"></a>Upgrade handlers</h5><p>These handlers upgrade the connection to another protocol.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.17</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> UPGRADE_HANDLER</span><span> = <a href="../Tiny_httpd_core/Server/module-type-UPGRADE_HANDLER/index.html">Server.UPGRADE_HANDLER</a></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> 0.17</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="../Tiny_httpd_core/Request/index.html#type-t">Tiny_httpd_core.Request.t</a></span> <span class="arrow">&#45;&gt;</span></span>
<span><span>(unit, <a href="../Tiny_httpd_core/Response_code/index.html#type-t">Tiny_httpd_core.Response_code.t</a> * string)</span> <a href="../../ocaml/Stdlib/index.html#type-result">result</a></span>)</span> <span class="arrow">&#45;&gt;</span></span>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Response_code (tiny_httpd.Tiny_httpd_core.Response_code)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 2.4.2"/><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> &#x00BB; <a href="../index.html">Tiny_httpd_core</a> &#x00BB; Response_code</nav><header class="odoc-preamble"><h1>Module <code><span>Tiny_httpd_core.Response_code</span></code></h1><p>Response Codes</p></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> = int</span></code></div><div class="spec-doc"><p>A standard HTTP code.</p><p>https://tools.ietf.org/html/rfc7231#section-6</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-ok"><a href="#val-ok" class="anchor"></a><code><span><span class="keyword">val</span> ok : <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>The code <code>200</code></p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-not_found"><a href="#val-not_found" class="anchor"></a><code><span><span class="keyword">val</span> not_found : <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>The code <code>404</code></p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-descr"><a href="#val-descr" class="anchor"></a><code><span><span class="keyword">val</span> descr : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> string</span></code></div><div class="spec-doc"><p>A description of some of the error codes. NOTE: this is not complete (yet).</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-is_success"><a href="#val-is_success" class="anchor"></a><code><span><span class="keyword">val</span> is_success : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div><div class="spec-doc"><p><code>is_success code</code> is true iff <code>code</code> is in the <code>2xx</code> or <code>3xx</code> range.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> NEXT_RELEASE</li></ul></div></div></div></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Response_code (tiny_httpd.Tiny_httpd_core.Response_code)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 2.4.2"/><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> &#x00BB; <a href="../index.html">Tiny_httpd_core</a> &#x00BB; Response_code</nav><header class="odoc-preamble"><h1>Module <code><span>Tiny_httpd_core.Response_code</span></code></h1><p>Response Codes</p></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> = int</span></code></div><div class="spec-doc"><p>A standard HTTP code.</p><p>https://tools.ietf.org/html/rfc7231#section-6</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-ok"><a href="#val-ok" class="anchor"></a><code><span><span class="keyword">val</span> ok : <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>The code <code>200</code></p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-not_found"><a href="#val-not_found" class="anchor"></a><code><span><span class="keyword">val</span> not_found : <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>The code <code>404</code></p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-descr"><a href="#val-descr" class="anchor"></a><code><span><span class="keyword">val</span> descr : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> string</span></code></div><div class="spec-doc"><p>A description of some of the error codes. NOTE: this is not complete (yet).</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-is_success"><a href="#val-is_success" class="anchor"></a><code><span><span class="keyword">val</span> is_success : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div><div class="spec-doc"><p><code>is_success code</code> is true iff <code>code</code> is in the <code>2xx</code> or <code>3xx</code> range.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.17</li></ul></div></div></div></body></html>

View file

@ -1,2 +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.2"/><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> &#x00BB; <a href="../../index.html">Tiny_httpd_core</a> &#x00BB; <a href="../index.html">Server</a> &#x00BB; 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">&#45;&gt;</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><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-trivial"><a href="#val-trivial" class="anchor"></a><code><span><span class="keyword">val</span> trivial : <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Pass through</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">&#45;&gt;</span></span> <a href="../Middleware/index.html#type-t">Middleware.t</a></span></code></div></div></div></body></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.2"/><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> &#x00BB; <a href="../../index.html">Tiny_httpd_core</a> &#x00BB; <a href="../index.html">Server</a> &#x00BB; 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> 0.17</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">&#45;&gt;</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><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.17</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-trivial"><a href="#val-trivial" class="anchor"></a><code><span><span class="keyword">val</span> trivial : <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Pass through</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">&#45;&gt;</span></span> <a href="../Middleware/index.html#type-t">Middleware.t</a></span></code></div></div></div></body></html>

View file

@ -34,7 +34,7 @@
<span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</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">&#45;&gt;</span></span> <span><a href="#type-server_sent_generator">server_sent_generator</a> <span class="arrow">&#45;&gt;</span></span> unit)</span> <a href="../Route/index.html#type-t">Route.t</a></span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</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 &quot;content-type&quot; to &quot;text/event-stream&quot; 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 :
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 &quot;content-type&quot; to &quot;text/event-stream&quot; 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> 0.17</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> 0.17</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">&#45;&gt;</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">&#45;&gt;</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">&#45;&gt;</span></span>
<span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span>

View file

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>UPGRADE_HANDLER (tiny_httpd.Tiny_httpd_core.Server.UPGRADE_HANDLER)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 2.4.2"/><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> &#x00BB; <a href="../../index.html">Tiny_httpd_core</a> &#x00BB; <a href="../index.html">Server</a> &#x00BB; UPGRADE_HANDLER</nav><header class="odoc-preamble"><h1>Module type <code><span>Server.UPGRADE_HANDLER</span></code></h1><p>Handler that upgrades to another protocol.</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-handshake_state"><a href="#type-handshake_state" class="anchor"></a><code><span><span class="keyword">type</span> handshake_state</span></code></div><div class="spec-doc"><p>Some specific state returned after handshake</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-name"><a href="#val-name" class="anchor"></a><code><span><span class="keyword">val</span> name : string</span></code></div><div class="spec-doc"><p>Name in the &quot;upgrade&quot; header</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-handshake"><a href="#val-handshake" class="anchor"></a><code><span><span class="keyword">val</span> handshake :
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>UPGRADE_HANDLER (tiny_httpd.Tiny_httpd_core.Server.UPGRADE_HANDLER)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 2.4.2"/><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> &#x00BB; <a href="../../index.html">Tiny_httpd_core</a> &#x00BB; <a href="../index.html">Server</a> &#x00BB; UPGRADE_HANDLER</nav><header class="odoc-preamble"><h1>Module type <code><span>Server.UPGRADE_HANDLER</span></code></h1><p>Handler that upgrades to another protocol.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.17</li></ul></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type anchored" id="type-handshake_state"><a href="#type-handshake_state" class="anchor"></a><code><span><span class="keyword">type</span> handshake_state</span></code></div><div class="spec-doc"><p>Some specific state returned after handshake</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-name"><a href="#val-name" class="anchor"></a><code><span><span class="keyword">val</span> name : string</span></code></div><div class="spec-doc"><p>Name in the &quot;upgrade&quot; header</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-handshake"><a href="#val-handshake" class="anchor"></a><code><span><span class="keyword">val</span> handshake :
<span><a href="../../../../ocaml/Unix/index.html#type-sockaddr">Unix.sockaddr</a> <span class="arrow">&#45;&gt;</span></span>
<span><span>unit <a href="../../Request/index.html#type-t">Request.t</a></span> <span class="arrow">&#45;&gt;</span></span>
<span><span>(<a href="../../Headers/index.html#type-t">Headers.t</a> * <a href="#type-handshake_state">handshake_state</a>, string)</span> <a href="../../../../ocaml/Stdlib/index.html#type-result">result</a></span></span></code></div><div class="spec-doc"><p>Perform the handshake and upgrade the connection. This returns either <code>Ok (resp_headers, state)</code> in case of success, in which case the server sends a <code>101</code> response with <code>resp_headers</code>; or it returns <code>Error log_msg</code> if the the handshake fails, in which case the connection is closed without further ado and <code>log_msg</code> is logged locally (but not returned to the client).</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-handle_connection"><a href="#val-handle_connection" class="anchor"></a><code><span><span class="keyword">val</span> handle_connection : <span><a href="#type-handshake_state">handshake_state</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../../IO/Input/class-type-t/index.html">IO.Input.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../../IO/Output/class-type-t/index.html">IO.Output.t</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Take control of the connection and take it from ther.e</p></div></div></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -1,6 +1,32 @@
## Pending
## 0.17
- add optional middlewares to tiny_httpd_ws
- add `Head_middleware.trivial`
- add `Head_middleware.t`; accept it for SSE/websocket
- add `Request.pp_with` which is a customizable printer
- expose `Response.Bad_req`
- use `iostream` for IOs
- add a `hmap`-typed field to requests, to carry request specific data
across middlewares
- http_of_dir: ability to setup socket timeout
- add `tiny_httpd.ws`, a websocket library
- add `Response_code.is_success`
- fix: No setting of sigprocmask on Windows
- fix: give the correct code+error if protocol upgrade fails
- remove potentially security-leaking debug line
- fix: avoid collisions in `Mime_` private module
- fix middlewares: merge-sort per-request middleares and global ones
- fix tiny_httpd dir: handle html files
- perf: optim in read_line
- perf: remove some uses of scanf in parsing
- require iostream-camlzip >= 0.2.1
- add optional dependency on `logs`
- logs is a testdep for tiny_httpd_camlzip
## 0.16

View file

@ -1,6 +1,32 @@
## Pending
## 0.17
- add optional middlewares to tiny_httpd_ws
- add `Head_middleware.trivial`
- add `Head_middleware.t`; accept it for SSE/websocket
- add `Request.pp_with` which is a customizable printer
- expose `Response.Bad_req`
- use `iostream` for IOs
- add a `hmap`-typed field to requests, to carry request specific data
across middlewares
- http_of_dir: ability to setup socket timeout
- add `tiny_httpd.ws`, a websocket library
- add `Response_code.is_success`
- fix: No setting of sigprocmask on Windows
- fix: give the correct code+error if protocol upgrade fails
- remove potentially security-leaking debug line
- fix: avoid collisions in `Mime_` private module
- fix middlewares: merge-sort per-request middleares and global ones
- fix tiny_httpd dir: handle html files
- perf: optim in read_line
- perf: remove some uses of scanf in parsing
- require iostream-camlzip >= 0.2.1
- add optional dependency on `logs`
- logs is a testdep for tiny_httpd_camlzip
## 0.16