ocaml-opentelemetry/cohttp/Cohttp/Response/index.html
2024-09-20 16:15:07 +00:00

9 lines
9.2 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 (cohttp.Cohttp.Response)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 2.4.3"/><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">cohttp</a> &#x00BB; <a href="../index.html">Cohttp</a> &#x00BB; Response</nav><header class="odoc-preamble"><h1>Module <code><span>Cohttp.Response</span></code></h1><p>HTTP/1.1 response handling</p></header><div class="odoc-content"><div class="odoc-include"><div class="spec-doc"><p>This contains the metadata for a HTTP/1.1 response header, including the <a href="#val-encoding"><code>encoding</code></a>, <a href="#val-headers"><code>headers</code></a>, <a href="#val-version"><code>version</code></a>, <a href="#val-status"><code>status</code></a> code and whether to <a href="#val-flush"><code>flush</code></a> the connection after every body chunk (useful for server-side events and other long-lived connection protocols). The body is handled by the separate <a href="../S/index.html"><code>S</code></a> module type, as it is dependent on the IO implementation.</p><p>The interface exposes a <code>fieldslib</code> interface which provides individual accessor functions for each of the records below. It also provides <code>sexp</code> serializers to convert to-and-from an <code>Core.Std.Sexp.t</code>.</p></div><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <a href="../S/module-type-Response/index.html">S.Response</a></span></code></summary><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.encoding" class="def record field anchored"><a href="#type-t.encoding" class="anchor"></a><code><span>encoding : <a href="../Transfer/index.html#type-encoding">Transfer.encoding</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Transfer encoding of this HTTP response</p><span class="comment-delim">*)</span></div></li><li id="type-t.headers" class="def record field anchored"><a href="#type-t.headers" class="anchor"></a><code><span>headers : <a href="../Header/index.html#type-t">Header.t</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>response HTTP headers</p><span class="comment-delim">*)</span></div></li><li id="type-t.version" class="def record field anchored"><a href="#type-t.version" class="anchor"></a><code><span>version : <a href="../Code/index.html#type-version">Code.version</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>(** HTTP version, usually 1.1 *)</p><span class="comment-delim">*)</span></div></li><li id="type-t.status" class="def record field anchored"><a href="#type-t.status" class="anchor"></a><code><span>status : <a href="../Code/index.html#type-status_code">Code.status_code</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>HTTP status code of the response</p><span class="comment-delim">*)</span></div></li><li id="type-t.flush" class="def record field anchored"><a href="#type-t.flush" class="anchor"></a><code><span>flush : bool;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-include"><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <a href="../../../sexplib0/Sexplib0/Sexpable/module-type-S/index.html">Sexplib0.Sexpable.S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="../../../sexplib0/Sexplib0/Sexpable/module-type-S/index.html#type-t">t</a> := <a href="#type-t">t</a></span></span></code></summary><div class="odoc-spec"><div class="spec value anchored" id="val-t_of_sexp"><a href="#val-t_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> t_of_sexp : <span><a href="../../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_t"><a href="#val-sexp_of_t" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_t : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="../../../sexplib0/Sexplib0/Sexp/index.html#type-t">Sexplib0.Sexp.t</a></span></code></div></div></details></div><div class="odoc-spec"><div class="spec value anchored" id="val-encoding"><a href="#val-encoding" class="anchor"></a><code><span><span class="keyword">val</span> encoding : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Transfer/index.html#type-encoding">Transfer.encoding</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-headers"><a href="#val-headers" class="anchor"></a><code><span><span class="keyword">val</span> headers : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Header/index.html#type-t">Header.t</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-version"><a href="#val-version" class="anchor"></a><code><span><span class="keyword">val</span> version : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Code/index.html#type-version">Code.version</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-status"><a href="#val-status" class="anchor"></a><code><span><span class="keyword">val</span> status : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Code/index.html#type-status_code">Code.status_code</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-flush"><a href="#val-flush" class="anchor"></a><code><span><span class="keyword">val</span> flush : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-compare"><a href="#val-compare" class="anchor"></a><code><span><span class="keyword">val</span> compare : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-make"><a href="#val-make" class="anchor"></a><code><span><span class="keyword">val</span> make :
<span><span class="optlabel">?version</span>:<a href="../Code/index.html#type-version">Code.version</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?status</span>:<a href="../Code/index.html#type-status_code">Code.status_code</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?flush</span>:bool <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?encoding</span>:<a href="../Transfer/index.html#type-encoding">Transfer.encoding</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?headers</span>:<a href="../Header/index.html#type-t">Header.t</a> <span class="arrow">&#45;&gt;</span></span>
<span>unit <span class="arrow">&#45;&gt;</span></span>
<a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>The response creates by <code>make ~encoding ~headers ()</code> has an encoding value determined from the content of <code>headers</code> or if no proper header is present, using the value of <code>encoding</code>. Checked headers are &quot;content-length&quot;, &quot;content-range&quot; and &quot;transfer-encoding&quot;. The default value of <code>encoding</code> is chunked.</p></div></div></details></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_hum"><a href="#val-pp_hum" class="anchor"></a><code><span><span class="keyword">val</span> pp_hum : <span><a href="../../../ocaml/Stdlib/Format/index.html#type-formatter">Stdlib.Format.formatter</a> <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>Human-readable output, used by the toplevel printer</p></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Make"><a href="#module-Make" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Make/index.html">Make</a></span><span> (<a href="Make/argument-1-IO/index.html">IO</a> : <a href="../S/module-type-IO/index.html">S.IO</a>) : <a href="../S/module-type-Http_io/index.html">S.Http_io</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="../S/module-type-Http_io/index.html#type-t">t</a> = <a href="#type-t">t</a></span> <span class="keyword">and</span> <span><span class="keyword">module</span> <a href="../S/module-type-Http_io/IO/index.html">IO</a> = <a href="Make/argument-1-IO/index.html">IO</a></span></span></code></div><div class="spec-doc"><p>Functor to construct the IO-specific response handling function</p></div></div></div></body></html>