Quantcast
Channel: 一言多いプログラマーの独り言
Viewing all articles
Browse latest Browse all 846

ElixirでのPlugの基本

$
0
0
ElixirでのPlugの基本です。Plug.Connを利用する場合は、initで初期化して、callするということなのでしょうか。わかった気分を味わいつつも、ますます闇の中へ。

Plugとは?

  • Webアプリケーション間の構成可能なモジュールの仕様
  • Erlang VM内の異なるWebサーバーの接続アダプタ

defmodule MyPlug do
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
コンパイルして、Cowboyを起動
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)

Viewing all articles
Browse latest Browse all 846

Trending Articles