Add wrapper to Sentry to not load it when not configured

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2021-06-27 13:15:24 +02:00
parent 3ed25bab81
commit 7ec6f158ec
13 changed files with 102 additions and 24 deletions

View File

@@ -6,6 +6,7 @@ defmodule Mobilizon.Web.Auth.Context do
import Plug.Conn
alias Mobilizon.Service.ErrorReporting.Sentry, as: SentryAdapter
alias Mobilizon.Users.User
def init(opts) do
@@ -24,7 +25,10 @@ defmodule Mobilizon.Web.Auth.Context do
context =
case Guardian.Plug.current_resource(conn) do
%User{id: user_id, email: user_email} = user ->
Sentry.Context.set_user_context(%{id: user_id, name: user_email})
if SentryAdapter.enabled?() do
Sentry.Context.set_user_context(%{id: user_id, name: user_email})
end
Map.put(context, :current_user, user)
nil ->

View File

@@ -3,6 +3,7 @@ defmodule Mobilizon.Web.Email.Mailer do
Mobilizon Mailer.
"""
use Bamboo.Mailer, otp_app: :mobilizon
alias Mobilizon.Service.ErrorReporting.Sentry
def send_email_later(email) do
Mobilizon.Web.Email.Mailer.deliver_later!(email)

View File

@@ -2,7 +2,10 @@ defmodule Mobilizon.Web.Endpoint do
@moduledoc """
Endpoint for Mobilizon app
"""
if Application.fetch_env!(:mobilizon, :env) !== :test do
alias Mobilizon.Service.ErrorReporting.Sentry, as: SentryAdapter
if Application.fetch_env!(:mobilizon, :env) !== :test &&
SentryAdapter.enabled?() do
use Sentry.PlugCapture
end
@@ -92,7 +95,8 @@ defmodule Mobilizon.Web.Endpoint do
String.replace_leading(url(), "http", "ws")
end
if Application.fetch_env!(:mobilizon, :env) !== :test do
if Application.fetch_env!(:mobilizon, :env) !== :test &&
SentryAdapter.enabled?() do
plug(Sentry.PlugContext)
end
end