diff options
Diffstat (limited to 'frontend-old/node_modules/faye-websocket/lib/faye/websocket.js')
| -rw-r--r-- | frontend-old/node_modules/faye-websocket/lib/faye/websocket.js | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/frontend-old/node_modules/faye-websocket/lib/faye/websocket.js b/frontend-old/node_modules/faye-websocket/lib/faye/websocket.js new file mode 100644 index 0000000..13255eb --- /dev/null +++ b/frontend-old/node_modules/faye-websocket/lib/faye/websocket.js @@ -0,0 +1,47 @@ +// API references: +// +// * https://html.spec.whatwg.org/multipage/comms.html#network +// * https://dom.spec.whatwg.org/#interface-eventtarget +// * https://dom.spec.whatwg.org/#interface-event + +'use strict'; + +var util = require('util'), + driver = require('websocket-driver'), + API = require('./websocket/api'); + +var WebSocket = function(request, socket, body, protocols, options) { + options = options || {}; + + this._stream = socket; + this._driver = driver.http(request, { maxLength: options.maxLength, protocols: protocols }); + + var self = this; + if (!this._stream || !this._stream.writable) return; + if (!this._stream.readable) return this._stream.end(); + + var catchup = function() { self._stream.removeListener('data', catchup) }; + this._stream.on('data', catchup); + + API.call(this, options); + + process.nextTick(function() { + self._driver.start(); + self._driver.io.write(body); + }); +}; +util.inherits(WebSocket, API); + +WebSocket.isWebSocket = function(request) { + return driver.isWebSocket(request); +}; + +WebSocket.validateOptions = function(options, validKeys) { + driver.validateOptions(options, validKeys); +}; + +WebSocket.WebSocket = WebSocket; +WebSocket.Client = require('./websocket/client'); +WebSocket.EventSource = require('./eventsource'); + +module.exports = WebSocket; |
