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

2 lines
6.8 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>Transfer (cohttp.Cohttp.Transfer)</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; Transfer</nav><header class="odoc-preamble"><h1>Module <code><span>Cohttp.Transfer</span></code></h1><p>Read and write the HTTP/1.1 transfer-encoding formats. Currently supported are <code>chunked</code> and <code>content-length</code>.</p></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type anchored" id="type-encoding"><a href="#type-encoding" class="anchor"></a><code><span><span class="keyword">type</span> encoding</span><span> = <a href="../../../http/Http/Transfer/index.html#type-encoding">Http.Transfer.encoding</a></span><span> = </span></code><ol><li id="type-encoding.Chunked" class="def variant constructor anchored"><a href="#type-encoding.Chunked" class="anchor"></a><code><span>| </span><span><span class="constructor">Chunked</span></span></code><div class="def-doc"><span class="comment-delim">(*</span><p>dynamic chunked encoding</p><span class="comment-delim">*)</span></div></li><li id="type-encoding.Fixed" class="def variant constructor anchored"><a href="#type-encoding.Fixed" class="anchor"></a><code><span>| </span><span><span class="constructor">Fixed</span> <span class="keyword">of</span> int64</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>fixed size content</p><span class="comment-delim">*)</span></div></li><li id="type-encoding.Unknown" class="def variant constructor anchored"><a href="#type-encoding.Unknown" class="anchor"></a><code><span>| </span><span><span class="constructor">Unknown</span></span></code><div class="def-doc"><span class="comment-delim">(*</span><p>unknown body size, which leads to best-effort</p><span class="comment-delim">*)</span></div></li></ol></div><div class="spec-doc"><p>The encoding format detected from the <code>transfer-encoding</code> and <code>content-length</code> headers</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_encoding"><a href="#val-sexp_of_encoding" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_encoding : <span><a href="#type-encoding">encoding</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-encoding_of_sexp"><a href="#val-encoding_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> encoding_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-encoding">encoding</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_encoding"><a href="#val-pp_encoding" class="anchor"></a><code><span><span class="keyword">val</span> pp_encoding : <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-encoding">encoding</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Human-readable output.</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-chunk"><a href="#type-chunk" class="anchor"></a><code><span><span class="keyword">type</span> chunk</span><span> = </span></code><ol><li id="type-chunk.Chunk" class="def variant constructor anchored"><a href="#type-chunk.Chunk" class="anchor"></a><code><span>| </span><span><span class="constructor">Chunk</span> <span class="keyword">of</span> string</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>chunk of data and not the end of stream</p><span class="comment-delim">*)</span></div></li><li id="type-chunk.Final_chunk" class="def variant constructor anchored"><a href="#type-chunk.Final_chunk" class="anchor"></a><code><span>| </span><span><span class="constructor">Final_chunk</span> <span class="keyword">of</span> string</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>the last chunk of data, so no more should be read</p><span class="comment-delim">*)</span></div></li><li id="type-chunk.Done" class="def variant constructor anchored"><a href="#type-chunk.Done" class="anchor"></a><code><span>| </span><span><span class="constructor">Done</span></span></code><div class="def-doc"><span class="comment-delim">(*</span><p>no more body data is present</p><span class="comment-delim">*)</span></div></li></ol></div><div class="spec-doc"><p>A chunk of body that also signals if there to more to arrive</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sexp_of_chunk"><a href="#val-sexp_of_chunk" class="anchor"></a><code><span><span class="keyword">val</span> sexp_of_chunk : <span><a href="#type-chunk">chunk</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-chunk_of_sexp"><a href="#val-chunk_of_sexp" class="anchor"></a><code><span><span class="keyword">val</span> chunk_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-chunk">chunk</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-string_of_encoding"><a href="#val-string_of_encoding" class="anchor"></a><code><span><span class="keyword">val</span> string_of_encoding : <span><a href="#type-encoding">encoding</a> <span class="arrow">&#45;&gt;</span></span> string</span></code></div><div class="spec-doc"><p>Convert the encoding format to a human-readable string</p></div></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-encoding">encoding</a> <span class="arrow">&#45;&gt;</span></span> <span>[ `No <span>| `Unknown</span> <span>| `Yes</span> ]</span></span></code></div><div class="spec-doc"><p><code>has_body encoding</code> returns the appropriate variant that indicates whether the HTTP request or response has an associated body. It does not guess: instead <code>Unknown</code> is returned if there is no explicit association.</p></div></div></div></body></html>