summaryrefslogtreecommitdiff
path: root/frontend-old/node_modules/faye-websocket/lib/faye/websocket.js
diff options
context:
space:
mode:
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.js47
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;