aboutsummaryrefslogtreecommitdiffstats
path: root/examples/elixir_hello_world/lib
diff options
context:
space:
mode:
Diffstat (limited to 'examples/elixir_hello_world/lib')
-rw-r--r--examples/elixir_hello_world/lib/elixir_hello_world.ex13
-rw-r--r--examples/elixir_hello_world/lib/elixir_hello_world/supervisor.ex12
-rw-r--r--examples/elixir_hello_world/lib/elixir_hello_world/top_page_handler.ex12
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