kiola / lib /srh.ex
hiett
add ipv6 support via env var
a664070
raw
history blame
931 Bytes
defmodule Srh do
use Application
@default_port Application.fetch_env!(:srh, :port)
def start(_type, _args) do
{port, ""} = Integer.parse(System.get_env("SRH_PORT", Integer.to_string(@default_port))) # Remains @default_port for backwards compatibility
IO.puts("Using port #{port}")
children = [
Srh.Auth.TokenResolver,
{GenRegistry, worker_module: Srh.Redis.Client},
{
Plug.Cowboy,
scheme: :http,
plug: Srh.Http.BaseRouter,
options: [
port: port,
net: check_inet_mode()
]
}
]
opts = [strategy: :one_for_one, name: Srh.Supervisor]
Supervisor.start_link(children, opts)
end
defp check_inet_mode() do
ipv6 = System.get_env("SRH_IPV6", "false")
do_check_inet_mode(ipv6)
end
defp do_check_inet_mode("true") do
IO.puts("Using ipv6.")
:inet6
end
defp do_check_inet_mode(_), do: :inet
end