pre.hn/lib/pre_dot_hn/dev_server.ex
2024-11-30 13:01:15 -06:00

34 lines
685 B
Elixir

defmodule PreDotDn.DevServer do
use Plug.Router
plug(Plug.Logger)
plug(:rewrite_dirs)
plug(Plug.Static, at: "", from: "priv/static")
get "/health" do
conn |> resp(200, "ok") |> halt()
end
plug(:match)
plug(:dispatch)
def rewrite_dirs(conn, _) do
is_directory =
case Enum.reverse(conn.path_info) do
[] ->
true
[last_segment | _] ->
!String.contains?(last_segment, ".")
end
if is_directory do
request_path = conn.request_path <> "index.html"
path_info = conn.path_info ++ ["index.html"]
%{conn | path_info: path_info, request_path: request_path}
else
conn
end
end
end