mirror of
https://github.com/c-cube/tiny_httpd.git
synced 2025-12-06 11:15:35 -05:00
19 lines
No EOL
12 KiB
HTML
19 lines
No EOL
12 KiB
HTML
<!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.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_server</a> » 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">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></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">-></span></span> <span>string <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></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">-></span></span> <a href="../Headers/index.html#type-t">Headers.t</a> )</span> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></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">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></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">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></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">-></span></span> <span>code:<a href="../Response_code/index.html#type-t">Response_code.t</a> <span class="arrow">-></span></span> <span>string <span class="arrow">-></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>""</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">-></span></span>
|
||
<span>code:<a href="../Response_code/index.html#type-t">Response_code.t</a> <span class="arrow">-></span></span>
|
||
<span><a href="../index.html#type-byte_stream">byte_stream</a> <span class="arrow">-></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">-></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">-></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">-></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">-></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">-></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">-></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">-></span></span>
|
||
<span>code:int <span class="arrow">-></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">-></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 "oh noes, %s not found" "waldo"</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">-></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">-></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 "oh noes, %s not found" "waldo"; 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">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Pretty print the response.</p></div></div></div></body></html> |