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

16 lines
11 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>Request (cohttp.Cohttp.Request)</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; Request</nav><header class="odoc-preamble"><h1>Module <code><span>Cohttp.Request</span></code></h1><p>HTTP/1.1 request handling</p></header><div class="odoc-content"><div class="odoc-include"><div class="spec-doc"><p>This contains the metadata for a HTTP/1.x request header, including the <a href="#type-t.headers"><code>headers</code></a>, <a href="#type-t.version"><code>version</code></a>, <a href="#type-t.meth"><code>meth</code></a> and <code>uri</code>. 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-Request/index.html">S.Request</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="../S/module-type-Request/index.html#type-t">t</a> = <a href="../../../http/Http/Request/index.html#type-t">Http.Request.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/Request/index.html#type-t">Http.Request.t</a></span><span> = </span><span>{</span></code><ol><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>HTTP request headers</p><span class="comment-delim">*)</span></div></li><li id="type-t.meth" class="def record field anchored"><a href="#type-t.meth" class="anchor"></a><code><span>meth : <a href="../Code/index.html#type-meth">Code.meth</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>HTTP request method</p><span class="comment-delim">*)</span></div></li><li id="type-t.resource" class="def record field anchored"><a href="#type-t.resource" class="anchor"></a><code><span>resource : string;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Request path and query</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></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-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-meth"><a href="#val-meth" class="anchor"></a><code><span><span class="keyword">val</span> meth : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Code/index.html#type-meth">Code.meth</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-resource"><a href="#val-resource" class="anchor"></a><code><span><span class="keyword">val</span> resource : <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-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-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-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">?meth</span>:<a href="../Code/index.html#type-meth">Code.meth</a> <span class="arrow">&#45;&gt;</span></span>
<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">?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><span class="optlabel">?absolute_form</span>:bool <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../uri/Uri/index.html#type-t">Uri.t</a> <span class="arrow">&#45;&gt;</span></span>
<a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>make ()</code> is a value of <a href="#type-t"><code>t</code></a>. The default values for the request, if not specified, are: <code>status</code> is <code>`Ok</code>, <code>version</code> is <code>`HTTP_1_1</code>, <code>flush</code> is <code>false</code> and <code>headers</code> is <code>Header.empty</code>. The request encoding value is determined via the <code>Header.get_transfer_encoding</code> function and, if not found, uses the default value <code>Transfer.Fixed 0</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-is_keep_alive"><a href="#val-is_keep_alive" class="anchor"></a><code><span><span class="keyword">val</span> is_keep_alive : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div><div class="spec-doc"><p>Return true whether the connection should be reused</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-uri"><a href="#val-uri" class="anchor"></a><code><span><span class="keyword">val</span> uri : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="../../../uri/Uri/index.html#type-t">Uri.t</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-make_for_client"><a href="#val-make_for_client" class="anchor"></a><code><span><span class="keyword">val</span> make_for_client :
<span><span class="optlabel">?headers</span>:<a href="../Header/index.html#type-t">Header.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?chunked</span>:bool <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?body_length</span>:int64 <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?absolute_form</span>:bool <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Code/index.html#type-meth">Code.meth</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../uri/Uri/index.html#type-t">Uri.t</a> <span class="arrow">&#45;&gt;</span></span>
<a href="#type-t">t</a></span></code></div></div></details></div><div class="odoc-spec"><div class="spec value anchored" id="val-has_body"><a href="#val-has_body" class="anchor"></a><code><span><span class="keyword">val</span> has_body : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>[ `No <span>| `Unknown</span> <span>| `Yes</span> ]</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 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><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></div></body></html>