2018-12-23 21:04:54 +01:00
|
|
|
# Pleroma: A lightweight social networking server
|
2020-03-03 23:44:49 +01:00
|
|
|
# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
|
2018-12-23 21:04:54 +01:00
|
|
|
# SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
|
2017-03-17 17:09:58 +01:00
|
|
|
defmodule Pleroma.Web.ErrorView do
|
|
|
|
use Pleroma.Web, :view
|
2019-02-19 22:31:27 +01:00
|
|
|
require Logger
|
2017-03-17 17:09:58 +01:00
|
|
|
|
|
|
|
def render("404.json", _assigns) do
|
|
|
|
%{errors: %{detail: "Page not found"}}
|
|
|
|
end
|
|
|
|
|
2019-02-19 22:31:27 +01:00
|
|
|
def render("500.json", assigns) do
|
|
|
|
Logger.error("Internal server error: #{inspect(assigns[:reason])}")
|
|
|
|
|
2019-06-06 22:59:51 +02:00
|
|
|
if Pleroma.Config.get(:env) != :prod do
|
2019-02-20 18:36:19 +01:00
|
|
|
%{errors: %{detail: "Internal server error", reason: inspect(assigns[:reason])}}
|
|
|
|
else
|
|
|
|
%{errors: %{detail: "Internal server error"}}
|
|
|
|
end
|
2017-03-17 17:09:58 +01:00
|
|
|
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
|
2018-03-30 15:01:53 +02:00
|
|
|
render("500.json", assigns)
|
2017-03-17 17:09:58 +01:00
|
|
|
end
|
|
|
|
end
|