type allowed_ciphers = [
| `Only of string list
| `Openssl_default
| `Secure
]
type ssl_version = [
| `Ssl_not_compiled_in
]
val sexp_of_ssl_version : ssl_version -> Sexplib0.Sexp.t
val ssl_version_of_sexp : Sexplib0.Sexp.t -> ssl_version
type session = [
| `Ssl_not_compiled_in
]
val sexp_of_session : session -> Sexplib0.Sexp.t
val sexp_of_verify_mode : verify_mode -> Sexplib0.Sexp.t
type ssl_opt = [
| `Ssl_not_compiled_in
]
val sexp_of_ssl_opt : ssl_opt -> Sexplib0.Sexp.t
val ssl_opt_of_sexp : Sexplib0.Sexp.t -> ssl_opt
type ssl_conn = [
| `Ssl_not_compiled_in
]
val sexp_of_ssl_conn : ssl_conn -> Sexplib0.Sexp.t
type _ addr =
| OpenSSL : Async.Socket.Address.Inet.t
* Ssl.Config.t -> Async.Socket.Address.Inet.t addr
| Inet : Async.Socket.Address.Inet.t -> Async.Socket.Address.Inet.t addr
| Unix : Async.Socket.Address.Unix.t -> Async.Socket.Address.Unix.t addr
val sexp_of_addr :
('a__001_ -> Sexplib0.Sexp.t) ->
'a__001_ addr ->
Sexplib0.Sexp.t
type _ tcp_sock =
| Inet_sock : ([ `Active ], Async.Socket.Address.Inet.t) Async.Socket.t ->
Async.Socket.Address.Inet.t
tcp_sock
| Unix_sock : ([ `Active ], Async.Socket.Address.Unix.t) Async.Socket.t ->
Async.Socket.Address.Unix.t
tcp_sock
val resolve_uri :
?options:Async.Unix.Addr_info.getaddrinfo_option list ->
Uri.t ->
Async.Socket.Address.Inet.t addr Async.Deferred.t
val connect :
?interrupt:unit Async.Deferred.t ->
'a addr ->
('a tcp_sock * Async.Reader.t * Async.Writer.t) Async.Deferred.t
val with_connection :
?interrupt:unit Async.Deferred.t ->
'a addr ->
('a tcp_sock -> Async.Reader.t -> Async.Writer.t -> 'b Async.Deferred.t) ->
'b Async.Deferred.t
val connect_uri :
?options:Async.Unix.Addr_info.getaddrinfo_option list ->
?interrupt:unit Async.Deferred.t ->
Uri.t ->
(Async.Socket.Address.Inet.t tcp_sock * Async.Reader.t * Async.Writer.t)
Async.Deferred.t
val with_connection_uri :
?options:Async.Unix.Addr_info.getaddrinfo_option list ->
?interrupt:unit Async.Deferred.t ->
Uri.t ->
(Async.Socket.Address.Inet.t tcp_sock ->
Async.Reader.t ->
Async.Writer.t ->
'a Async.Deferred.t) ->
'a Async.Deferred.t
type trust_chain = [
| `Ca_file of string
| `Ca_path of string
| `Search_file_first_then_path of [ `File of string ] * [ `Path of string ]
]
val sexp_of_trust_chain : trust_chain -> Sexplib0.Sexp.t
val trust_chain_of_sexp : Sexplib0.Sexp.t -> trust_chain
val __trust_chain_of_sexp__ : Sexplib0.Sexp.t -> trust_chain
type openssl = [
| `OpenSSL of [ `Crt_file_path of string ] * [ `Key_file_path of string ]
]
val sexp_of_openssl : openssl -> Sexplib0.Sexp.t
val openssl_of_sexp : Sexplib0.Sexp.t -> openssl
val __openssl_of_sexp__ : Sexplib0.Sexp.t -> openssl
val sexp_of_server : server -> Sexplib0.Sexp.t
val server_of_sexp : Sexplib0.Sexp.t -> server
val __server_of_sexp__ : Sexplib0.Sexp.t -> server
val serve :
?max_connections:int ->
?backlog:int ->
?buffer_age_limit:Async.Writer.buffer_age_limit ->
on_handler_error:
[ `Call of [< Async.Socket.Address.t ] as 'a -> exn -> unit
| `Ignore
| `Raise ] ->
server ->
('a, 'b) Async.Tcp.Where_to_listen.t ->
('a -> Async.Reader.t -> Async.Writer.t -> unit Async.Deferred.t) ->
('a, 'b) Async.Tcp.Server.t Async.Deferred.t