File size: 591 Bytes
88211d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
defmodule PlausibleWeb.Plugs.ErrorHandler do
  @moduledoc """
    A thin macro wrapper around Plug.ErrorHandler that adds Sentry context
    containing a readable support hash presented to the users.
    To be used in the user-facing APIs, so that we don't leak internal
    server errors.

    Usage: `use PlausibleWeb.Plugs.ErrorHandler`
  """
  defmacro __using__(_) do
    quote do
      use Plug.ErrorHandler

      @impl Plug.ErrorHandler
      def handle_errors(conn, %{kind: kind, reason: reason}) do
        json(conn, %{error: "internal server error"})
      end
    end
  end
end