2016年11月30日水曜日

Elixirで自作フレームワーク?

Elixirで自作フレームワーク? タイトルは威勢がいいですが、Code Wordsさんの「Building a web framework from scratch in Elixir」というブログを見つけたので、初歩の初歩から、もう一度勉強し直します。

initで初期化して、callする手順はわかるのですが、起動して、http://localhost:4000 にアクセスすると、「hello!」が2つづつ表示されます。1度しかアクセスしていないんですけどね? 謎です。またわからなくなりました。ため息が出ます。

/lib/hello_plug.ex
defmodule HelloPlug do
  def init(default_opts) do
    IO.puts "starting up"
    default_opts
  end

  def call(conn, _opts) do
    IO.puts "hello!"
    Plug.Conn.send_resp(conn, 200, "Hello, world!")
  end
end
$ iex -S mix

iex(1)> {:ok, _} = Plug.Adapters.Cowboy.http HelloPlug, []
starting up
{:ok, #PID<0.123.0>}

iex(2)> hello!
hello!
hello!
hello!



参考サイト
Module attributes(Elixir)
Plug
ElixirでのPlugの基本

0 件のコメント:

コメントを投稿