in dev, allow dev FE
[akkoma] / lib / pleroma / web / views / error_view.ex
index 6c589d3a158790e7f693bb19aa3aa84832d57242..c9715dc4bbc095533ba7ffb458b841e313c6011b 100644 (file)
@@ -1,17 +1,28 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
 defmodule Pleroma.Web.ErrorView do
   use Pleroma.Web, :view
+  require Logger
 
   def render("404.json", _assigns) do
     %{errors: %{detail: "Page not found"}}
   end
 
-  def render("500.json", _assigns) do
-    %{errors: %{detail: "Internal server error"}}
+  def render("500.json", assigns) do
+    Logger.error("Internal server error: #{inspect(assigns[:reason])}")
+
+    if Pleroma.Config.get(:env) != :prod do
+      %{errors: %{detail: "Internal server error", reason: inspect(assigns[:reason])}}
+    else
+      %{errors: %{detail: "Internal server error"}}
+    end
   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
+    render("500.json", assigns)
   end
 end