sig
  type t = { cmd : Http.cmd; headers : Http.header list; body : string; }
  val string_of_cmd : Http.cmd -> string
  type parse_item =
      [ `HttpHeaders of Http.header list
      | `HttpRequest of string * string
      | `HttpResponse of int * string ]
  val make_request :
    string -> string -> ?body:string -> Http.header list -> Http.Pdu.t
  val make_status : Http.code -> Http.header list -> string -> Http.Pdu.t
  val parzer :
    unit -> char list -> bool -> (Http.Pdu.t, char) Peg.parzer_result
  val pack : Http.Pdu.t -> Bitstring.bitstring
  val unpack : Bitstring.bitstring -> Http.Pdu.t option
end