Grab client IP from headeres

This commit is contained in:
Jamil Bou Kheir
2022-01-01 07:38:52 -06:00
parent 294a1b65db
commit 03229f2812

View File

@@ -46,14 +46,6 @@ defmodule FzHttpWeb.UserSocket do
# def id(_socket), do: nil
def id(socket), do: "user_socket:#{socket.assigns.current_user.id}"
defp get_ip_address(%{peer_data: %{address: address}}) do
convert_ip(address)
address
|> Tuple.to_list()
|> Enum.join(".")
end
defp get_ip_address(%{x_headers: headers_list}) do
header = Enum.find(headers_list, fn {key, _val} -> key == "x-real-ip" end)
@@ -63,6 +55,14 @@ defmodule FzHttpWeb.UserSocket do
end
end
defp get_ip_address(%{peer_data: %{address: address}}) do
convert_ip(address)
address
|> Tuple.to_list()
|> Enum.join(".")
end
# IPv4
defp convert_ip({_, _, _, _} = address) do
address