diff options
author | Loïc Hoguin <[email protected]> | 2013-04-11 14:42:57 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2013-04-11 22:25:36 +0200 |
commit | 6256429dc97d69cbb19076acfea8e1fc3efb1286 (patch) | |
tree | f4be9062139d4c6595f88e075b71ce4aae477e6e /src | |
parent | 67beb4d01db70d38d9dd389fd5e2ea073bab44e7 (diff) | |
download | cowboy-6256429dc97d69cbb19076acfea8e1fc3efb1286.tar.gz cowboy-6256429dc97d69cbb19076acfea8e1fc3efb1286.tar.bz2 cowboy-6256429dc97d69cbb19076acfea8e1fc3efb1286.zip |
Remove cowboy_req:peer_addr/1
This kind of function is highly dependent on the proxy used,
therefore parsing was added for x-forwarded-for instead and we
just let users write the function that works for them. The code
can be easily extracted if anyone was using the function.
Diffstat (limited to 'src')
-rw-r--r-- | src/cowboy_req.erl | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/src/cowboy_req.erl b/src/cowboy_req.erl index 4ad2321..4ec42f9 100644 --- a/src/cowboy_req.erl +++ b/src/cowboy_req.erl @@ -46,7 +46,6 @@ -export([method/1]). -export([version/1]). -export([peer/1]). --export([peer_addr/1]). -export([host/1]). -export([host_info/1]). -export([port/1]). @@ -230,29 +229,6 @@ version(Req) -> peer(Req) -> {Req#http_req.peer, Req}. -%% @doc Returns the peer address calculated from headers. --spec peer_addr(Req) -> {inet:ip_address(), Req} when Req::req(). -peer_addr(Req = #http_req{}) -> - {RealIp, Req1} = header(<<"x-real-ip">>, Req), - {ForwardedForRaw, Req2} = header(<<"x-forwarded-for">>, Req1), - {{PeerIp, _PeerPort}, Req3} = peer(Req2), - ForwardedFor = case ForwardedForRaw of - undefined -> - undefined; - ForwardedForRaw -> - case re:run(ForwardedForRaw, "^(?<first_ip>[^\\,]+)", - [{capture, [first_ip], binary}]) of - {match, [FirstIp]} -> FirstIp; - _Any -> undefined - end - end, - {ok, PeerAddr} = if - is_binary(RealIp) -> inet_parse:address(binary_to_list(RealIp)); - is_binary(ForwardedFor) -> inet_parse:address(binary_to_list(ForwardedFor)); - true -> {ok, PeerIp} - end, - {PeerAddr, Req3}. - %% @doc Return the host binary string. -spec host(Req) -> {binary(), Req} when Req::req(). host(Req) -> |