Module ranch_proxy_ssl

Behaviours: ranch_transport.

Data Types

proxy_opts()

proxy_opts() = ranch_proxy_protocol:proxy_opts()

proxy_protocol_info()

proxy_protocol_info() = ranch_proxy_protocol:proxy_protocol_info()

proxy_socket()

proxy_socket() = ranch_proxy_protocol:proxy_socket()

ssl_socket()

abstract datatype: ssl_socket()

Function Index

accept/2
accept_ack/2
bearer_port/1
close/1
connect/3
connect/4
connection_info/1
connection_info/2
controlling_process/2
get_csocket/1
getopts/2
getstat/1
getstat/2
handshake/3
listen/1
listen_port/1
match_port/1
messages/0
name/0
opts_from_socket/2
peername/1
proxyname/1
recv/3
secure/0
send/2
sendfile/2
sendfile/4
sendfile/5
setopts/2
shutdown/2
sockname/1
ssl_connection_information/1Expose SSL-only options regarding the current live SSL connection for introspection purposes.
ssl_connection_information/2

Function Details

accept/2

accept(Ssl_socket::proxy_socket(), Timeout::timeout()) -> {ok, ssl_socket()} | {error, closed | timeout | not_proxy_protocol | closed_on_ssl_accept | {timeout, proxy_handshake} | atom()}

accept_ack/2

accept_ack(CSocket::ssl_socket(), Timeout::timeout()) -> ok

bearer_port/1

bearer_port(Ssl_socket::ssl_socket()) -> port()

close/1

close(Ssl_socket::ssl_socket()) -> ok

connect/3

connect(Host::inet:ip_address() | inet:hostname(), Port::inet:port_number(), Opts::any()) -> {ok, ssl_socket()} | {error, atom()}

connect/4

connect(Host::inet:ip_address() | inet:hostname(), Port::inet:port_number(), Opts::any(), ProxyOpts::proxy_opts()) -> {ok, ssl_socket()} | {error, atom()}

connection_info/1

connection_info(Ssl_socket::ssl_socket()) -> {ok, list()}

connection_info/2

connection_info(Ssl_socket::ssl_socket(), Items::[protocol | cipher_suite | sni_hostname]) -> {ok, list()}

controlling_process/2

controlling_process(Ssl_socket::ssl_socket(), Pid::pid()) -> ok | {error, closed | not_owner | atom()}

get_csocket/1

get_csocket(Ssl_socket::ssl_socket()) -> port()

getopts/2

getopts(Ssl_socket::ssl_socket(), Opts::[atom()]) -> {ok, list()} | {error, atom()}

getstat/1

getstat(Ssl_socket::ssl_socket()) -> {ok, list()} | {error, atom()}

getstat/2

getstat(Ssl_socket::ssl_socket(), OptionNames::[atom()]) -> {ok, list()} | {error, atom()}

handshake/3

handshake(Ssl_socket::ssl_socket(), Opts::list(), Timeout::timeout()) -> {ok, ssl_socket()} | {error, any()}

listen/1

listen(Opts::ranch_ssl:opts()) -> {ok, ssl_socket()} | {error, atom()}

listen_port/1

listen_port(Ssl_socket::ssl_socket()) -> port()

match_port/1

match_port(Ssl_socket) -> any()

messages/0

messages() -> tuple()

name/0

name() -> atom()

opts_from_socket/2

opts_from_socket(Transport::atom(), Socket::ssl_socket()) -> ranch_proxy_protocol:proxy_opts()

peername/1

peername(Ssl_socket::ssl_socket()) -> {ok, {inet:ip_address(), inet:port_number()}} | {error, atom()}

proxyname/1

proxyname(Ssl_socket::ssl_socket()) -> {ok, proxy_protocol_info()}

recv/3

recv(Ssl_socket::ssl_socket(), Length::non_neg_integer(), Timeout::timeout()) -> {ok, any()} | {error, closed | atom()}

secure/0

secure() -> boolean()

send/2

send(Ssl_socket::ssl_socket(), Packet::iodata()) -> ok | {error, atom()}

sendfile/2

sendfile(SslSocket::ssl_socket(), Filename::file:name_all()) -> {ok, non_neg_integer()} | {error, atom()}

sendfile/4

sendfile(SslSocket::ssl_socket(), File::file:name_all() | file:fd(), Offset::non_neg_integer(), Bytes::non_neg_integer()) -> {ok, non_neg_integer()} | {error, atom()}

sendfile/5

sendfile(Ssl_socket::ssl_socket(), Filename::file:name_all() | file:fd(), Offset::non_neg_integer(), Bytes::non_neg_integer(), Opts::[{chunk_size, non_neg_integer()}]) -> {ok, non_neg_integer()} | {error, atom()}

setopts/2

setopts(Ssl_socket::ssl_socket(), Opts::list()) -> ok | {error, atom()}

shutdown/2

shutdown(Ssl_socket::ssl_socket(), How::read | write | read_write) -> ok | {error, atom()}

sockname/1

sockname(Ssl_socket::ssl_socket()) -> {ok, {inet:ip_address(), inet:port_number()}} | {error, atom()}

ssl_connection_information/1

ssl_connection_information(Socket::ssl_socket()) -> {ok, list()}

Expose SSL-only options regarding the current live SSL connection for introspection purposes. This callback does not make sense for others protocols of this library, since non-SSL connections should have none of this information within them.

It is therefore distinct from connection_info/1-2 whose purpose is to extract PROXY-level information, whereas this is a tunnel to ssl:connection_information/1-2, which contains SSL-level protocol data.

ssl_connection_information/2

ssl_connection_information(Socket::ssl_socket(), Items::[protocol | cipher_suite | sni_hostname]) -> {ok, list()}


Generated by EDoc