diff options
author | Yurii Rashkovskii <[email protected]> | 2013-01-29 10:18:52 -0800 |
---|---|---|
committer | José Valim <[email protected]> | 2013-02-06 14:08:49 -0700 |
commit | b69903435e0278a6a91749d729f08ac01a8f623a (patch) | |
tree | ec5ea1c7304ee50c3ab9b490ca7f0af6ebbe33d3 /examples/elixir_hello_world/lib | |
parent | ecb234693c82553261738c28f883b327a2d586e1 (diff) | |
download | cowboy-b69903435e0278a6a91749d729f08ac01a8f623a.tar.gz cowboy-b69903435e0278a6a91749d729f08ac01a8f623a.tar.bz2 cowboy-b69903435e0278a6a91749d729f08ac01a8f623a.zip |
Elixir hello world example
Diffstat (limited to 'examples/elixir_hello_world/lib')
3 files changed, 37 insertions, 0 deletions
diff --git a/examples/elixir_hello_world/lib/elixir_hello_world.ex b/examples/elixir_hello_world/lib/elixir_hello_world.ex new file mode 100644 index 0000000..2da484b --- /dev/null +++ b/examples/elixir_hello_world/lib/elixir_hello_world.ex @@ -0,0 +1,13 @@ +defmodule ElixirHelloWorld do + use Application.Behaviour + + def start(_type, _args) do + dispatch = :cowboy_router.compile([ + {:_, [{"/", ElixirHelloWorld.TopPageHandler, []}]} + ]) + {:ok, _} = :cowboy.start_http(:http, 100, + [port: 8080], + [env: [dispatch: dispatch]]) + ElixirHelloWorld.Supervisor.start_link + end +end diff --git a/examples/elixir_hello_world/lib/elixir_hello_world/supervisor.ex b/examples/elixir_hello_world/lib/elixir_hello_world/supervisor.ex new file mode 100644 index 0000000..f9b569f --- /dev/null +++ b/examples/elixir_hello_world/lib/elixir_hello_world/supervisor.ex @@ -0,0 +1,12 @@ +defmodule ElixirHelloWorld.Supervisor do + use Supervisor.Behaviour + + def start_link do + :supervisor.start_link(__MODULE__, []) + end + + def init([]) do + children = [] + supervise children, strategy: :one_for_one + end +end diff --git a/examples/elixir_hello_world/lib/elixir_hello_world/top_page_handler.ex b/examples/elixir_hello_world/lib/elixir_hello_world/top_page_handler.ex new file mode 100644 index 0000000..58e37b4 --- /dev/null +++ b/examples/elixir_hello_world/lib/elixir_hello_world/top_page_handler.ex @@ -0,0 +1,12 @@ +defmodule ElixirHelloWorld.TopPageHandler do + def init(_transport, req, []) do + {:ok, req, nil} + end + + def handle(req, state) do + {:ok, req} = :cowboy_req.reply(200, [], "Hello world!", req) + {:ok, req, state} + end + + def terminate(_reason, _req, _state), do: :ok +end |