defmodule Xmeta.Plug do
use Plug.Router
use Plug.ErrorHandler
def config(:reloadable_compilers), do: [:elixir]
if Mix.env() == :dev do
use Plug.Debugger
end
plug Xmeta.Plug.CodeReloader, endpoint: __MODULE__
plug(Plug.Parsers,
parsers: [:urlencoded, :json],
json_decoder: Jason
)
# plug(Plug.Logger, log: :debug)
plug(:match)
plug(:dispatch)
@impl true
def init(options) do
# initialize options
options
end
forward("/api/docs", to: Xmeta.Xapi.Docs.Plug)
forward("/api", to: Xmeta.Xapi.Plug)
get "/ping" do
conn
|> put_resp_content_type("text/html")
|> send_resp(200, "<html><body><h1>hello xemta</h1></body></html>")
end
match _ do
send_resp(conn, 404, "not found")
end
end