Skip to content

Commit 9f15a40

Browse files
authored
fix: Dont break when user sets bytes into event (#188)
1 parent 39b9438 commit 9f15a40

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

sentry_sdk/utils.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -604,6 +604,8 @@ def convert_types(obj):
604604
return [convert_types(v) for v in obj]
605605
if not isinstance(obj, string_types + number_types):
606606
return safe_repr(obj)
607+
if isinstance(obj, bytes):
608+
return obj.decode("utf-8", "replace")
607609
return obj
608610

609611

tests/test_client.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# coding: utf-8
2+
import json
23
import logging
34
import pytest
45
import subprocess
@@ -281,3 +282,11 @@ def test_scope_initialized_before_client(sentry_init, capture_events):
281282
event, = events
282283

283284
assert "tags" not in event
285+
286+
287+
def test_weird_chars(sentry_init, capture_events):
288+
sentry_init()
289+
events = capture_events()
290+
capture_message(u"föö".encode("latin1"))
291+
event, = events
292+
assert json.loads(json.dumps(event)) == event

0 commit comments

Comments
 (0)