Source

spotxtras / xcurl.mli

Full commit
open Spotlib.Spot

val ok200 : int * string -> [> (string, [> `Http of int * [> `Message of string ]]) Result.t ]
(** HTTP result to a result monad *)

val get_string : 
  (Curl.handle -> unit) 
  -> [> (string, [> `Http of int * [> `Message of string ]
                 |  `Curl of int * string ]) Result.t ]
(** Get string *)

module Error : sig
  type t = [ `Curl of int * string  (** Curl library error *)
           | `Http of int * [ `Message of string | `Downloaded of string ]  (** HTTP return status is not 200 *)
           ]
  val format : Format.t -> [< t ] -> unit
end

val download : 
  string 
  -> (Curl.handle -> unit) 
  -> [> (string, [> Error.t] ) Result.t ]
(** Download file. Return the final downloaded file path.
    At error, the tmp file is not removed since it may contain error message. 
*)