mirror of
https://github.com/ocaml-tracing/ocaml-opentelemetry.git
synced 2026-03-09 12:23:32 -04:00
16 lines
11 KiB
HTML
16 lines
11 KiB
HTML
<!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> » <a href="../../index.html">cohttp</a> » <a href="../index.html">Cohttp</a> » 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">-></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">-></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">-></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">-></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">-></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">-></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">-></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">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></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">-></span></span>
|
||
<span><span class="optlabel">?version</span>:<a href="../Code/index.html#type-version">Code.version</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?encoding</span>:<a href="../Transfer/index.html#type-encoding">Transfer.encoding</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?headers</span>:<a href="../Header/index.html#type-t">Header.t</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?absolute_form</span>:bool <span class="arrow">-></span></span>
|
||
<span><a href="../../../uri/Uri/index.html#type-t">Uri.t</a> <span class="arrow">-></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">-></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">-></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">-></span></span>
|
||
<span><span class="optlabel">?chunked</span>:bool <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?body_length</span>:int64 <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?absolute_form</span>:bool <span class="arrow">-></span></span>
|
||
<span><a href="../Code/index.html#type-meth">Code.meth</a> <span class="arrow">-></span></span>
|
||
<span><a href="../../../uri/Uri/index.html#type-t">Uri.t</a> <span class="arrow">-></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">-></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">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></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>
|