aboutsummaryrefslogtreecommitdiffstats
path: root/src/cowboy_http_req.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2011-03-20 16:09:05 +0100
committerLoïc Hoguin <[email protected]>2011-03-20 16:09:05 +0100
commitd69d0adfa72383736fe9705f5060881baefe2d21 (patch)
tree32f5c8f9bad92f469a96c7f2d0de80b9395b0474 /src/cowboy_http_req.erl
parentf5e7178651b077b956ed75db4bce3fa5ae4512e6 (diff)
downloadcowboy-d69d0adfa72383736fe9705f5060881baefe2d21.tar.gz
cowboy-d69d0adfa72383736fe9705f5060881baefe2d21.tar.bz2
cowboy-d69d0adfa72383736fe9705f5060881baefe2d21.zip
Lazy-retrieve the peer name and port to avoid wasting time each request.
Diffstat (limited to 'src/cowboy_http_req.erl')
-rw-r--r--src/cowboy_http_req.erl3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cowboy_http_req.erl b/src/cowboy_http_req.erl
index 1938bc7..3dcac2f 100644
--- a/src/cowboy_http_req.erl
+++ b/src/cowboy_http_req.erl
@@ -44,6 +44,9 @@ version(Req) ->
-spec peer(Req::#http_req{})
-> {{Address::ip_address(), Port::port_number()}, Req::#http_req{}}.
+peer(Req=#http_req{socket=Socket, transport=Transport, peer=undefined}) ->
+ {ok, Peer} = Transport:peername(Socket),
+ {Peer, Req#http_req{peer=Peer}};
peer(Req) ->
{Req#http_req.peer, Req}.