From: Ben Darnell Date: Sat, 24 Jan 2015 22:29:03 +0000 (-0500) Subject: Merge remote-tracking branch 'Caligatio/ws_message_callback' X-Git-Tag: v4.1.0b1~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=73ffb310661d89738444eb71f99aac5e1d7517f4;p=thirdparty%2Ftornado.git Merge remote-tracking branch 'Caligatio/ws_message_callback' Conflicts: tornado/websocket.py --- 73ffb310661d89738444eb71f99aac5e1d7517f4 diff --cc tornado/websocket.py index 6051e82fb,ba66fbc1e..ccf80f466 --- a/tornado/websocket.py +++ b/tornado/websocket.py @@@ -860,10 -773,8 +860,11 @@@ class WebSocketClientConnection(simple_ This class should not be instantiated directly; use the `websocket_connect` function instead. """ - def __init__(self, io_loop, request, compression_options=None): - def __init__(self, io_loop, request, on_message_callback=None): ++ def __init__(self, io_loop, request, on_message_callback=None, ++ compression_options=None): + self.compression_options = compression_options self.connect_future = TracebackFuture() + self.protocol = None self.read_future = None self.read_queue = collections.deque() self.key = base64.b64encode(os.urandom(16)) @@@ -952,7 -839,10 +954,10 @@@ def read_message(self, callback=None): """Reads a message from the WebSocket server. - + + If on_message_callback was specified at WebSocket + initialization, this function will never return messages + Returns a future whose result is the message, or None if the connection is closed. If a callback argument is given it will be called with the future when it is @@@ -978,13 -870,8 +985,13 @@@ def on_pong(self, data): pass + def get_websocket_protocol(self): + return WebSocketProtocol13(self, mask_outgoing=True, + compression_options=self.compression_options) + -def websocket_connect(url, io_loop=None, callback=None, connect_timeout=None, on_message_callback=None): +def websocket_connect(url, io_loop=None, callback=None, connect_timeout=None, - compression_options=None): ++ on_message_callback=None, compression_options=None): """Client-side websocket support. Takes a url and returns a Future whose result is a @@@ -1011,7 -892,7 +1018,9 @@@ request = httpclient.HTTPRequest(url, connect_timeout=connect_timeout) request = httpclient._RequestProxy( request, httpclient.HTTPRequest._DEFAULTS) - conn = WebSocketClientConnection(io_loop, request, compression_options) - conn = WebSocketClientConnection(io_loop, request, on_message_callback=on_message_callback) ++ conn = WebSocketClientConnection(io_loop, request, ++ on_message_callback=on_message_callback, ++ compression_options=compression_options) if callback is not None: io_loop.add_future(conn.connect_future, callback) return conn.connect_future