ocamlnet

Internet protocols (HTTP, CGI, e-mail etc.) and helper data structures
IN THIS PACKAGE
  • library equeue
  • library netaccel
  • library netcamlbox
  • library netcgi
  • library netcgi2-plex
  • library netclient
  • library nethttpd
  • library netmulticore
  • library netplex
  • library netshm
  • library netstring
  • library netsys
  • library netsys_oothr
  • library netsys_oothr_mt
  • library netunidata
  • library rpc
  • library rpc_auth_local
  • library rpc_generator
  • library shell
exception Bad_message of string
exception No_reply
exception Too_many_redirections
exception Name_resolution_error of string
exception URL_syntax_error of string
exception Timeout of string
exception Proxy_error of int
exception Response_too_large
exception Http_protocol of exn
exception Http_error of int * string
type status = [
| `Client_error
| `Http_protocol_error of exn
| `Redirection
| `Server_error
| `Successful
| `Unserved
]
type !'a auth_status = [
| `Auth_error
| `Continue of 'a
| `Continue_reroute of 'a * int
| `None
| `OK
| `Reroute of int
]
type !'message_class how_to_reconnect =
| Send_again
| Request_fails
| Inquire of 'message_class -> bool
| Send_again_if_idem
type !'message_class how_to_redirect =
| Redirect
| Do_not_redirect
| Redirect_inquire of 'message_class -> bool
| Redirect_if_idem
type private_api
type response_body_storage = [
| `Body of unit -> Netmime.mime_body
| `Device of unit -> Uq_io.out_device
| `File of unit -> string
| `Memory
]
type synchronization =
| Sync
| Pipeline of int
type resolver = Unixqueue.unix_event_system -> string -> ( Unix.inet_addr option -> unit ) -> unit
type transport_layer_id = int
type http_options = {
synchronization : synchronization;
maximum_connection_failures : int;
maximum_message_errors : int;
inhibit_persistency : bool;
connection_timeout : float;
number_of_parallel_connections : int;
maximum_redirections : int;
handshake_timeout : float;
resolver : resolver;
configure_socket : Unix.file_descr -> unit;
tls : Netsys_crypto_types.tls_config option;
schemes : (string * Neturl.url_syntax * int option * transport_layer_id) list;
verbose_status : bool;
verbose_request_header : bool;
verbose_response_header : bool;
verbose_request_contents : bool;
verbose_response_contents : bool;
verbose_connection : bool;
verbose_events : bool;
}
type header_kind = [
| `Base
| `Effective
]
class type http_call = object ... end
class type tls_cache = object ... end
val null_tls_cache : unit -> tls_cache
val unlim_tls_cache : unit -> tls_cache
class type transport_channel_type = object ... end
class virtual generic_call : object ... end
class get : string -> http_call
class trace : string -> int -> http_call
class options : string -> http_call
class head : string -> http_call
class post : string -> (string * string) list -> http_call
class post_raw : string -> string -> http_call
class put : string -> string -> http_call
class delete : string -> http_call
class type key = object ... end
val key : user:string -> password:string -> realm:string -> domain:Neturl.url list -> key
val key_creds : user:string -> creds:(string * string * (string * string) list) list -> http_options -> key
class type key_handler = object ... end
class key_ring : ?uplink:key_handler -> ?no_invalidation:bool -> unit -> object ... end
class type auth_session = object ... end
class type auth_handler = object ... end
class basic_auth_handler : ?enable_reauth:bool -> ?skip_challenge:bool -> key_handler -> auth_handler
class unified_auth_handler : ?insecure:bool -> key_handler -> auth_handler
val close_connection_cache : connection_cache -> unit
val create_restrictive_cache : unit -> connection_cache
val create_aggressive_cache : unit -> connection_cache
val http_trans_id : transport_layer_id
val https_trans_id : transport_layer_id
val spnego_trans_id : transport_layer_id
val proxy_only_trans_id : transport_layer_id
val new_trans_id : unit -> transport_layer_id
val http_transport_channel_type : transport_channel_type
val https_transport_channel_type : Netsys_crypto_types.tls_config -> transport_channel_type
type proxy_type = [
| `Http_proxy
| `Socks5
]
class pipeline : object ... end
val parse_proxy_setting : insecure:bool -> string -> string * int * (string * string * bool) option
val parse_no_proxy : string -> string list
module Convenience : sig ... end
module Debug : sig ... end