Skip to content

Commit 1bdd726

Browse files
committed
Ensure None is returned if no callback data was provided
1 parent 282b0ab commit 1bdd726

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

botogram/callbacks.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,10 @@ def parse_callback_data(bot, raw):
101101
if not crypto.compare(crypto.get_hmac(bot, name + data), signature):
102102
raise crypto.TamperedMessageError
103103

104-
return name, data.decode("utf-8")
104+
if data:
105+
return name, data.decode("utf-8")
106+
else:
107+
return name, None
105108

106109

107110
def get_callback_data(bot, name, data=None):

tests/test_callbacks.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,3 +63,9 @@ def test_parse_callback_data(bot):
6363
hashed_callback_name("test_callback"),
6464
"this is some data!",
6565
)
66+
67+
raw = get_callback_data(bot, "test_callback")
68+
assert parse_callback_data(bot, raw) == (
69+
hashed_callback_name("test_callback"),
70+
None,
71+
)

0 commit comments

Comments
 (0)