defmodule HAHandler.Web.Controller do import Plug.Conn alias HAHandler.{HAProxy, PGSQL} @template_dir "lib/ha_handler/web/templates" @index_template EEx.compile_file( Path.join(@template_dir, "index.html.eex") ) defp render(conn, template, assigns) do {body, _binding} = Code.eval_quoted(template, assigns) conn |> put_resp_content_type("text/html") |> send_resp(200, body) end def index(conn) do {:ok, hostname} = :net_adm.dns_hostname(:net_adm.localhost) assigns = [ haproxy_stats: HAProxy.get_stats([hide_error: true]), pgsql_status: PGSQL.status(), hostname: hostname, otp_app: HAHandler.otp_app(), version: HAHandler.version(), env: HAHandler.env() ] render(conn, @index_template, assigns) end end