Module Async_uri

type t = {
s : ([ `Active ]Async.Socket.Address.Inet.t) Async.Socket.t;
ssl : Async_ssl.Std.Ssl.Connection.t option;
r : Async.Reader.t;
w : Async.Writer.t;
}
val is_tls_url : Uri.t -> bool
val connect : ?⁠version:Async_ssl.Version.t -> ?⁠options:Async_ssl.Opt.t list -> ?⁠socket:([ `Unconnected ]Async.Socket.Address.Inet.t) Async.Socket.t -> (Uri.t -> t Async.Deferred.t) Async.Tcp.with_connect_options
val with_connection : ?⁠version:Async_ssl.Version.t -> ?⁠options:Async_ssl.Opt.t list -> (url:Uri.t -> f:(t -> 'a Async.Deferred.t) -> unit -> 'a Async.Deferred.t) Async.Tcp.with_connect_options
module Persistent : Persistent_connection_kernel.S with type conn := t and type address = Uri.t
val listen_ssl : ?⁠version:Async_ssl.Version.t -> ?⁠options:Async_ssl.Opt.t list -> ?⁠name:string -> ?⁠allowed_ciphers:[ `Only of string list | `Openssl_default | `Secure ] -> ?⁠ca_file:string -> ?⁠ca_path:string -> ?⁠verify_modes:Async_ssl.Verify_mode.t list -> crt_file:string -> key_file:string -> ?⁠buffer_age_limit:Async.Writer.buffer_age_limit -> ?⁠max_connections:int -> ?⁠max_accepts_per_batch:int -> ?⁠backlog:int -> ?⁠socket:([ `Unconnected ][< Async.Socket.Address.t ] as 'a) Async.Socket.t -> on_handler_error:[ `Call of 'a -> exn -> unit | `Ignore | `Raise ] -> ('a'b) Async.Tcp.Where_to_listen.t -> ('a -> Async_ssl.Std.Ssl.Connection.t -> Async.Reader.t -> Async.Writer.t -> unit Async.Deferred.t) -> ('a'b) Async.Tcp.Server.t Async.Deferred.t