Skip to content

Commit c38162e

Browse files
authored
Merge pull request #106 from maikthomas/master
Fix empty connection data parameter
2 parents 5a20586 + fabe3a5 commit c38162e

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

opentok/opentok.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ def generate_token(self, session_id, role=Roles.publisher, expire_time=None, dat
130130
raise OpenTokException(u('Cannot generate token, expire_time is not in the future {0}').format(expire_time))
131131
if expire_time > now + (60*60*24*30): # 30 days
132132
raise OpenTokException(u('Cannot generate token, expire_time is not in the next 30 days {0}').format(expire_time))
133-
if (data is not None) and len(data) > 1000:
133+
if data and len(data) > 1000:
134134
raise OpenTokException(u('Cannot generate token, data must be less than 1000 characters').format(data))
135135

136136
# decode session id to verify api_key
@@ -150,9 +150,10 @@ def generate_token(self, session_id, role=Roles.publisher, expire_time=None, dat
150150
create_time = now,
151151
expire_time = expire_time,
152152
role = role.value,
153-
connection_data = (data or None),
154153
nonce = random.randint(0,999999)
155154
)
155+
if data:
156+
data_params['connection_data'] = data
156157
data_string = urlencode(data_params, True)
157158

158159
sig = self._sign_string(data_string, self.api_secret)

tests/test_token_generation.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,12 @@ def test_generate_data_token(self):
6464
assert token_decoder(token)[u('connection_data')] == data
6565
assert token_signature_validator(token, self.api_secret)
6666

67+
def test_generate_no_data_token(self):
68+
token = self.opentok.generate_token(self.session_id)
69+
assert isinstance(token, text_type)
70+
assert u('connection_data') not in token_decoder(token)
71+
assert token_signature_validator(token, self.api_secret)
72+
6773
@raises(TypeError)
6874
def test_does_not_generate_token_without_params(self):
6975
token = self.opentok.generate_token()

0 commit comments

Comments
 (0)