1
0
Fork 0
mirror of https://framagit.org/framasoft/mobilizon.git synced 2024-12-29 11:25:39 +00:00
mobilizon/lib/mobilizon_web/views/error_view.ex

56 lines
1.2 KiB
Elixir
Raw Normal View History

defmodule MobilizonWeb.ErrorView do
@moduledoc """
View for errors
"""
use MobilizonWeb, :view
def render("404.html", _assigns) do
with {:ok, index_content} <- File.read(index_file_path()) do
{:safe, index_content}
end
end
2019-05-02 11:04:21 +00: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
defp index_file_path() do
Path.join(Application.app_dir(:mobilizon, "priv/static"), "index.html")
end
end