2016年11月11日金曜日

ElixirでのPlugの基本(その2)

ElixirでのPlugの基本(その2)です。Plug.Routerを利用すると、ルーティングを制御できます。

RouterにはPlugパイプラインが含まれており、デフォルトではmatchdispatchの2つのPlugが必要です。 一致が見つかった場合は、ディスパッチに転送されます。

/my_plug/lib/my_router.ex
defmodule MyRouter do
  use Plug.Router

  plug :match
  plug :dispatch

  get "/" do
    send_resp(conn, 200, "index page")
  end

  get "/hello" do
    send_resp(conn, 200, "world")
  end

  match _ do
    send_resp(conn, 404, "not found")
  end
end
コンパイルして、Cowboyを起動
iex(1)> c "/path/to/my_plug/lib/my_router.ex"
[MyRouter]
iex(2)> {:ok, _} = Plug.Adapters.Cowboy.http MyRouter, []
{:ok, #PID<123>}

参考サイト
Plug.Router(Plug)
ElixirでのPlugの基本

0 件のコメント:

コメントを投稿