ezcurl/ezcurl-lwt/Ezcurl_lwt/index.html

57 lines
23 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>Ezcurl_lwt (ezcurl-lwt.Ezcurl_lwt)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../odoc.support/odoc.css"/><meta name="generator" content="odoc 3.1.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../odoc.support/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">ezcurl-lwt</a> &#x00BB; Ezcurl_lwt</nav><header class="odoc-preamble"><h1>Module <code><span>Ezcurl_lwt</span></code></h1></header><div class="odoc-content"><div class="odoc-include"><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> <span class="keyword">struct</span> <span class="keyword">include</span> <a href="../../ezcurl/Ezcurl_core/index.html">Ezcurl_core</a> <span class="keyword">end</span></span></code></summary><div class="odoc-spec"><div class="spec module anchored" id="module-Config"><a href="#module-Config" class="anchor"></a><code><span><span class="keyword">module</span> Config</span><span> = <a href="../../ezcurl/Ezcurl_core/Config/index.html">Ezcurl_core.Config</a></span></code></div><div class="spec-doc"><p>Configuration for the client.</p></div></div><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 class="keyword">private</span> <a href="../../ezcurl/Ezcurl_core/index.html#type-t">Ezcurl_core.t</a></span><span> = </span><span>{</span></code><ol><li id="type-t.curl" class="def record field anchored"><a href="#type-t.curl" class="anchor"></a><code><span>curl : <span class="xref-unresolved">Curl</span>.t;</span></code></li></ol><code><span>}</span></code></div><div class="spec-doc"><p>A client, i.e. a cURL instance. The wrapping record has been present since NEXT_RELEASE</p></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">?set_opts</span>:<span>(<span><span class="xref-unresolved">Curl</span>.t <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?cookiejar_file</span>:string <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?enable_session_cookies</span>:bool <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>Create a new client.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">set_opts</span> <p>called before returning the client, to set options</p></li></ul><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">cookiejar_file</span> <p>if provided, tell curl to use the given file path to store/load cookies (since NEXT_RELEASE)</p></li></ul><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">enable_session_cookies</span> <p>if provided, enable cookie handling in curl so it store/load cookies (since NEXT_RELEASE)</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-delete"><a href="#val-delete" class="anchor"></a><code><span><span class="keyword">val</span> delete : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Delete the client. It cannot be used anymore.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-with_client"><a href="#val-with_client" class="anchor"></a><code><span><span class="keyword">val</span> with_client : <span><span class="optlabel">?set_opts</span>:<span>(<span><span class="xref-unresolved">Curl</span>.t <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span> <span><span>(<span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'a</span>)</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'a</span></span></code></div><div class="spec-doc"><p>Make a temporary client, call the function with it, then cleanup.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-set_no_signal"><a href="#val-set_no_signal" class="anchor"></a><code><span><span class="keyword">val</span> set_no_signal : <span>bool <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Set no_signal default value for each new client instance. Default is <code>true</code>. See <code>CURLOPT_NOSIGNAL</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> NEXT_RELEASE</li></ul></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Cookies"><a href="#module-Cookies" class="anchor"></a><code><span><span class="keyword">module</span> Cookies</span><span> = <a href="../../ezcurl/Ezcurl_core/Cookies/index.html">Ezcurl_core.Cookies</a></span></code></div><div class="spec-doc"><p>Cookie handling.</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-response_info"><a href="#type-response_info" class="anchor"></a><code><span><span class="keyword">type</span> response_info</span><span> = <a href="../../ezcurl/Ezcurl_core/index.html#type-response_info">Ezcurl_core.response_info</a></span><span> = </span><span>{</span></code><ol><li id="type-response_info.ri_response_time" class="def record field anchored"><a href="#type-response_info.ri_response_time" class="anchor"></a><code><span>ri_response_time : float;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Total time (in seconds) for the request/response pair. See <code>Curl.get_totaltime</code>.</p><span class="comment-delim">*)</span></div></li><li id="type-response_info.ri_redirect_count" class="def record field anchored"><a href="#type-response_info.ri_redirect_count" class="anchor"></a><code><span>ri_redirect_count : int;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Number of redirects cURL followed. See <code>Curl.get_redirectcount</code>.</p><span class="comment-delim">*)</span></div></li></ol><code><span>}</span></code></div><div class="spec-doc"><p>Metadata about a response from the server.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_response_info"><a href="#val-pp_response_info" class="anchor"></a><code><span><span class="keyword">val</span> pp_response_info : <span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-response_info">response_info</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-string_of_response_info"><a href="#val-string_of_response_info" class="anchor"></a><code><span><span class="keyword">val</span> string_of_response_info : <span><a href="#type-response_info">response_info</a> <span class="arrow">&#45;&gt;</span></span> string</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-response"><a href="#type-response" class="anchor"></a><code><span><span class="keyword">type</span> <span>'body response</span></span><span> = <span><span class="type-var">'body</span> <a href="../../ezcurl/Ezcurl_core/index.html#type-response">Ezcurl_core.response</a></span></span><span> = </span><span>{</span></code><ol><li id="type-response.code" class="def record field anchored"><a href="#type-response.code" class="anchor"></a><code><span>code : int;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Response code. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Status</p><span class="comment-delim">*)</span></div></li><li id="type-response.headers" class="def record field anchored"><a href="#type-response.headers" class="anchor"></a><code><span>headers : <span><span>(string * string)</span> list</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Response headers</p><span class="comment-delim">*)</span></div></li><li id="type-response.body" class="def record field anchored"><a href="#type-response.body" class="anchor"></a><code><span>body : <span class="type-var">'body</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Response body, or <code>&quot;&quot;</code></p><span class="comment-delim">*)</span></div></li><li id="type-response.info" class="def record field anchored"><a href="#type-response.info" class="anchor"></a><code><span>info : <a href="#type-response_info">response_info</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Information about the response</p><span class="comment-delim">*)</span></div></li></ol><code><span>}</span></code></div><div class="spec-doc"><p>Response for a given request.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_response_with"><a href="#val-pp_response_with" class="anchor"></a><code><span><span class="keyword">val</span> pp_response_with :
<span><span>(<span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">&#45;&gt;</span></span>
<span><span><span class="type-var">'a</span> <a href="#type-response">response</a></span> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_response"><a href="#val-pp_response" class="anchor"></a><code><span><span class="keyword">val</span> pp_response : <span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">&#45;&gt;</span></span> <span><span>string <a href="#type-response">response</a></span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-string_of_response"><a href="#val-string_of_response" class="anchor"></a><code><span><span class="keyword">val</span> string_of_response : <span><span>string <a href="#type-response">response</a></span> <span class="arrow">&#45;&gt;</span></span> string</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-meth"><a href="#type-meth" class="anchor"></a><code><span><span class="keyword">type</span> meth</span><span> = <a href="../../ezcurl/Ezcurl_core/index.html#type-meth">Ezcurl_core.meth</a></span><span> = </span></code><ol><li id="type-meth.GET" class="def variant constructor anchored"><a href="#type-meth.GET" class="anchor"></a><code><span>| </span><span><span class="constructor">GET</span></span></code></li><li id="type-meth.POST" class="def variant constructor anchored"><a href="#type-meth.POST" class="anchor"></a><code><span>| </span><span><span class="constructor">POST</span> <span class="keyword">of</span> <span><span class="xref-unresolved">Curl</span>.curlHTTPPost list</span></span></code></li><li id="type-meth.PUT" class="def variant constructor anchored"><a href="#type-meth.PUT" class="anchor"></a><code><span>| </span><span><span class="constructor">PUT</span></span></code></li><li id="type-meth.DELETE" class="def variant constructor anchored"><a href="#type-meth.DELETE" class="anchor"></a><code><span>| </span><span><span class="constructor">DELETE</span></span></code></li><li id="type-meth.HEAD" class="def variant constructor anchored"><a href="#type-meth.HEAD" class="anchor"></a><code><span>| </span><span><span class="constructor">HEAD</span></span></code></li><li id="type-meth.CONNECT" class="def variant constructor anchored"><a href="#type-meth.CONNECT" class="anchor"></a><code><span>| </span><span><span class="constructor">CONNECT</span></span></code></li><li id="type-meth.OPTIONS" class="def variant constructor anchored"><a href="#type-meth.OPTIONS" class="anchor"></a><code><span>| </span><span><span class="constructor">OPTIONS</span></span></code></li><li id="type-meth.TRACE" class="def variant constructor anchored"><a href="#type-meth.TRACE" class="anchor"></a><code><span>| </span><span><span class="constructor">TRACE</span></span></code></li><li id="type-meth.PATCH" class="def variant constructor anchored"><a href="#type-meth.PATCH" class="anchor"></a><code><span>| </span><span><span class="constructor">PATCH</span></span></code></li></ol></div><div class="spec-doc"><p>The <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods">HTTP method</a> to use</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_meth"><a href="#val-pp_meth" class="anchor"></a><code><span><span class="keyword">val</span> pp_meth : <span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-meth">meth</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-string_of_meth"><a href="#val-string_of_meth" class="anchor"></a><code><span><span class="keyword">val</span> string_of_meth : <span><a href="#type-meth">meth</a> <span class="arrow">&#45;&gt;</span></span> string</span></code></div></div><div class="odoc-spec"><div class="spec module-type anchored" id="module-type-IO"><a href="#module-type-IO" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> IO</span><span> = <a href="../../ezcurl/Ezcurl_core/module-type-IO/index.html">Ezcurl_core.IO</a></span></code></div></div><div class="odoc-spec"><div class="spec module-type anchored" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> S</span><span> = <a href="../../ezcurl/Ezcurl_core/module-type-S/index.html">Ezcurl_core.S</a></span></code></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> Make</span><span> = <a href="../../ezcurl/Ezcurl_core/Make/index.html">Ezcurl_core.Make</a></span></code></div></div></details></div><div class="odoc-include"><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></summary><div class="odoc-spec"><div class="spec type anchored" id="type-io"><a href="#type-io" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a io</span></span><span> = <span><span class="type-var">'a</span> <span class="xref-unresolved">Lwt</span>.t</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-http"><a href="#val-http" class="anchor"></a><code><span><span class="keyword">val</span> http :
<span><span class="optlabel">?tries</span>:int <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?client</span>:<a href="../../ezcurl/Ezcurl_core/index.html#type-t">Ezcurl_core.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?config</span>:<a href="../../ezcurl/Ezcurl_core/Config/index.html#type-t">Ezcurl_core.Config.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?range</span>:string <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?content</span>:<span>[ <span>`String of string</span> <span><span>| `Write</span> of <span>bytes <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> int</span> ]</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?headers</span>:<span><span>(string * string)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">url</span>:string <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">meth</span>:<a href="../../ezcurl/Ezcurl_core/index.html#type-meth">Ezcurl_core.meth</a> <span class="arrow">&#45;&gt;</span></span>
<span>unit <span class="arrow">&#45;&gt;</span></span>
<span><span><span>(<span>string <a href="../../ezcurl/Ezcurl_core/index.html#type-response">Ezcurl_core.response</a></span>, <span class="xref-unresolved">Curl</span>.curlCode * string)</span> <span class="xref-unresolved">Stdlib</span>.result</span> <a href="#type-io">io</a></span></span></code></div></div><div class="odoc-spec"><div class="spec class-type anchored" id="class-type-input_stream"><a href="#class-type-input_stream" class="anchor"></a><code><span><span class="keyword">class</span> <span class="keyword">type</span> </span><span><a href="class-type-input_stream/index.html">input_stream</a></span><span> = <span class="keyword">object</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-http_stream"><a href="#val-http_stream" class="anchor"></a><code><span><span class="keyword">val</span> http_stream :
<span><span class="optlabel">?tries</span>:int <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?client</span>:<a href="../../ezcurl/Ezcurl_core/index.html#type-t">Ezcurl_core.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?config</span>:<a href="../../ezcurl/Ezcurl_core/Config/index.html#type-t">Ezcurl_core.Config.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?range</span>:string <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?content</span>:<span>[ <span>`String of string</span> <span><span>| `Write</span> of <span>bytes <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> int</span> ]</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?headers</span>:<span><span>(string * string)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">url</span>:string <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">meth</span>:<a href="../../ezcurl/Ezcurl_core/index.html#type-meth">Ezcurl_core.meth</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">write_into</span>:<a href="class-type-input_stream/index.html">input_stream</a> <span class="arrow">&#45;&gt;</span></span>
<span>unit <span class="arrow">&#45;&gt;</span></span>
<span><span><span>(<span>unit <a href="../../ezcurl/Ezcurl_core/index.html#type-response">Ezcurl_core.response</a></span>, <span class="xref-unresolved">Curl</span>.curlCode * string)</span> <span class="xref-unresolved">Stdlib</span>.result</span> <a href="#type-io">io</a></span></span></code></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><span class="optlabel">?tries</span>:int <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?client</span>:<a href="../../ezcurl/Ezcurl_core/index.html#type-t">Ezcurl_core.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?config</span>:<a href="../../ezcurl/Ezcurl_core/Config/index.html#type-t">Ezcurl_core.Config.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?range</span>:string <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?headers</span>:<span><span>(string * string)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">url</span>:string <span class="arrow">&#45;&gt;</span></span>
<span>unit <span class="arrow">&#45;&gt;</span></span>
<span><span><span>(<span>string <a href="../../ezcurl/Ezcurl_core/index.html#type-response">Ezcurl_core.response</a></span>, <span class="xref-unresolved">Curl</span>.curlCode * string)</span> <span class="xref-unresolved">Stdlib</span>.result</span> <a href="#type-io">io</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-put"><a href="#val-put" class="anchor"></a><code><span><span class="keyword">val</span> put :
<span><span class="optlabel">?tries</span>:int <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?client</span>:<a href="../../ezcurl/Ezcurl_core/index.html#type-t">Ezcurl_core.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?config</span>:<a href="../../ezcurl/Ezcurl_core/Config/index.html#type-t">Ezcurl_core.Config.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?headers</span>:<span><span>(string * string)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">url</span>:string <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">content</span>:<span>[ <span>`String of string</span> <span><span>| `Write</span> of <span>bytes <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> int</span> ]</span> <span class="arrow">&#45;&gt;</span></span>
<span>unit <span class="arrow">&#45;&gt;</span></span>
<span><span><span>(<span>string <a href="../../ezcurl/Ezcurl_core/index.html#type-response">Ezcurl_core.response</a></span>, <span class="xref-unresolved">Curl</span>.curlCode * string)</span> <span class="xref-unresolved">Stdlib</span>.result</span> <a href="#type-io">io</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-post"><a href="#val-post" class="anchor"></a><code><span><span class="keyword">val</span> post :
<span><span class="optlabel">?tries</span>:int <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?client</span>:<a href="../../ezcurl/Ezcurl_core/index.html#type-t">Ezcurl_core.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?config</span>:<a href="../../ezcurl/Ezcurl_core/Config/index.html#type-t">Ezcurl_core.Config.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?headers</span>:<span><span>(string * string)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?content</span>:<span>[ <span>`String of string</span> <span><span>| `Write</span> of <span>bytes <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> int</span> ]</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">params</span>:<span><span class="xref-unresolved">Curl</span>.curlHTTPPost list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">url</span>:string <span class="arrow">&#45;&gt;</span></span>
<span>unit <span class="arrow">&#45;&gt;</span></span>
<span><span><span>(<span>string <a href="../../ezcurl/Ezcurl_core/index.html#type-response">Ezcurl_core.response</a></span>, <span class="xref-unresolved">Curl</span>.curlCode * string)</span> <span class="xref-unresolved">Stdlib</span>.result</span> <a href="#type-io">io</a></span></span></code></div></div></details></div></div></body></html>