diff --git a/sentry_sdk/integrations/_wsgi.py b/sentry_sdk/integrations/_wsgi.py index 914b0a2b4d..cdfdb2ffc1 100644 --- a/sentry_sdk/integrations/_wsgi.py +++ b/sentry_sdk/integrations/_wsgi.py @@ -216,7 +216,8 @@ def event_processor(event, hint): if _should_send_default_pii(): user_info = event.setdefault("user", {}) - user_info["ip_address"] = get_client_ip(environ) + if "ip_address" not in user_info: + user_info["ip_address"] = get_client_ip(environ) if "query_string" not in request_info: request_info["query_string"] = environ.get("QUERY_STRING") diff --git a/sentry_sdk/integrations/django.py b/sentry_sdk/integrations/django.py index 9bdd734f87..550dd03a45 100644 --- a/sentry_sdk/integrations/django.py +++ b/sentry_sdk/integrations/django.py @@ -140,15 +140,17 @@ def _set_user_info(request, event): if user is None or not is_authenticated(user): return - try: - user_info["email"] = user.email - except Exception: - pass + if "email" not in user_info: + try: + user_info["email"] = user.email + except Exception: + pass - try: - user_info["username"] = user.get_username() - except Exception: - pass + if "username" not in user_info: + try: + user_info["username"] = user.get_username() + except Exception: + pass class _FormatConverter(object): diff --git a/sentry_sdk/integrations/flask.py b/sentry_sdk/integrations/flask.py index e94a90e9f0..04a67a2049 100644 --- a/sentry_sdk/integrations/flask.py +++ b/sentry_sdk/integrations/flask.py @@ -135,7 +135,7 @@ def _add_user_to_event(event): user_info = event.setdefault("user", {}) - if user_info.get("id", None) is None: + if "id" not in user_info: try: user_info["id"] = user.get_id() # TODO: more configurable user attrs here