Skip to content

Commit bcb2d1f

Browse files
authored
fix:binarization_protocol (#53)
handling typing correctly
1 parent 445be9f commit bcb2d1f

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

hivemind_bus_client/client.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -294,8 +294,17 @@ def on_message(self, *args):
294294
if (isinstance(message, HiveMessage) and message.msg_type == HiveMessageType.BINARY):
295295
self._handle_binary(message)
296296
return
297-
self.emitter.emit('message', message) # raw message
298-
self._handle_hive_protocol(HiveMessage(**message))
297+
298+
if isinstance(message, HiveMessage):
299+
self.emitter.emit('message', message.serialize()) # raw message
300+
self._handle_hive_protocol(message)
301+
elif isinstance(message, str):
302+
self.emitter.emit('message', message) # raw message
303+
self._handle_hive_protocol(HiveMessage(**json.loads(message)))
304+
else:
305+
assert isinstance(message, dict)
306+
self.emitter.emit('message', json.dumps(message, ensure_ascii=False)) # raw message
307+
self._handle_hive_protocol(HiveMessage(**message))
299308

300309
def _handle_binary(self, message: HiveMessage):
301310
assert message.msg_type == HiveMessageType.BINARY

0 commit comments

Comments
 (0)