ElixirでのPlugの基本です。Plug.Connを利用する場合は、initで初期化して、callするということなのでしょうか。わかった気分を味わいつつも、ますます闇の中へ。
Plugとは?
参考サイト
Getting started with Plug in Elixir(Brian Stortiさん)
Plug.Conn(Plug)
Plugとは?
- Webアプリケーション間の構成可能なモジュールの仕様
- Erlang VM内の異なるWebサーバーの接続アダプタ
defmodule MyPlug doコンパイルして、Cowboyを起動
import Plug.Conn
def init(opts) do
Map.put(opts, :my_option, "Hello")
end
def call(conn, opts) do
conn
|> put_resp_content_type("text/plain")
|> send_resp(200, "#{opts[:my_option]}, World!")
end
end
iex(1)> c "/path/to/my_plug/lib/my_plug.ex"
[MyPlug]
iex(2)> {:ok, _} = Plug.Adapters.Cowboy.http MyPlug, %{}
{:ok, #PID<123>}
123>
参考サイト
Getting started with Plug in Elixir(Brian Stortiさん)
Plug.Conn(Plug)