]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Merge remote-tracking branch 'Caligatio/ws_message_callback'
authorBen Darnell <ben@bendarnell.com>
Sat, 24 Jan 2015 22:29:03 +0000 (17:29 -0500)
committerBen Darnell <ben@bendarnell.com>
Sat, 24 Jan 2015 22:29:03 +0000 (17:29 -0500)
Conflicts:
tornado/websocket.py

1  2 
tornado/websocket.py

index 6051e82fbfef560ad7c5efa897b7b095befe7405,ba66fbc1e85968bef3479216d5ddc695ec2ffd1f..ccf80f46645c906132ef5b58545b6ccb99e4d3a7
@@@ -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))
  
      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
      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
          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