ezcurl

Friendly wrapper around OCurl
IN THIS PACKAGE
Module Ezcurl

Synchronous API

include module type of struct include Ezcurl_core end

Core signatures and implementation

module Config = Ezcurl_core.Config
type t = Curl.t
val make : ?set_opts:( t -> unit ) -> unit -> t
val delete : t -> unit
val with_client : ?set_opts:( t -> unit ) -> ( t -> 'a ) -> 'a

Make a temporary client, call the function with it, then cleanup

type response_info = Ezcurl_core.response_info = {
ri_response_time : float;
ri_redirect_count : int;
}
val pp_response_info : Format.formatter -> response_info -> unit
val string_of_response_info : response_info -> string
type response = Ezcurl_core.response = {
code : int;
headers : (string * string) list;
body : string;
info : response_info;
}
val pp_response : Format.formatter -> response -> unit
val string_of_response : response -> string
type meth = Ezcurl_core.meth =
| GET
| POST of Curl.curlHTTPPost list
| PUT
| DELETE
| HEAD
| CONNECT
| OPTIONS
| TRACE
| PATCH

The HTTP method to use

val pp_meth : Format.formatter -> meth -> unit
val string_of_meth : meth -> string
module type IO = Ezcurl_core.IO
module type S = Ezcurl_core.S
module Make = Ezcurl_core.Make
type 'a0 io = 'a
val http : ?tries:int -> ?client:Ezcurl_core.t -> ?config:Ezcurl_core.Config.t -> ?range:string -> ?content:[ `String of string | `Write of bytes -> int -> int ] -> ?headers:(string * string) list -> url:string -> meth:Ezcurl_core.meth -> unit -> ( Ezcurl_core.response, Curl.curlCode * string ) result io
val get : ?tries:int -> ?client:Ezcurl_core.t -> ?config:Ezcurl_core.Config.t -> ?range:string -> ?headers:(string * string) list -> url:string -> unit -> ( Ezcurl_core.response, Curl.curlCode * string ) result io
val put : ?tries:int -> ?client:Ezcurl_core.t -> ?config:Ezcurl_core.Config.t -> ?headers:(string * string) list -> url:string -> content:[ `String of string | `Write of bytes -> int -> int ] -> unit -> ( Ezcurl_core.response, Curl.curlCode * string ) result io
val post : ?tries:int -> ?client:Ezcurl_core.t -> ?config:Ezcurl_core.Config.t -> ?headers:(string * string) list -> ?content:[ `String of string | `Write of bytes -> int -> int ] -> params:Curl.curlHTTPPost list -> url:string -> unit -> ( Ezcurl_core.response, Curl.curlCode * string ) result io