Module jls.net.http.ws
This module provide classes to work with WebSocket.
Functions
upgradeHandler (exchange) | WebSocket HTTP upgrade handler. |
Class WebSocketBase
WebSocketBase:new ([client]) | Creates a new WebSocket. |
webSocketBase:close (callback) | Closes this WebSocket. |
webSocketBase:readStop () | Stops receiving messages on this WebSocket. |
webSocketBase:readStart () | Starts receiving messages on this WebSocket. |
webSocketBase:sendTextMessage (message, callback) | Sends a message on this WebSocket. |
Class WebSocket
WebSocket:new (url) | Creates a new WebSocket. |
Class WebSocketUpgradeHandler
WebSocketUpgradeHandler:new ([protocol]) | Creates a new WebSocketUpgradeHandler. |
Functions
- upgradeHandler (exchange)
-
WebSocket HTTP upgrade handler.
The open attribute must be set to a function that will be called with the new accepted WebSockets.
Parameters:
- exchange the HTTP exchange to handle.
Class WebSocketBase
The WebSocketBase class represents the base class for WebSocket.
- WebSocketBase:new ([client])
-
Creates a new WebSocket.
Parameters:
- client boolean true to indicate that the websocket is the client. (optional)
- webSocketBase:close (callback)
-
Closes this WebSocket.
Parameters:
- callback function an optional callback function to use in place of promise.
Returns:
-
jls.lang.Promise
a promise that resolves once the WebSocket is closed.
- webSocketBase:readStop ()
- Stops receiving messages on this WebSocket.
- webSocketBase:readStart ()
- Starts receiving messages on this WebSocket.
- webSocketBase:sendTextMessage (message, callback)
-
Sends a message on this WebSocket.
Parameters:
- message string the message to send.
- callback function an optional callback function to use in place of promise.
Returns:
-
jls.lang.Promise
a promise that resolves once the data has been written.
Class WebSocket
The WebSocket class enables to send and receive messages.
see https://tools.ietf.org/html/rfc6455
Usage:
local event = require('jls.lang.event') local ws = require('jls.net.http.ws') local webSocket = ws.WebSocket:new('ws://localhost/ws/') webSocket:open():next(function() function webSocket:onTextMessage(payload) webSocket:close() end webSocket:readStart() webSocket:sendTextMessage('Hello') end) event:loop()
- WebSocket:new (url)
-
Creates a new WebSocket.
Parameters:
- url string A table describing the client options.
Returns:
-
a new WebSocket
Class WebSocketUpgradeHandler
An HTTP handler to upgrade the connection and accept web sockets.
- WebSocketUpgradeHandler:new ([protocol])
-
Creates a new WebSocketUpgradeHandler.
Parameters:
- protocol string The protocol. (optional)
Returns:
-
a new WebSocketUpgradeHandler