sig
  class type cgi_argument =
    object
      method charset : string
      method content_type :
        unit -> string * (string * Mimestring.s_param) list
      method filename : string option
      method finalize : unit -> unit
      method name : string
      method open_value_rd : unit -> Netchannels.in_obj_channel
      method representation :
        [ `MIME of Netmime.mime_message | `Simple of Netmime.mime_body ]
      method store : [ `File of string | `Memory ]
      method value : string
    end
  module Argument :
    sig
      exception Oversized
      val simple : string -> string -> Netcgi.cgi_argument
      val mime :
        ?work_around_backslash_bug:bool ->
        ?name:string -> Netmime.mime_message -> Netcgi.cgi_argument
      val clone :
        ?name:string ->
        ?value:string ->
        ?msg:Netmime.mime_message ->
        Netcgi.cgi_argument -> Netcgi.cgi_argument
      val set :
        Netcgi.cgi_argument list ->
        Netcgi.cgi_argument list -> Netcgi.cgi_argument list
    end
  class type rw_cgi_argument =
    object
      method charset : string
      method content_type :
        unit -> string * (string * Mimestring.s_param) list
      method filename : string option
      method finalize : unit -> unit
      method name : string
      method open_value_rd : unit -> Netchannels.in_obj_channel
      method open_value_wr : unit -> Netchannels.out_obj_channel
      method representation :
        [ `MIME of Netmime.mime_message | `Simple of Netmime.mime_body ]
      method ro : bool
      method set_value : string -> unit
      method store : [ `File of string | `Memory ]
      method value : string
    end
  class simple_argument : ?ro:bool -> string -> string -> rw_cgi_argument
  class mime_argument :
    ?work_around_backslash_bug:bool ->
    string -> Netmime.mime_message -> rw_cgi_argument
  module Cookie :
    sig
      type t = Netcgi_common.Cookie.t
      val make :
        ?max_age:int ->
        ?domain:string ->
        ?path:string ->
        ?secure:bool ->
        ?comment:string ->
        ?comment_url:string ->
        ?ports:int list -> string -> string -> Netcgi.Cookie.t
      val name : Netcgi.Cookie.t -> string
      val value : Netcgi.Cookie.t -> string
      val domain : Netcgi.Cookie.t -> string option
      val path : Netcgi.Cookie.t -> string option
      val ports : Netcgi.Cookie.t -> int list option
      val set_value : Netcgi.Cookie.t -> string -> unit
      val set_max_age : Netcgi.Cookie.t -> int option -> unit
      val set_domain : Netcgi.Cookie.t -> string option -> unit
      val set_path : Netcgi.Cookie.t -> string option -> unit
      val set_secure : Netcgi.Cookie.t -> bool -> unit
      val set_comment : Netcgi.Cookie.t -> string -> unit
      val set_comment_url : Netcgi.Cookie.t -> string -> unit
      val set_ports : Netcgi.Cookie.t -> int list option -> unit
    end
  type config =
    Netcgi_common.config = {
    tmp_directory : string;
    tmp_prefix : string;
    permitted_http_methods : [ `DELETE | `GET | `HEAD | `POST | `PUT ] list;
    permitted_input_content_types : string list;
    input_content_length_limit : int;
    workarounds :
      [ `Backslash_bug
      | `MSIE_Content_type_bug
      | `Work_around_MSIE_Content_type_bug
      | `Work_around_backslash_bug ] list;
  }
  val default_config : Netcgi.config
  class type cgi_environment =
    object
      method cgi_auth_type : string
      method cgi_gateway_interface : string
      method cgi_https : bool
      method cgi_path_info : string
      method cgi_path_translated : string
      method cgi_properties : (string * string) list
      method cgi_property : ?default:string -> string -> string
      method cgi_query_string : string
      method cgi_remote_addr : string
      method cgi_remote_host : string
      method cgi_remote_ident : string
      method cgi_remote_user : string
      method cgi_request_method : string
      method cgi_script_name : string
      method cgi_server_name : string
      method cgi_server_port : int option
      method cgi_server_protocol : string
      method cgi_server_software : string
      method config : Netcgi.config
      method cookie : string -> Netcgi.Cookie.t
      method cookies : Netcgi.Cookie.t list
      method input_content_length : int
      method input_content_type :
        unit -> string * (string * Mimestring.s_param) list
      method input_content_type_string : string
      method input_header : Netmime.mime_header
      method input_header_field : ?default:string -> string -> string
      method input_header_fields : (string * string) list
      method log_error : string -> unit
      method multiple_input_header_field : string -> string list
      method multiple_output_header_field : string -> string list
      method out_channel : Netchannels.out_obj_channel
      method output_ch : Netchannels.out_obj_channel
      method output_header : Netmime.mime_header
      method output_header_field : ?default:string -> string -> string
      method output_header_fields : (string * string) list
      method protocol : Nethttp.protocol
      method send_output_header : unit -> unit
      method set_multiple_output_header_field : string -> string list -> unit
      method set_output_header_field : string -> string -> unit
      method set_output_header_fields : (string * string) list -> unit
      method set_status : Nethttp.http_status -> unit
      method user_agent : string
    end
  type other_url_spec = [ `Env | `None | `This of string ]
  type query_string_spec =
      [ `Args of Netcgi.rw_cgi_argument list
      | `Env
      | `None
      | `This of Netcgi.cgi_argument list ]
  type cache_control = [ `Max_age of int | `No_cache | `Unspecified ]
  class type cgi =
    object
      method argument : string -> Netcgi.cgi_argument
      method argument_exists : string -> bool
      method argument_value : ?default:string -> string -> string
      method arguments : Netcgi.cgi_argument list
      method at_exit : (unit -> unit) -> unit
      method environment : Netcgi.cgi_environment
      method finalize : unit -> unit
      method multiple_argument : string -> Netcgi.cgi_argument list
      method out_channel : Netchannels.trans_out_obj_channel
      method output : Netchannels.trans_out_obj_channel
      method request_method :
        [ `DELETE | `GET | `HEAD | `POST | `PUT of Netcgi.cgi_argument ]
      method set_header :
        ?status:Nethttp.http_status ->
        ?content_type:string ->
        ?content_length:int ->
        ?set_cookie:Nethttp.cookie list ->
        ?set_cookies:Netcgi.Cookie.t list ->
        ?cache:Netcgi.cache_control ->
        ?filename:string ->
        ?language:string ->
        ?script_type:string ->
        ?style_type:string ->
        ?fields:(string * string list) list -> unit -> unit
      method set_redirection_header :
        ?set_cookies:Netcgi.Cookie.t list ->
        ?fields:(string * string list) list -> string -> unit
      method url :
        ?protocol:Nethttp.protocol ->
        ?with_authority:Netcgi.other_url_spec ->
        ?with_script_name:Netcgi.other_url_spec ->
        ?with_path_info:Netcgi.other_url_spec ->
        ?with_query_string:Netcgi.query_string_spec -> unit -> string
    end
  type output_type =
      [ `Direct of string
      | `Transactional of
          Netcgi.config ->
          Netchannels.out_obj_channel -> Netchannels.trans_out_obj_channel ]
  type arg_store =
      Netcgi.cgi_environment ->
      string ->
      Netmime.mime_header_ro ->
      [ `Automatic
      | `Automatic_max of float
      | `Discard
      | `File
      | `File_max of float
      | `Memory
      | `Memory_max of float ]
  type exn_handler = Netcgi.cgi_environment -> (unit -> unit) -> unit
  class type ['a] container =
    object
      method accept :
        unit ->
        [ `Connection of Unix.sockaddr * Unix.file_descr
        | `Message of 'a
        | `Restart
        | `Shutdown ]
      method broadcast : '-> unit
      method type_of_container : [ `Process | `Sequential | `Thread ]
    end
  type 'a connection_handler =
      'Netcgi.container -> (Netcgi.cgi -> unit) -> unit
  type binding = (Netcgi.url_filter * Netcgi.action) list
  and url_filter = string -> bool
  and action = Netcgi.cgi -> unit
end




SourceForge.net Logo