Constructor
new Websocket(connection)
Create and initialize a WebSocket object. Currently only sets the connection Object.
Parameters:
| Name | Type | Description | 
|---|---|---|
connection | 
            
            Connection | The Connection that will use WebSockets.  | 
        
- Source:
 
Members
socket
- Source:
 
Methods
_abortAllRequests()
Private helper function that makes sure all pending requests are aborted.
- Source:
 
(private) _buildStream() → {Builder}
Private helper function to generate the 
- Source:
 
Returns:
- A Builder with a 
element.  
- Type
 - Builder
 
(private) _checkStreamError(bodyWrap, connectstatus) → {boolean}
Private checks a message for stream:error
Parameters:
| Name | Type | Description | 
|---|---|---|
bodyWrap | 
            
            Element | The received stanza.  | 
        
connectstatus | 
            
            number | The ConnectStatus that will be set on error.  | 
        
- Source:
 
Returns:
- true if there was a streamerror, false otherwise.
 
- Type
 - boolean
 
_closeSocket()
Private function to close the WebSocket.
Closes the socket if it is still open and deletes it
- Source:
 
_connect()
Private function called by Connection.connect
Creates a WebSocket for a connection and assigns Callbacks to it. Does nothing if there already is a WebSocket.
- Source:
 
_connect_cb(bodyWrap)
Private function called by Connection._connect_cb checks for stream:error
Parameters:
| Name | Type | Description | 
|---|---|---|
bodyWrap | 
            
            Element | The received stanza.  | 
        
- Source:
 
_disconnect(presopt)
Private function called by Connection.disconnect Disconnects and sends a last stanza if one is given
Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
pres | 
            
            Element | Builder | 
                
                    <optional> | 
            
            
            This stanza will be sent before disconnecting.  | 
        
- Source:
 
_doDisconnect()
Private function to disconnect. Just closes the Socket for WebSockets
- Source:
 
_emptyQueue() → {true}
Private function to check if the message queue is empty.
- Source:
 
Returns:
- True, because WebSocket messages are send immediately after queueing.
 
- Type
 - true
 
(private) _handleStreamStart(message)
Private function that checks the opening 
Disconnects if there is an error and returns false, true otherwise.
Parameters:
| Name | Type | Description | 
|---|---|---|
message | 
            
            Element | Stanza containing the   | 
        
- Source:
 
_no_auth_received(callback)
Called on stream start/restart when no stream:features has been received.
Parameters:
| Name | Type | Description | 
|---|---|---|
callback | 
            
            connectionCallback | 
- Source:
 
_onClose(eopt)
Private function to handle websockets closing.
Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
e | 
            
            CloseEvent | 
                
                    <optional> | 
            
            
            
- Source:
 
_onDisconnectTimeout()
Private timeout handler for handling non-graceful disconnection.
This does nothing for WebSockets
- Source:
 
_onError(error)
Private function to handle websockets errors.
Parameters:
| Name | Type | Description | 
|---|---|---|
error | 
            
            Object | The websocket error.  | 
        
- Source:
 
_onIdle()
Private function called by Connection._onIdle sends all queued stanzas
- Source:
 
_onInitialMessage(message)
Private function that handles the first connection messages.
On receiving an opening stream tag this callback replaces itself with the real message handler. On receiving a stream error the connection is terminated.
Parameters:
| Name | Type | Description | 
|---|---|---|
message | 
            
            MessageEvent | 
- Source:
 
_onMessage(message)
Private function to handle websockets messages.
This function parses each of the messages as if they are full documents. [TODO : We may actually want to use a SAX Push parser].
Since all XMPP traffic starts with <stream:stream version='1.0' xml:lang='en' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='3697395463' from='SERVER'>
The first stanza will always fail to be parsed.
Additionally, the seconds stanza will always be stream:features with the stream NS defined in the previous stanza, so we need to 'force' the inclusion of the NS in this stanza.
Parameters:
| Name | Type | Description | 
|---|---|---|
message | 
            
            MessageEvent | The websocket message event  | 
        
- Source:
 
(private) _onOpen()
Private function to handle websockets connection setup. The opening stream tag is sent here.
- Source:
 
_replaceMessageHandler()
Called by _onInitialMessage in order to replace itself with the general message handler. This method is overridden by WorkerWebsocket, which manages a websocket connection via a service worker and doesn't have direct access to the socket.
- Source:
 
_reset()
Reset the connection.
This function is called by the reset function of the Strophe Connection. Is not needed by WebSockets.
- Source:
 
_send()
Private part of the Connection.send function for WebSocket Just flushes the messages that are in the queue
- Source:
 
_sendRestart()
Send an xmpp:restart stanza.
- Source:
 
_streamWrap(stanza)
PrivateFunction _streamWrap
Private helper function to wrap a stanza in a 
Parameters:
| Name | Type | Description | 
|---|---|---|
stanza | 
            
            string | 
- Source: