sig
  exception Http_error of string
  val url_encode : string -> string
  val html_decode : string -> string
  type header = { code : string; fields : (string, string) Hashtbl.t; }
  type params = (string * string) list
  type meth = GET | POST
  val conn :
    ?port:int ->
    string ->
    Http.meth ->
    ?headers:Http.params ->
    string ->
    Http.params ->
    ?rawdata:string -> (Http.header -> Pervasives.in_channel -> 'a) -> 'a
  val https :
    string ->
    Http.meth ->
    ?headers:Http.params ->
    string ->
    ?rawdata:string ->
    Http.params -> [> `Error of [> `Http of int * string ] | `Ok of string ]
end