Packages
mazurka
0.3.30
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.3.39
0.3.38
0.3.37
0.3.36
0.3.35
0.3.34
0.3.33
0.3.32
0.3.31
0.3.30
0.3.29
0.3.28
0.3.27
0.3.26
0.3.25
0.3.24
0.3.23
0.3.22
0.3.21
0.3.20
0.3.19
0.3.18
0.3.17
0.3.16
0.3.15
0.3.14
0.3.13
0.3.12
0.3.11
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
hypermedia api toolkit
Current section
Files
Jump to
Current section
Files
lib/mazurka/runtime.ex
defmodule Mazurka.Runtime do
def raise([exception], _conn, _parent, _ref, _attrs) do
{:error, exception}
end
def put_status([status], conn, _parent, _ref, _attrs) do
## TODO potentially add support for more than just HTTP statuses
status = Plug.Conn.Status.code(status)
{:ok, status, %{conn | status: status}}
end
def get_mediatype(context) do
Dict.get(context.private, :mazurka_mediatype, {nil, nil, nil})
end
def put_mediatype(%{private: private} = context, module, value) do
private = private
|> Dict.put(:mazurka_mediatype, value)
|> Dict.put(:mazurka_mediatype_handler, module)
%{context | private: private}
end
def get_param(list, name) when is_list(list) do
name = name |> to_string()
find_key(list, name)
end
def get_param(map, name) when is_map(map) do
map
|> :maps.to_list()
|> get_param(name)
end
def get_param(params, _) when params in [nil, :undefined] do
:undefined
end
defp find_key([], _) do
:undefined
end
defp find_key([{key, value} | rest], name) do
if to_string(key) == name do
value
else
find_key(rest, name)
end
end
end