sig
  exception Query_string_too_big
  type argument_name = string
  type argument_value = {
    arg_value : string option;
    arg_filename : string option;
    arg_content_type : string option;
  }
  type argument_binding = Env.argument_name * Env.argument_value
  type cgi_env = {
    mutable arguments : Env.argument_binding list;
    auth_type : string;
    content_length : int;
    content_type : string;
    cookies : (string * string) list;
    document_root : string;
    enc_type : string;
    gateway_interface : string;
    http_accept : string;
    http_user_agent : string;
    path : string;
    path_info : string;
    path_translated : string;
    mutable query_string : string;
    remote_addr : string;
    remote_host : string;
    remote_ident : string;
    remote_user : string;
    request_method : string;
    server_admin : string;
    server_name : string;
    server_port : int;
    server_protocol : string;
    server_software : string;
    script_filename : string;
    script_name : string;
    script_uri : string;
  }
  val get_cgi_env : unit -> Env.cgi_env
  val string_of_cgi_args : Env.argument_binding list -> string
end