sig
  type representation =
      [ `MIME of Netmime.mime_message | `Simple of Netmime.mime_body ]
  type store = [ `File of string | `Memory ]
  exception Oversized
  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 : Netcgi_common.representation
      method store : Netcgi_common.store
      method value : string
    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 : representation
      method ro : bool
      method set_value : string -> unit
      method store : store
      method value : string
    end
  class simple_arg : ?ro:bool -> string -> string -> rw_cgi_argument
  class mime_arg :
    ?work_around_backslash_bug:bool ->
    ?name:string -> Netmime.mime_message -> rw_cgi_argument
  module Cookie :
    sig
      type t
      val make :
        ?max_age:int ->
        ?domain:string ->
        ?path:string ->
        ?secure:bool ->
        ?comment:string ->
        ?comment_url:string ->
        ?ports:int list -> string -> string -> Netcgi_common.Cookie.t
      val name : Netcgi_common.Cookie.t -> string
      val value : Netcgi_common.Cookie.t -> string
      val max_age : Netcgi_common.Cookie.t -> int option
      val domain : Netcgi_common.Cookie.t -> string option
      val path : Netcgi_common.Cookie.t -> string option
      val secure : Netcgi_common.Cookie.t -> bool
      val comment : Netcgi_common.Cookie.t -> string
      val comment_url : Netcgi_common.Cookie.t -> string
      val ports : Netcgi_common.Cookie.t -> int list option
      val set_value : Netcgi_common.Cookie.t -> string -> unit
      val set_max_age : Netcgi_common.Cookie.t -> int option -> unit
      val set_domain : Netcgi_common.Cookie.t -> string option -> unit
      val set_path : Netcgi_common.Cookie.t -> string option -> unit
      val set_secure : Netcgi_common.Cookie.t -> bool -> unit
      val set_comment : Netcgi_common.Cookie.t -> string -> unit
      val set_comment_url : Netcgi_common.Cookie.t -> string -> unit
      val set_ports : Netcgi_common.Cookie.t -> int list option -> unit
      val set : #Netmime.mime_header -> Netcgi_common.Cookie.t list -> unit
      val get : #Netmime.mime_header -> Netcgi_common.Cookie.t list
      val of_record : Nethttp.cookie -> Netcgi_common.Cookie.t
      val to_record : Netcgi_common.Cookie.t -> Nethttp.cookie
    end
  type 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;
  }
  type output_type =
      [ `Direct of string
      | `Transactional of
          Netcgi_common.config ->
          Netchannels.out_obj_channel -> Netchannels.trans_out_obj_channel ]
  val fix_MSIE_Content_type_bug : string -> string
  val is_MSIE : string -> bool
  class cgi_environment :
    config:Netcgi_common.config ->
    properties:(string * string) list ->
    input_header:(string * string) list ->
    Netchannels.out_obj_channel ->
    object
      val mutable header_not_sent : bool
      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_common.config
      method cookie : string -> Netcgi_common.Cookie.t
      method cookies : Netcgi_common.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_common.rw_cgi_argument list
      | `Env
      | `None
      | `This of Netcgi_common.cgi_argument list ]
  type cache_control = [ `Max_age of int | `No_cache | `Unspecified ]
  type request_method =
      [ `DELETE | `GET | `HEAD | `POST | `PUT of Netcgi_common.cgi_argument ]
  val string_of_request_method : Netcgi_common.request_method -> string
  type arg_store =
      Netcgi_common.cgi_environment ->
      string ->
      Netmime.mime_header_ro ->
      [ `Automatic
      | `Automatic_max of float
      | `Discard
      | `File
      | `File_max of float
      | `Memory
      | `Memory_max of float ]
  class cgi :
    Netcgi_common.cgi_environment ->
    Netcgi_common.output_type ->
    Netcgi_common.request_method ->
    Netcgi_common.cgi_argument list ->
    object
      method argument : string -> Netcgi_common.cgi_argument
      method argument_exists : string -> bool
      method argument_value : ?default:string -> string -> string
      method arguments : Netcgi_common.cgi_argument list
      method at_exit : (unit -> unit) -> unit
      method environment : Netcgi_common.cgi_environment
      method finalize : unit -> unit
      method multiple_argument : string -> Netcgi_common.cgi_argument list
      method out_channel : Netchannels.trans_out_obj_channel
      method output : Netchannels.trans_out_obj_channel
      method request_method : Netcgi_common.request_method
      method set_header :
        ?status:Nethttp.http_status ->
        ?content_type:string ->
        ?content_length:int ->
        ?set_cookie:Nethttp.cookie list ->
        ?set_cookies:Netcgi_common.Cookie.t list ->
        ?cache:Netcgi_common.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_common.Cookie.t list ->
        ?fields:(string * string list) list -> string -> unit
      method url :
        ?protocol:Nethttp.protocol ->
        ?with_authority:Netcgi_common.other_url_spec ->
        ?with_script_name:Netcgi_common.other_url_spec ->
        ?with_path_info:Netcgi_common.other_url_spec ->
        ?with_query_string:Netcgi_common.query_string_spec -> unit -> string
    end
  val cgi_with_args :
    (Netcgi_common.cgi_environment ->
     Netcgi_common.output_type ->
     Netcgi_common.request_method -> Netcgi_common.cgi_argument list -> 'a) ->
    Netcgi_common.cgi_environment ->
    Netcgi_common.output_type ->
    Netchannels.in_obj_channel -> Netcgi_common.arg_store -> 'a
  exception HTTP of Nethttp.http_status * string
  val exn_handler_default :
    Netcgi_common.cgi_environment ->
    exn_handler:(Netcgi_common.cgi_environment -> (unit -> unit) -> unit) ->
    finally:(unit -> 'a) -> (unit -> exn option) -> 'a
  val update_props_inheader :
    string * string ->
    (string * string) list * (string * string) list ->
    (string * string) list * (string * string) list
  class in_obj_of_descr :
    buffer_len:int ->
    Unix.file_descr ->
    object
      val fd : Unix.file_descr
      val mutable in0 : int
      val mutable in1 : int
      val in_buf : string
      val mutable pos_in : int
      method close_in : unit -> unit
      method private fill_in_buf : unit -> unit
      method input : string -> int -> int -> int
      method input_all_till : char -> string
      method input_byte : unit -> int
      method input_char : unit -> char
      method input_line : unit -> string
      method pos_in : int
      method really_input : string -> int -> int -> unit
      method private unsafe_input : string -> int -> int -> int
      method private unsafe_really_input : string -> int -> int -> unit
    end
  class out_obj_of_descr :
    buffer_len:int ->
    Unix.file_descr ->
    object
      val fd : Unix.file_descr
      val mutable out1 : int
      val out_buf : string
      val mutable pos_out : int
      method close_out : unit -> unit
      method flush : unit -> unit
      method output : string -> int -> int -> int
      method output_buffer : Buffer.t -> unit
      method output_byte : int -> unit
      method output_channel : ?len:int -> Netchannels.in_obj_channel -> unit
      method output_char : char -> unit
      method output_string : string -> unit
      method pos_out : int
      method really_output : string -> int -> int -> unit
      method private unsafe_output : string -> int -> int -> int
      method private unsafe_really_output : string -> int -> int -> unit
      method private write : string -> int -> int -> int
    end
  module Url :
    sig
      val decode : ?plus:bool -> string -> string
      val encode : ?plus:bool -> string -> string
      val mk_url_encoded_parameters : (string * string) list -> string
      val dest_url_encoded_parameters : string -> (string * string) list
    end
  module KMP :
    sig
      val search : string -> string -> int -> int -> int
      val search_case_fold : string -> string -> int -> int -> int
    end
  val rm_htspace : (char -> bool) -> string -> int -> int -> string
  val rev_split : (char -> bool) -> string -> string list
  val is_prefix : string -> string -> bool
end




SourceForge.net Logo