Current section
Files
Jump to
Current section
Files
lib/real_ip_setter.ex
defmodule ACS.RealIPSetter do
import Plug.Conn
def init(opts) do
opts
end
def call(conn, _params) do
ret = with [realip | _] <- get_req_header(conn, "x-forwarded-for"),
{:ok, addr} <- :inet.parse_address('#{realip}'),
do: {:ok, addr}
case ret do
{:ok, addr} -> %Plug.Conn{conn | remote_ip: addr}
_ -> conn
end
end
end