tiny_httpd/dev/tiny_httpd/Tiny_httpd_server/Response/index.html
2022-03-17 02:46:20 +00:00

19 lines
No EOL
12 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Response (tiny_httpd.Tiny_httpd_server.Response)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.1.0"/><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_server</a> &#x00BB; Response</nav><header class="odoc-preamble"><h1>Module <code><span>Tiny_httpd_server.Response</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-body" class="anchored"><a href="#type-body" class="anchor"></a><code><span><span class="keyword">type</span> body</span><span> = </span><span>[ </span></code><table><tr id="type-body.String" class="anchored"><td class="def constructor"><a href="#type-body.String" class="anchor"></a><code><span>| </span></code><code><span>`String <span class="keyword">of</span> string</span></code></td></tr><tr id="type-body.Stream" class="anchored"><td class="def constructor"><a href="#type-body.Stream" class="anchor"></a><code><span>| </span></code><code><span>`Stream <span class="keyword">of</span> <a href="../index.html#type-byte_stream">byte_stream</a></span></code></td></tr><tr id="type-body.Void" class="anchored"><td class="def constructor"><a href="#type-body.Void" class="anchor"></a><code><span>| </span></code><code><span>`Void</span></code></td></tr></table><code><span> ]</span></code></div><div class="spec-doc"><p>Body of a response, either as a simple string, or a stream of bytes, or nothing (for server-sent events).</p></div></div><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span><span> = <span class="keyword">private</span> </span><span>{</span></code><table><tr id="type-t.code" class="anchored"><td class="def record field"><a href="#type-t.code" class="anchor"></a><code><span>code : <a href="../Response_code/index.html#type-t">Response_code.t</a>;</span></code></td><td class="def-doc"><span class="comment-delim">(*</span><p>HTTP response code. See <a href="../Response_code/index.html"><code>Response_code</code></a>.</p><span class="comment-delim">*)</span></td></tr><tr id="type-t.headers" class="anchored"><td class="def record field"><a href="#type-t.headers" class="anchor"></a><code><span>headers : <a href="../Headers/index.html#type-t">Headers.t</a>;</span></code></td><td class="def-doc"><span class="comment-delim">(*</span><p>Headers of the reply. Some will be set by <code>Tiny_httpd</code> automatically.</p><span class="comment-delim">*)</span></td></tr><tr id="type-t.body" class="anchored"><td class="def record field"><a href="#type-t.body" class="anchor"></a><code><span>body : <a href="#type-body">body</a>;</span></code></td><td class="def-doc"><span class="comment-delim">(*</span><p>Body of the response. Can be empty.</p><span class="comment-delim">*)</span></td></tr></table><code><span>}</span></code></div><div class="spec-doc"><p>A response to send back to a client.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-set_body" class="anchored"><a href="#val-set_body" class="anchor"></a><code><span><span class="keyword">val</span> set_body : <span><a href="#type-body">body</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Set the body of the response.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.11</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-set_header" class="anchored"><a href="#val-set_header" class="anchor"></a><code><span><span class="keyword">val</span> set_header : <span>string <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Set a header.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.11</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-update_headers" class="anchored"><a href="#val-update_headers" class="anchor"></a><code><span><span class="keyword">val</span> update_headers : <span><span>( <span><a href="../Headers/index.html#type-t">Headers.t</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Headers/index.html#type-t">Headers.t</a> )</span> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Modify headers</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.11</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-set_headers" class="anchored"><a href="#val-set_headers" class="anchor"></a><code><span><span class="keyword">val</span> set_headers : <span><a href="../Headers/index.html#type-t">Headers.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Set all headers.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.11</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-set_code" class="anchored"><a href="#val-set_code" class="anchor"></a><code><span><span class="keyword">val</span> set_code : <span><a href="../Response_code/index.html#type-t">Response_code.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Set the response code.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.11</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-make_raw" class="anchored"><a href="#val-make_raw" class="anchor"></a><code><span><span class="keyword">val</span> make_raw : <span>?headers:<a href="../Headers/index.html#type-t">Headers.t</a> <span class="arrow">&#45;&gt;</span></span> <span>code:<a href="../Response_code/index.html#type-t">Response_code.t</a> <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Make a response from its raw components, with a string body. Use <code>&quot;&quot;</code> to not send a body at all.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-make_raw_stream" class="anchored"><a href="#val-make_raw_stream" class="anchor"></a><code><span><span class="keyword">val</span> make_raw_stream :
<span>?headers:<a href="../Headers/index.html#type-t">Headers.t</a> <span class="arrow">&#45;&gt;</span></span>
<span>code:<a href="../Response_code/index.html#type-t">Response_code.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../index.html#type-byte_stream">byte_stream</a> <span class="arrow">&#45;&gt;</span></span>
<a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Same as <a href="#val-make_raw"><code>make_raw</code></a> but with a stream body. The body will be sent with the chunked transfer-encoding.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-make" class="anchored"><a href="#val-make" class="anchor"></a><code><span><span class="keyword">val</span> make :
<span>?headers:<a href="../Headers/index.html#type-t">Headers.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><span>( <a href="#type-body">body</a>, <a href="../Response_code/index.html#type-t">Response_code.t</a> * string )</span> <span class="xref-unresolved">Stdlib</span>.result</span> <span class="arrow">&#45;&gt;</span></span>
<a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>make r</code> turns a result into a response.</p><ul><li><code>make (Ok body)</code> replies with <code>200</code> and the body.</li><li><code>make (Error (code,msg))</code> replies with the given error code and message as body.</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-make_string" class="anchored"><a href="#val-make_string" class="anchor"></a><code><span><span class="keyword">val</span> make_string :
<span>?headers:<a href="../Headers/index.html#type-t">Headers.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><span>( string, <a href="../Response_code/index.html#type-t">Response_code.t</a> * string )</span> <span class="xref-unresolved">Stdlib</span>.result</span> <span class="arrow">&#45;&gt;</span></span>
<a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Same as <a href="#val-make"><code>make</code></a> but with a string body.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-make_stream" class="anchored"><a href="#val-make_stream" class="anchor"></a><code><span><span class="keyword">val</span> make_stream :
<span>?headers:<a href="../Headers/index.html#type-t">Headers.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><span>( <a href="../index.html#type-byte_stream">byte_stream</a>, <a href="../Response_code/index.html#type-t">Response_code.t</a> * string )</span> <span class="xref-unresolved">Stdlib</span>.result</span> <span class="arrow">&#45;&gt;</span></span>
<a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Same as <a href="#val-make"><code>make</code></a> but with a stream body.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-fail" class="anchored"><a href="#val-fail" class="anchor"></a><code><span><span class="keyword">val</span> fail :
<span>?headers:<a href="../Headers/index.html#type-t">Headers.t</a> <span class="arrow">&#45;&gt;</span></span>
<span>code:int <span class="arrow">&#45;&gt;</span></span>
<span><span><span>( <span class="type-var">'a</span>, unit, string, <a href="#type-t">t</a> )</span> <span class="xref-unresolved">Stdlib</span>.format4</span> <span class="arrow">&#45;&gt;</span></span>
<span class="type-var">'a</span></span></code></div><div class="spec-doc"><p>Make the current request fail with the given code and message. Example: <code>fail ~code:404 &quot;oh noes, %s not found&quot; &quot;waldo&quot;</code>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-fail_raise" class="anchored"><a href="#val-fail_raise" class="anchor"></a><code><span><span class="keyword">val</span> fail_raise : <span>code:int <span class="arrow">&#45;&gt;</span></span> <span><span><span>( <span class="type-var">'a</span>, unit, string, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.format4</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'a</span></span></code></div><div class="spec-doc"><p>Similar to <a href="#val-fail"><code>fail</code></a> but raises an exception that exits the current handler. This should not be used outside of a (path) handler. Example: <code>fail_raise ~code:404 &quot;oh noes, %s not found&quot; &quot;waldo&quot;; never_executed()</code></p></div></div><div class="odoc-spec"><div class="spec value" id="val-pp" class="anchored"><a href="#val-pp" class="anchor"></a><code><span><span class="keyword">val</span> pp : <span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Pretty print the response.</p></div></div></div></body></html>