sig
  type body = unit -> (bytes * int * int) option
  type t = Webs.req
  val v :
    ?dict:Webs.dict ->
    Webs.HTTP.version ->
    Webs.HTTP.meth ->
    path:Webs.HTTP.path ->
    ?query:string ->
    Webs.HTTP.headers -> ?body_len:int -> Webs.Req.body -> Webs.req
  val version : Webs.req -> Webs.HTTP.version
  val meth : Webs.req -> Webs.HTTP.meth
  val path : Webs.req -> Webs.HTTP.path
  val query : Webs.req -> string option
  val headers : Webs.req -> Webs.HTTP.headers
  val dict : Webs.req -> Webs.dict
  val body_len : Webs.req -> int option
  val body : Webs.req -> Webs.Req.body
  val with_headers : Webs.req -> Webs.HTTP.headers -> Webs.req
  val with_body :
    Webs.req -> body_len:int option -> Webs.Req.body -> Webs.req
  val with_path : Webs.req -> Webs.HTTP.path -> Webs.req
  val with_dict : Webs.req -> Webs.dict -> Webs.req
  val pp : Format.formatter -> Webs.req -> unit
end