Current section

Files

Jump to
riptide lib riptide server.ex
Raw

lib/riptide/server.ex

defmodule Riptide.Server do
def start_link(port, commands) do
:cowboy.start_clear(:http, [{:port, port}], %{
env: %{
dispatch: config(commands)
}
})
end
def config(commands) do
:cowboy_router.compile([
{
:_,
[
{"/socket", Riptide.Websocket, %{commands: commands}},
{"/", Riptide.Server.OK, []}
]
}
])
end
def child_spec(port: port, commands: commands) do
import Supervisor.Spec
worker(__MODULE__, [port, commands])
end
end
defmodule Riptide.Server.OK do
def init(req, state) do
handle(req, state)
end
def handle(request, state) do
{:ok, reply} =
:cowboy_req.reply(
200,
request
)
{:ok, reply, state}
end
def terminate(_reason, _request, _state), do: :ok
end