sig
  module File_content :
    sig
      type t =
          string * Ocsigen_charset_mime.charset_assoc *
          Ocsigen_charset_mime.mime_assoc
      type options
      val result_of_content :
        ?options:options -> t -> Ocsigen_http_frame.result Lwt.t
      val get_etag : t -> Ocsigen_http_frame.etag option
    end
  module Xhtml_content :
    sig
      type t = [ `Html ] XHTML.M.elt
      type options =
          [ `Doctype of string
          | `HTML_v03_02
          | `HTML_v04_01
          | `XHTML_01_00
          | `XHTML_01_01 ]
      val result_of_content :
        ?options:options -> t -> Ocsigen_http_frame.result Lwt.t
      val get_etag : t -> Ocsigen_http_frame.etag option
    end
  module Xhtmlcompact_content :
    sig
      type t = [ `Html ] XHTML.M.elt
      type options =
          [ `Doctype of string
          | `HTML_v03_02
          | `HTML_v04_01
          | `XHTML_01_00
          | `XHTML_01_01 ]
      val result_of_content :
        ?options:options -> t -> Ocsigen_http_frame.result Lwt.t
      val get_etag : t -> Ocsigen_http_frame.etag option
    end
  module Text_content :
    sig
      type t = string * string
      type options
      val result_of_content :
        ?options:options -> t -> Ocsigen_http_frame.result Lwt.t
      val get_etag : t -> Ocsigen_http_frame.etag option
    end
  module Stream_content :
    sig
      type t = string Ocsigen_stream.t
      type options
      val result_of_content :
        ?options:options -> t -> Ocsigen_http_frame.result Lwt.t
      val get_etag : t -> Ocsigen_http_frame.etag option
    end
  module Streamlist_content :
    sig
      type t = (unit -> string Ocsigen_stream.t Lwt.t) list * string
      type options
      val result_of_content :
        ?options:options -> t -> Ocsigen_http_frame.result Lwt.t
      val get_etag : t -> Ocsigen_http_frame.etag option
    end
  module Empty_content :
    sig
      type t = unit
      type options
      val result_of_content :
        ?options:options -> t -> Ocsigen_http_frame.result Lwt.t
      val get_etag : t -> Ocsigen_http_frame.etag option
    end
  module Directory_content :
    sig
      type t = string * string list
      type options
      val result_of_content :
        ?options:options -> t -> Ocsigen_http_frame.result Lwt.t
      val get_etag : t -> Ocsigen_http_frame.etag option
    end
  module Error_content :
    sig
      type t = int option * exn option * Ocsigen_http_frame.cookieset
      type options
      val result_of_content :
        ?options:options -> t -> Ocsigen_http_frame.result Lwt.t
      val get_etag : t -> Ocsigen_http_frame.etag option
    end
  val send_error :
    ?code:int ->
    ?exn:exn ->
    Ocsigen_http_com.slot ->
    clientproto:Ocsigen_http_frame.Http_header.proto ->
    ?mode:Ocsigen_http_frame.Http_header.http_mode ->
    ?proto:Ocsigen_http_frame.Http_header.proto ->
    ?cookies:Ocsigen_http_frame.cookieset ->
    head:bool -> sender:Ocsigen_http_com.sender_type -> unit -> unit Lwt.t
end