sig
  type request_line = { meth : string; path : string; version : string; }
  type request = {
    line : Http.Request.request_line;
    headers : (string, string) Stdlib.Hashtbl.t;
  }
  val req_method : Http.Request.request -> string
  val req_path : Http.Request.request -> string
  val req_version : Http.Request.request -> string
  val line_of_string : string -> Http.Request.request_line
  val request_of_line : string -> Http.Request.request
  val recv_request_line :
    Unix.file_descr -> Http.Request.request_line * string
  val recv_request_headers :
    Unix.file_descr -> string -> (string, string) Stdlib.Hashtbl.t
  val recv_request : Unix.file_descr -> Http.Request.request
end