# Module Ocsigen_request

    module Ocsigen_request: sig .. end

    type t

    type content_type = (string * string) * (string * string) list

    type file_info = Ocsigen_multipart.file_info = {

`` | `tmp_filename : `string`;`
`` | `filesize : `int64`;`
`` | `raw_original_filename : `string`;`
`` | `file_content_type : `content_type option`;`

`}`

    type post_data = (string * string) list * (string * file_info) list

    val make : ?forward_ip:string list ->
           ?sub_path:string ->
           ?original_full_path:string ->
           ?request_cache:Polytables.t ->
           ?cookies_override:string Ocsigen_cookie_map.Map_inner.t ->
           address:Unix.inet_addr ->
           port:int ->
           ssl:bool ->
           filenames:string list Stdlib.ref ->
           sockaddr:Lwt_unix.sockaddr ->
           body:Cohttp_lwt.Body.t ->
           connection_closed:unit Lwt.t -> Cohttp.Request.t -> t

    val update : ?ssl:bool ->
           ?forward_ip:string list ->
           ?remote_ip:string ->
           ?sub_path:string ->
           ?meth:Cohttp.Code.meth ->
           ?get_params_flat:(string * string) list ->
           ?post_data:post_data option ->
           ?cookies_override:string Ocsigen_cookie_map.Map_inner.t ->
           ?full_rewrite:bool -> ?uri:Uri.t -> t -> t

    val to_cohttp : t -> Cohttp.Request.t

    val uri : t -> Uri.t

    val body : t -> Cohttp_lwt.Body.t

    val address : t -> Unix.inet_addr

    val host : t -> string option

    val meth : t -> Cohttp.Code.meth

    val port : t -> int

    val ssl : t -> bool

    val version : t -> Cohttp.Code.version

    val query : t -> string option

    val get_params : t -> (string * string list) list

    val get_params_flat : t -> (string * string) list

    val path : t -> string list

    val path_string : t -> string

    val sub_path : t -> string list

    val sub_path_string : t -> string

    val original_full_path : t -> string list

    val original_full_path_string : t -> string

    val header : t -> Ocsigen_header.Name.t -> string option

    val header_multi : t -> Ocsigen_header.Name.t -> string list

    val add_header : t -> Ocsigen_header.Name.t -> string -> t

    val cookies : t -> string Ocsigen_cookie_map.Map_inner.t

    val files : t ->
           string option ->
           Stdlib.Int64.t option ->
           (string * file_info) list Lwt.t option

    val post_params : t ->
           string option -> Stdlib.Int64.t option -> (string * string) list Lwt.t option

    val remote_ip : t -> string

    val remote_ip_parsed : t -> Ipaddr.t

    val forward_ip : t -> string list

    val content_type : t -> content_type option

    val request_cache : t -> Polytables.t

    val tries : t -> int

    val incr_tries : t -> unit

    val connection_closed : t -> unit Lwt.t

    val timeofday : t -> float