- function send(message, options) {
- return new Promise(function(resolve, reject) {
- switch (ws.readyState) {
- case WebSocket.OPENING:
- // This should never happen.
- log.warn('Unable to send to OPENING client "%s"', id)
- break
- case WebSocket.OPEN:
- // This is what SHOULD happen.
- ws.send(message, options, function(err) {
- return err ? reject(err) : resolve()
- })
- break
- case WebSocket.CLOSING:
- // Ok, a 'close' event should remove the client from the set
- // soon.
- log.debug('Websocket CLOSING: "%s"', id)
- break
- case WebSocket.CLOSED:
- // This should never happen.
- webdriverAgent.removeListener('frame', emitFrame)
- webdriverAgent.removeListener('orientation', emitOrientation)
- webdriverAgent.removeListener('actionId', emitActionId)
- log.warn('Unable to send to CLOSED client "%s"', id)
- break
- }
- })
- }