lecture 06
This commit is contained in:
76 files changed
+3756
No files matched your search
@@ -0,0 +1,18 @@
|
||||
defmodule CounterWeb.CounterController do
|
||||
use CounterWeb, :controller
|
||||
|
||||
def new(conn, %{"name" => name}) do
|
||||
Counter.DynamicSupervisor.start_worker(name)
|
||||
render(conn, :new)
|
||||
end
|
||||
|
||||
def value(conn, %{"name" => name}) do
|
||||
value = Counter.Worker.value(name)
|
||||
render(conn, :value, value: value)
|
||||
end
|
||||
|
||||
def inc(conn, %{"name" => name, "amt" => amt}) when is_integer(amt) do
|
||||
Counter.Worker.inc(name, amt)
|
||||
render(conn, :inc)
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,13 @@
|
||||
defmodule CounterWeb.CounterJSON do
|
||||
def value(assigns) do
|
||||
%{value: assigns.value}
|
||||
end
|
||||
|
||||
def new(_assigns) do
|
||||
%{status: "ok"}
|
||||
end
|
||||
|
||||
def inc(_assigns) do
|
||||
%{status: "ok"}
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,21 @@
|
||||
defmodule CounterWeb.ErrorJSON do
|
||||
@moduledoc """
|
||||
This module is invoked by your endpoint in case of errors on JSON requests.
|
||||
|
||||
See config/config.exs.
|
||||
"""
|
||||
|
||||
# If you want to customize a particular status code,
|
||||
# you may add your own clauses, such as:
|
||||
#
|
||||
# def render("500.json", _assigns) do
|
||||
# %{errors: %{detail: "Internal Server Error"}}
|
||||
# end
|
||||
|
||||
# By default, Phoenix returns the status message from
|
||||
# the template name. For example, "404.json" becomes
|
||||
# "Not Found".
|
||||
def render(template, _assigns) do
|
||||
%{errors: %{detail: Phoenix.Controller.status_message_from_template(template)}}
|
||||
end
|
||||
end
|
||||
Reference in new issue
Block a user