35 lines
681 B
Elixir
35 lines
681 B
Elixir
defmodule LineBotSample.Router do
|
|
use Plug.Router
|
|
use Plug.ErrorHandler
|
|
require Logger
|
|
|
|
plug Plug.Logger
|
|
|
|
plug :match
|
|
plug :dispatch
|
|
|
|
forward "/bot", to: LineBot.Webhook, callback: LineBotSample
|
|
|
|
get "/" do
|
|
send_resp(conn, :ok, "Server is alive.")
|
|
end
|
|
|
|
match "/" do
|
|
send_resp(conn, :method_not_allowed, "")
|
|
end
|
|
|
|
match _ do
|
|
send_resp(conn, :not_found, "")
|
|
end
|
|
|
|
def handle_errors(conn, %{kind: :error, reason: reason, stack: _stack}) do
|
|
message = Exception.message(reason)
|
|
Logger.error(message)
|
|
send_resp(conn, conn.status, message)
|
|
end
|
|
|
|
def handle_errors(conn, _) do
|
|
send_resp(conn, conn.status, "Server Error")
|
|
end
|
|
end
|