mobilizon/lib/web/views/error_view.ex

53 lines
1.1 KiB
Elixir
Raw Normal View History

2020-01-26 21:36:50 +01:00
defmodule Mobilizon.Web.ErrorView do
@moduledoc """
View for errors
"""
2020-01-26 21:36:50 +01:00
use Mobilizon.Web, :view
alias Mobilizon.Service.Metadata.Instance
alias Mobilizon.Web.PageView
def render("404.html", %{conn: conn}) do
tags = Instance.build_tags()
PageView.inject_tags(conn, tags)
end
2019-05-02 13:04:21 +02:00
def render("404.json", _assigns) do
%{msg: "Resource not found"}
end
def render("404.activity-json", _assigns) do
%{msg: "Resource not found"}
end
def render("404.ics", _assigns) do
"Bad feed"
end
def render("404.atom", _assigns) do
"Bad feed"
end
def render("invalid_request.json", _assigns) do
%{errors: "Invalid request"}
end
def render("not_found.json", %{details: details}) do
%{
msg: "Resource not found",
details: details
}
end
def render("500.html", _assigns) do
"Internal server error"
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
require Logger
Logger.warn("Template #{inspect(template)} not found")
render("500.html", assigns)
end
end