WebsocketClient
    
        This document describes the WebsocketClient available in the JavaScript environment for app serivices.
    
    Table of content
    
    
    connect
    
        Creates a WebsocketClientConnection object. The actual connection is started asynchronously. So synchronous function calls on that object are handled before the connection is established.
        Parameters
        
            | string uri | An absolute ws: or wss: URI. | 
        
        Return value
        
    
    
        var websocket = WebsocketClient.connect("wss://pbx.example.com/PBX0/APPS/websocket");
    
    
    onopen
    
        Sets a callback function that is invoked when the connection is established.
        Optional.
        Parameters
        
        Return value
        
    
    
        websocket.onopen(function(conn) {
    log("connection is up");
});
    
    onclose
    
        Sets a callback function that is invoked when the connection is closed.
        Optional.
        Parameters
        
            | function callback(WebsocketClientConnection connection) | A callback that will be called when the connection is closed. After the callback the connection object is gone and can not be used anymore. | 
        
        Return value
        
    
    
        websocket.onclose(function(conn) {
    log("connection closed");
});
    
    onerror
    
        Sets a callback function that is invoked when an error on the connection occurred.
        Optional.
        Parameters
        
            | function callback(WebsocketClientConnection connection) | A callback that will be called when the connection is closed due to an error. After the callback the connection object is gone and can not be used anymore. | 
        
        Return value
        
    
    
        websocket.onerror(function(conn) {
    log("connection error");
});
    
    onmessage
    
        Sets a callback function that is invoked when a websocket message is received.
        Optional.
        Parameters
        
            | function callback(WebsocketClientConnection connection, message) | A callback that will be called when the connection is closed. The message attribute represents the text received with the message. | 
        
        Return value
        
    
    
        websocket.onmessage(function(conn, msg) {
    var obj = JSON.parse(msg);
    if (obj.mt == "SomeMessage") {
        // ...
    }
});
    
    send
    
        Sends a websocket text message.
        Parameters
        
            | string message | The text message to be sent. | 
        
        Return value
        
    
    
        websocket.send(JSON.stringify({ mt: "SomeMessage" }));
    
    setFlowControl
    
        Enables flow control for the connection. That means that after receiving a message with the onmessage callback, the WebsocketClientConnection 
        waits for the application to call messageComplete before receiving more messages.
        Optional.
        Parameters
        
            | bool enabled | True if flow controll shall be used. | 
        
        Return value
        
    
    
        websocket.setFlowControl(true);
websocket.onmessage(function(conn, msg) {
    var obj = JSON.parse(msg);
    if (obj.mt == "SomeMessage") {
        // ...
    }
    conn.messageComplete();
});
    
    messageComplete
    
        Tells the library to receive the next websocket message.
        See setFlowControl for details.
        Return value
        
    
    
        websocket.setFlowControl(true);
websocket.onmessage(function(conn, msg) {
    var obj = JSON.parse(msg);
    if (obj.mt == "SomeMessage") {
        // ...
    }
    conn.messageComplete();
});