aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2012-04-06 22:58:12 +0200
committerLoïc Hoguin <[email protected]>2012-04-06 22:58:12 +0200
commit85ed79eb59cf2587b3c13558101eb1d78c95cfa6 (patch)
tree9d761579d26727d24897b9aa1925181d567927ad
parente8ee64777c133a8bb05a1e6bc449c2c6a4a989db (diff)
parent06a2d636bce7a0494b960eae574fc092d25fcd7a (diff)
downloadcowboy-85ed79eb59cf2587b3c13558101eb1d78c95cfa6.tar.gz
cowboy-85ed79eb59cf2587b3c13558101eb1d78c95cfa6.tar.bz2
cowboy-85ed79eb59cf2587b3c13558101eb1d78c95cfa6.zip
Merge branch 'adt-add-sockname' of https://github.com/Vagabond/cowboy
-rw-r--r--src/cowboy_ssl_transport.erl9
-rw-r--r--src/cowboy_tcp_transport.erl9
2 files changed, 16 insertions, 2 deletions
diff --git a/src/cowboy_ssl_transport.erl b/src/cowboy_ssl_transport.erl
index 8074209..3b130f0 100644
--- a/src/cowboy_ssl_transport.erl
+++ b/src/cowboy_ssl_transport.erl
@@ -24,7 +24,7 @@
%% @see ssl
-module(cowboy_ssl_transport).
-export([name/0, messages/0, listen/1, accept/2, recv/3, send/2, setopts/2,
- controlling_process/2, peername/1, close/1]).
+ controlling_process/2, peername/1, close/1, sockname/1]).
%% @doc Name of this transport API, <em>ssl</em>.
-spec name() -> ssl.
@@ -140,6 +140,13 @@ peername(Socket) ->
close(Socket) ->
ssl:close(Socket).
+%% @doc Get the local address and port of a socket
+%% @see ssl:sockname/1
+-spec sockname(ssl:sslsocket())
+ -> {ok, {inet:ip_address(), inet:port_number()}} | {error, atom()}.
+sockname(Socket) ->
+ ssl:sockname(Socket).
+
%% Internal.
-spec require(list(module())) -> ok.
diff --git a/src/cowboy_tcp_transport.erl b/src/cowboy_tcp_transport.erl
index 82d193b..f197dd1 100644
--- a/src/cowboy_tcp_transport.erl
+++ b/src/cowboy_tcp_transport.erl
@@ -20,7 +20,7 @@
-module(cowboy_tcp_transport).
-export([name/0, messages/0, listen/1, accept/2, recv/3, send/2, setopts/2,
- controlling_process/2, peername/1, close/1]).
+ controlling_process/2, peername/1, close/1, sockname/1]).
%% @doc Name of this transport API, <em>tcp</em>.
-spec name() -> tcp.
@@ -104,3 +104,10 @@ peername(Socket) ->
-spec close(inet:socket()) -> ok.
close(Socket) ->
gen_tcp:close(Socket).
+
+%% @doc Get the local address and port of a socket
+%% @see inet:sockname/1
+-spec sockname(inet:socket())
+ -> {ok, {inet:ip_address(), inet:port_number()}} | {error, atom()}.
+sockname(Socket) ->
+ inet:sockname(Socket).