Current section

Files

Jump to
tokumei lib example.ex
Raw

lib/example.ex

defmodule Example do
use Tokumei
config :port, 8080
config :static, "./public"
config :templates, "./templates"
route([]) do
get() ->
ok(home_page())
post(%{body: body}) ->
{:ok, %{message: message}} = parse_publish_form(body)
{:ok, _} = ChatRoom.publish(message)
redirect("/")
end
route(["updates"]) do
get() ->
{:ok, _} = ChatRoom.join()
SSE.stream()
end
SSE.streaming do
{:message, message} ->
{:send, message}
end
def parse_publish_form(raw) do
%{"message" => message} = URI.decode_www_form(raw) |> URI.decode_query
{:ok, %{message: message}}
end
end