ocaml-opentelemetry/cohttp/Cohttp/Header/index.html
2025-07-23 14:08:20 +00:00

10 lines
30 KiB
HTML
Raw Permalink 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>Header (cohttp.Cohttp.Header)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 3.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">Index</a> &#x00BB; <a href="../../index.html">cohttp</a> &#x00BB; <a href="../index.html">Cohttp</a> &#x00BB; Header</nav><header class="odoc-preamble"><h1>Module <code><span>Cohttp.Header</span></code></h1></header><div class="odoc-content"><div class="odoc-include"><div class="spec-doc"><p>Associative list representing HTTP headers. Order of transmission is preserved, which implies that headers with same name are neither removed or concataned by default (see <code>clean_dup</code> to do that).</p><p>The type for HTTP headers.</p></div><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <span class="keyword">module</span> <span class="keyword">type</span> <span class="keyword">of</span> <a href="../../../http/Http/Header/index.html">Http.Header</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="../../../http/Http/Header/index.html#type-t">t</a> = <a href="../../../http/Http/Header/index.html#type-t">Http.Header.t</a></span></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> = <a href="../../../http/Http/Header/index.html#type-t">Http.Header.t</a></span></code></div><div class="spec-doc"><p>Associative list representing HTTP headers. Order of transmission is preserved, which implies that headers with same name are neither removed or concataned by default (see <code>clean_dup</code> to do that).</p><p>The type for HTTP headers.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-iter_ord"><a href="#val-iter_ord" class="anchor"></a><code><span><span class="keyword">val</span> iter_ord : <span><span>(<span>string <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> unit)</span> <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><code>iter_ord f h</code> applies <code>f</code> to all the headers of <code>h</code> following the header order.</p></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Private"><a href="#module-Private" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Private/index.html">Private</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div></details></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><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-init"><a href="#val-init" class="anchor"></a><code><span><span class="keyword">val</span> init : <span>unit <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>init ()</code> constructs a fresh, empty list of HTTP headers.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-is_empty"><a href="#val-is_empty" class="anchor"></a><code><span><span class="keyword">val</span> is_empty : <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_empty h</code> tests whether HTTP headers <code>h</code> are empty or not.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-of_list_rev"><a href="#val-of_list_rev" class="anchor"></a><code><span><span class="keyword">val</span> of_list_rev : <span><span><span>(string * string)</span> list</span> <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-of_list"><a href="#val-of_list" class="anchor"></a><code><span><span class="keyword">val</span> of_list : <span><span><span>(string * string)</span> list</span> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>of_list l</code> construct a fresh headers from the content of <code>l</code> and in same order. <code>to_list</code> and <code>of_list</code> are defined such as <code>to_list (of_list l) = l</code> is true with case insensitive comparison.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-to_list"><a href="#val-to_list" class="anchor"></a><code><span><span class="keyword">val</span> to_list : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><span>(string * string)</span> list</span></span></code></div><div class="spec-doc"><p><code>to_list h</code> converts HTTP headers <code>h</code> to a list. Order and case is preserved.</p><p><em>Invariant (with case insensitive comparison):</em> <code>to_list (of_list l) = l</code></p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-init_with"><a href="#val-init_with" class="anchor"></a><code><span><span class="keyword">val</span> init_with : <span>string <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><code>init_with k v</code> construct a fresh HTTP headers with a single header with name <code>k</code> and value <code>v</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add"><a href="#val-add" class="anchor"></a><code><span><span class="keyword">val</span> add : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>string <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><code>add h k v</code> adds the header name <code>k</code> and it associated value <code>v</code> at the end of header list <code>h</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_list"><a href="#val-add_list" class="anchor"></a><code><span><span class="keyword">val</span> add_list : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><span><span>(string * string)</span> list</span> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>add_list h l</code> adds in order all header pairs contained in <code>l</code> to the header list <code>h</code>.</p><p><em>Invariant (with case insensitive comparison):</em> <code>to_list (add_list h l) = to_list h @ l</code></p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_multi"><a href="#val-add_multi" class="anchor"></a><code><span><span class="keyword">val</span> add_multi : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> <span><span>string list</span> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>add_multi h k vs</code> add multiple header pairs with same name <code>h</code> and values contained in <code>vs</code> in <code>h</code>. The new headers are in the same order that in <code>vs</code>.</p><p><em>Invariant:</em> <code>get_multi (add_multi h k vs) k = (get_multi h k) @ vs</code></p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_opt"><a href="#val-add_opt" class="anchor"></a><code><span><span class="keyword">val</span> add_opt : <span><span><a href="#type-t">t</a> option</span> <span class="arrow">&#45;&gt;</span></span> <span>string <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><code>add_opt hopt k v</code> adds the header <code>(k, v)</code> to <code>h</code> if <code>hopt</code> is <code>Some h</code>, or constructs a fresh header list containing this single header if <code>hopt</code> is <code>None</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_unless_exists"><a href="#val-add_unless_exists" class="anchor"></a><code><span><span class="keyword">val</span> add_unless_exists : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>string <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><code>add_unless_exists h k v</code> adds <code>(k, v)</code> to <code>h</code> unless the header name <code>k</code> is already present in the header.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_opt_unless_exists"><a href="#val-add_opt_unless_exists" class="anchor"></a><code><span><span class="keyword">val</span> add_opt_unless_exists : <span><span><a href="#type-t">t</a> option</span> <span class="arrow">&#45;&gt;</span></span> <span>string <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><code>add_opt_unless_exists h k v</code> adds <code>(k, v)</code> to <code>h</code> if <code>hopt</code> is <code>Some h</code> unless the header name <code>k</code> is already present in the headers. If <code>h</code> is <code>None</code> then a fresh header list is constructed containing the header <code>(k, v)</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-remove"><a href="#val-remove" class="anchor"></a><code><span><span class="keyword">val</span> remove : <span><a href="#type-t">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><code>remove h k</code> removes every values associated to the header name <code>k</code> from <code>h</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-replace"><a href="#val-replace" class="anchor"></a><code><span><span class="keyword">val</span> replace : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>string <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><code>replace h k v</code> replaces the last added value of <code>k</code> from <code>h</code> and removed all other occurrences of <code>k</code> if it exists. Otherwise it adds <code>(k, v)</code> to <code>h</code>.</p><p><em>Invariant:</em> <code>forall h, k, v. get_multi (replace h k v) = [ v ]</code></p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-mem"><a href="#val-mem" class="anchor"></a><code><span><span class="keyword">val</span> mem : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> bool</span></code></div><div class="spec-doc"><p><code>mem h k</code> returns <code>true</code> if the header name <code>k</code> appears in <code>h</code> and <code>false</code> otherwise.</p></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 class="spec-doc"><p><code>compare h h'</code> is the structural comparison of two <code>Header</code> values.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get"><a href="#val-get" class="anchor"></a><code><span><span class="keyword">val</span> get : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> <span>string option</span></span></code></div><div class="spec-doc"><p><code>get h k</code> returns <code>Some v</code> where <code>v</code> is the last added value associated with <code>k</code> in <code>h</code> if it exists and <code>None</code> otherwise</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_multi"><a href="#val-get_multi" class="anchor"></a><code><span><span class="keyword">val</span> get_multi : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> <span>string list</span></span></code></div><div class="spec-doc"><p><code>get_multi h k</code> returns a list of all values associated with <code>k</code> in <code>h</code> in order they appear in it.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_multi_concat"><a href="#val-get_multi_concat" class="anchor"></a><code><span><span class="keyword">val</span> get_multi_concat : <span><span class="optlabel">?list_value_only</span>:bool <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> <span>string option</span></span></code></div><div class="spec-doc"><p><code>get_multi_concat h k</code> returns <code>Some v</code> if there is at least one value associated with <code>k</code> in <code>h</code> and <code>None</code> otherwise. <code>v</code> is the concatenation of all values paired with <code>k</code> in <code>h</code>, separated by a comma and in order they appear in <code>h</code>.</p><p>The optional argument <code>?list_value_only</code> is <code>false</code> by default. If it is <code>true</code> and there is at least one value associated to <code>k</code>, the returned value is the concatenated values only if <code>k</code> is a header that can have multiple values (like transfer-encoding or accept). Otherwise, the returned value is the last value paired with <code>k</code> in <code>h</code>.</p><p><em>Invariant:</em> <code>forall h, k not a list-value header. get_multi_concat ~list-value-only:true h k = get h k</code></p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-update"><a href="#val-update" class="anchor"></a><code><span><span class="keyword">val</span> update : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> <span><span>(<span><span>string option</span> <span class="arrow">&#45;&gt;</span></span> <span>string option</span>)</span> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>update h k f</code> returns an header list containing the same headers as <code>h</code>, except for the header name <code>k</code>. Depending on the value of <code>v</code> where <code>v</code> is <code>f (get h k)</code>, the header pair <code>(k, v)</code> is added, removed or updated.</p><ul><li>If <code>v</code> is <code>None</code>, the last occurrence of <code>k</code> in <code>h</code> is removed;</li></ul><ul><li>If <code>v</code> is <code>Some w</code> then the last value paired with <code>k</code> in <code>h</code> is replaced by <code>w</code> if it exists. Otherwise, the pair <code>(k, w)</code> is added;</li></ul><ul><li>If <code>k</code> was already associated last in <code>h</code> to a value that is physically equal to <code>w</code>, <code>h</code> is returned unchanged.</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-update_all"><a href="#val-update_all" class="anchor"></a><code><span><span class="keyword">val</span> update_all : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> <span><span>(<span><span>string list</span> <span class="arrow">&#45;&gt;</span></span> <span>string list</span>)</span> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>update_all h k f</code> returns an header list containing the same headers as <code>h</code>, except for the header <code>k</code>. Depending on the list of values <code>vs</code> where <code>vs</code> is <code>f (get_multi h k)</code>, the values associated to the header <code>k</code> are added, removed or updated.</p><ul><li>If <code>vs</code> is an empty list, every occurrences of the header <code>k</code> in <code>h</code> are removed;</li></ul><ul><li>If <code>vs</code> is a non-empty list, all values previously associated to <code>k</code> are removed and all values in <code>vs</code> are added with <code>add_multi</code>;</li></ul><ul><li>If <code>k</code> was already associated in <code>h</code> to a list that is equal to <code>vs</code>, <code>h</code> is returned unchanged.</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-iter"><a href="#val-iter" class="anchor"></a><code><span><span class="keyword">val</span> iter : <span><span>(<span>string <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> unit)</span> <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><div class="odoc-spec"><div class="spec value anchored" id="val-map"><a href="#val-map" class="anchor"></a><code><span><span class="keyword">val</span> map : <span><span>(<span>string <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> string)</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><div class="odoc-spec"><div class="spec value anchored" id="val-fold"><a href="#val-fold" class="anchor"></a><code><span><span class="keyword">val</span> fold : <span><span>(<span>string <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'a</span>)</span> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'a</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-to_lines"><a href="#val-to_lines" class="anchor"></a><code><span><span class="keyword">val</span> to_lines : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>string list</span></span></code></div><div class="spec-doc"><p><code>to_lines h</code> returns header fields as a list of lines. Beware that each line ends with &quot;\r\n&quot; characters.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-to_frames"><a href="#val-to_frames" class="anchor"></a><code><span><span class="keyword">val</span> to_frames : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>string list</span></span></code></div><div class="spec-doc"><p><code>to_frames h</code> returns the same as <a href="#val-to_lines"><code>to_lines</code></a> but lines do not end with &quot;\r\n&quot; characters.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-to_string"><a href="#val-to_string" class="anchor"></a><code><span><span class="keyword">val</span> to_string : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> string</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-clean_dup"><a href="#val-clean_dup" class="anchor"></a><code><span><span class="keyword">val</span> clean_dup : <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><code>clean_dup h</code> cleans duplicates in <code>h</code> following <a href="https://tools.ietf.org/html/rfc7230#section-3.2.2">RFC7230§3.2.2</a>; if a duplicated header can not have multiple values, only the last value is kept in place. Otherwise, the values are concatenated and place at the first position the header is encountered in <code>h</code>.</p><p>Already concatenated values (like <code>anhost.com, anotherhost.com</code> in the example below) are not affected by <code>clean_dup</code>. For example,</p><pre>transfer-encoding: gzip
host: afirsthost.com
connection: keep-alive
host: anhost.com, anotherhost.com
transfer-encoding: chunked</pre><p>becomes</p><pre>transfer-encoding: gzip, chunked
connection: keep-alive
host: anhost.com, anotherhost.com</pre><p>Finally, following <a href="https://tools.ietf.org/html/rfc7230#section-3.2.2">RFC7230§3.2.2</a>, the header <code>Set-cookie</code> is treated as an exception and ignored by <code>clean_dup</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_content_range"><a href="#val-get_content_range" class="anchor"></a><code><span><span class="keyword">val</span> get_content_range : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../../../ocaml/Stdlib/Int64/index.html#type-t">Stdlib.Int64.t</a> option</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_media_type"><a href="#val-get_media_type" class="anchor"></a><code><span><span class="keyword">val</span> get_media_type : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>string option</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_connection_close"><a href="#val-get_connection_close" class="anchor"></a><code><span><span class="keyword">val</span> get_connection_close : <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-get_acceptable_media_ranges"><a href="#val-get_acceptable_media_ranges" class="anchor"></a><code><span><span class="keyword">val</span> get_acceptable_media_ranges :
<span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span>(<a href="../Accept/index.html#type-media_range">Accept.media_range</a> * <span><a href="../Accept/index.html#type-p">Accept.p</a> list</span>)</span> <a href="../Accept/index.html#type-qlist">Accept.qlist</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_acceptable_charsets"><a href="#val-get_acceptable_charsets" class="anchor"></a><code><span><span class="keyword">val</span> get_acceptable_charsets : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Accept/index.html#type-charset">Accept.charset</a> <a href="../Accept/index.html#type-qlist">Accept.qlist</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_acceptable_encodings"><a href="#val-get_acceptable_encodings" class="anchor"></a><code><span><span class="keyword">val</span> get_acceptable_encodings : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Accept/index.html#type-encoding">Accept.encoding</a> <a href="../Accept/index.html#type-qlist">Accept.qlist</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_acceptable_languages"><a href="#val-get_acceptable_languages" class="anchor"></a><code><span><span class="keyword">val</span> get_acceptable_languages : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Accept/index.html#type-language">Accept.language</a> <a href="../Accept/index.html#type-qlist">Accept.qlist</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_transfer_encoding"><a href="#val-get_transfer_encoding" class="anchor"></a><code><span><span class="keyword">val</span> get_transfer_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-add_transfer_encoding"><a href="#val-add_transfer_encoding" class="anchor"></a><code><span><span class="keyword">val</span> add_transfer_encoding : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Transfer/index.html#type-encoding">Transfer.encoding</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-add_authorization"><a href="#val-add_authorization" class="anchor"></a><code><span><span class="keyword">val</span> add_authorization : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Auth/index.html#type-credential">Auth.credential</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-get_authorization"><a href="#val-get_authorization" class="anchor"></a><code><span><span class="keyword">val</span> get_authorization : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Auth/index.html#type-credential">Auth.credential</a> option</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_authorization_req"><a href="#val-add_authorization_req" class="anchor"></a><code><span><span class="keyword">val</span> add_authorization_req : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Auth/index.html#type-challenge">Auth.challenge</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-is_form"><a href="#val-is_form" class="anchor"></a><code><span><span class="keyword">val</span> is_form : <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-get_location"><a href="#val-get_location" class="anchor"></a><code><span><span class="keyword">val</span> get_location : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../../../uri/Uri/index.html#type-t">Uri.t</a> option</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_links"><a href="#val-add_links" class="anchor"></a><code><span><span class="keyword">val</span> add_links : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><span><a href="../Link/index.html#type-t">Link.t</a> list</span> <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-get_links"><a href="#val-get_links" class="anchor"></a><code><span><span class="keyword">val</span> get_links : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Link/index.html#type-t">Link.t</a> list</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-user_agent"><a href="#val-user_agent" class="anchor"></a><code><span><span class="keyword">val</span> user_agent : string</span></code></div><div class="spec-doc"><p>The User-Agent header used by this library, including the version of cohttp.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-prepend_user_agent"><a href="#val-prepend_user_agent" class="anchor"></a><code><span><span class="keyword">val</span> prepend_user_agent : <span><a href="#type-t">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>Prepend <code>user_agent</code> to the product token already declared in the &quot;User-Agent&quot; field (if any).</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-connection"><a href="#val-connection" class="anchor"></a><code><span><span class="keyword">val</span> connection : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><span>[ `Keep_alive <span>| `Close</span> <span><span>| `Unknown</span> of string</span> ]</span> option</span></span></code></div></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></body></html>