Packages
eview
0.12.4
0.16.0
retired
0.15.0
0.14.0
0.13.0
0.12.5
0.12.4
0.12.3
0.12.2
0.12.1
0.12.0
0.11.1
0.11.0
0.10.8
0.10.7
0.10.6
0.10.5
0.10.4
0.10.3
0.10.2
0.10.1
0.10.0
0.9.7
0.9.6
0.9.5
0.9.4
0.9.3
0.9.2
0.9.0
0.8.2
0.8.1
0.8.0
0.7.1
0.7.0
0.6.0
0.5.2
0.5.1
0.5.0
0.4.0
0.3.0
0.2.9
0.2.7
0.2.6
0.2.5
0.2.3
0.2.2
0.2.1
0.2.0
0.1.1
0.1.0
Plug that converts response to Nebo #15 API spec format.
Current section
Files
Jump to
Current section
Files
lib/eview/views/phoenix_error_view.ex
defmodule EView.Views.PhoenixError do
@moduledoc """
Error view that can be used in Phoenix:
config :myapp, MyApp.Endpoint,
render_errors: [view: EView.Views.PhoenixError, accepts: ~w(json)]
"""
# In some cases phoenix will drop `register_before_send` functions,
# and we need to wrap body instantly, without waiting for EView plug.
@phoenix_throwing_templates ["409.json", "413.json", "415.json"]
def render(template, assigns) when template in @phoenix_throwing_templates do
template
|> render_template(assigns)
|> EView.Renders.Root.render(assigns[:conn])
end
def render(template, assigns) do
template
|> render_template(assigns)
end
defp render_template(template, assigns) do
template
|> EView.Views.Error.render(assigns)
end
# In case no render clause matches or no
# template is found, let's render it as 500
def template_not_found(_template, assigns) do
render("500.json", assigns)
end
end