From 18ac320d5f55db2b64a1d3128704f14ffe7546ea Mon Sep 17 00:00:00 2001 From: kriskros341 Date: Wed, 27 Jan 2021 14:24:17 +0100 Subject: [PATCH] write_message method of WebSocketClientConnection now accepts dict as input --- tornado/websocket.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tornado/websocket.py b/tornado/websocket.py index d2c6a427a..33d7a94d4 100644 --- a/tornado/websocket.py +++ b/tornado/websocket.py @@ -1072,13 +1072,15 @@ class WebSocketProtocol13(WebSocketProtocol): return self.stream.write(frame) def write_message( - self, message: Union[str, bytes], binary: bool = False + self, message: Union[str, bytes, dict], binary: bool = False ) -> "Future[None]": """Sends the given message to the client of this Web Socket.""" if binary: opcode = 0x2 else: opcode = 0x1 + if isinstance(message, dict): + message = tornado.escape.json_encode(message) message = tornado.escape.utf8(message) assert isinstance(message, bytes) self._message_bytes_out += len(message) @@ -1493,7 +1495,7 @@ class WebSocketClientConnection(simple_httpclient._HTTPConnection): future_set_result_unless_cancelled(self.connect_future, self) def write_message( - self, message: Union[str, bytes], binary: bool = False + self, message: Union[str, bytes, dict], binary: bool = False ) -> "Future[None]": """Sends a message to the WebSocket server. -- 2.47.2