summaryrefslogtreecommitdiff
path: root/frontend-old/node_modules/faye-websocket
diff options
context:
space:
mode:
Diffstat (limited to 'frontend-old/node_modules/faye-websocket')
-rw-r--r--frontend-old/node_modules/faye-websocket/CHANGELOG.md139
-rw-r--r--frontend-old/node_modules/faye-websocket/LICENSE.md12
-rw-r--r--frontend-old/node_modules/faye-websocket/README.md311
-rw-r--r--frontend-old/node_modules/faye-websocket/lib/faye/eventsource.js133
-rw-r--r--frontend-old/node_modules/faye-websocket/lib/faye/websocket.js47
-rw-r--r--frontend-old/node_modules/faye-websocket/lib/faye/websocket/api.js199
-rw-r--r--frontend-old/node_modules/faye-websocket/lib/faye/websocket/api/event.js22
-rw-r--r--frontend-old/node_modules/faye-websocket/lib/faye/websocket/api/event_target.js30
-rw-r--r--frontend-old/node_modules/faye-websocket/lib/faye/websocket/client.js90
-rw-r--r--frontend-old/node_modules/faye-websocket/package.json35
10 files changed, 0 insertions, 1018 deletions
diff --git a/frontend-old/node_modules/faye-websocket/CHANGELOG.md b/frontend-old/node_modules/faye-websocket/CHANGELOG.md
deleted file mode 100644
index b152afe..0000000
--- a/frontend-old/node_modules/faye-websocket/CHANGELOG.md
+++ /dev/null
@@ -1,139 +0,0 @@
-### 0.11.4 / 2021-05-24
-
-- Prevent the client hanging if `close()` is called when already closing
-
-### 0.11.3 / 2019-06-10
-
-- Fix a race condition that caused a timeout not to be cancelled immediately
- when the WebSocket is closed
-- Change license from MIT to Apache 2.0
-
-### 0.11.2 / 2019-06-10
-
-(This version was pulled due to an error when publishing)
-
-### 0.11.1 / 2017-01-22
-
-- Forcibly close the I/O stream after a timeout if the peer does not respond
- after calling `close()`
-
-### 0.11.0 / 2016-02-24
-
-- Introduce a `net` option to the `Client` class for setting things like, say,
- `servername`
-
-### 0.10.0 / 2015-07-08
-
-- Add the standard `code` and `reason` parameters to the `close` method
-
-### 0.9.4 / 2015-03-08
-
-- Don't send input to the driver before `start()` is called
-
-### 0.9.3 / 2015-02-19
-
-- Make sure the TCP socket is not left open when closing the connection
-
-### 0.9.2 / 2014-12-21
-
-- Only emit `error` once, and don't emit it after `close`
-
-### 0.9.1 / 2014-12-18
-
-- Check that all options to the WebSocket constructor are recognized
-
-### 0.9.0 / 2014-12-13
-
-- Allow protocol extensions to be passed into websocket-extensions
-
-### 0.8.1 / 2014-11-12
-
-- Send the correct hostname when upgrading a connection to TLS
-
-### 0.8.0 / 2014-11-08
-
-- Support connections via HTTP proxies
-- Close the connection cleanly if we're still waiting for a handshake response
-
-### 0.7.3 / 2014-10-04
-
-- Allow sockets to be closed when they are in any state other than `CLOSED`
-
-### 0.7.2 / 2013-12-29
-
-- Make sure the `close` event is emitted by clients on Node v0.10
-
-### 0.7.1 / 2013-12-03
-
-- Support the `maxLength` websocket-driver option
-- Make the client emit `error` events on network errors
-
-### 0.7.0 / 2013-09-09
-
-- Allow the server to send custom headers with EventSource responses
-
-### 0.6.1 / 2013-07-05
-
-- Add `ca` option to the client for specifying certificate authorities
-- Start the server driver asynchronously so that `onopen` handlers can be added
-
-### 0.6.0 / 2013-05-12
-
-- Add support for custom headers
-
-### 0.5.0 / 2013-05-05
-
-- Extract the protocol handlers into the `websocket-driver` library
-- Support the Node streaming API
-
-### 0.4.4 / 2013-02-14
-
-- Emit the `close` event if TCP is closed before CLOSE frame is acked
-
-### 0.4.3 / 2012-07-09
-
-- Add `Connection: close` to EventSource response
-- Handle situations where `request.socket` is undefined
-
-### 0.4.2 / 2012-04-06
-
-- Add WebSocket error code `1011`.
-- Handle URLs with no path correctly by sending `GET /`
-
-### 0.4.1 / 2012-02-26
-
-- Treat anything other than a `Buffer` as a string when calling `send()`
-
-### 0.4.0 / 2012-02-13
-
-- Add `ping()` method to server-side `WebSocket` and `EventSource`
-- Buffer `send()` calls until the draft-76 handshake is complete
-- Fix HTTPS problems on Node 0.7
-
-### 0.3.1 / 2012-01-16
-
-- Call `setNoDelay(true)` on `net.Socket` objects to reduce latency
-
-### 0.3.0 / 2012-01-13
-
-- Add support for `EventSource` connections
-
-### 0.2.0 / 2011-12-21
-
-- Add support for `Sec-WebSocket-Protocol` negotiation
-- Support `hixie-76` close frames and 75/76 ignored segments
-- Improve performance of HyBi parsing/framing functions
-- Decouple parsers from TCP and reduce write volume
-
-### 0.1.2 / 2011-12-05
-
-- Detect closed sockets on the server side when TCP connection breaks
-- Make `hixie-76` sockets work through HAProxy
-
-### 0.1.1 / 2011-11-30
-
-- Fix `addEventListener()` interface methods
-
-### 0.1.0 / 2011-11-27
-
-- Initial release, based on WebSocket components from Faye
diff --git a/frontend-old/node_modules/faye-websocket/LICENSE.md b/frontend-old/node_modules/faye-websocket/LICENSE.md
deleted file mode 100644
index 1b47ee5..0000000
--- a/frontend-old/node_modules/faye-websocket/LICENSE.md
+++ /dev/null
@@ -1,12 +0,0 @@
-Copyright 2010-2021 James Coglan
-
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software distributed
-under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-CONDITIONS OF ANY KIND, either express or implied. See the License for the
-specific language governing permissions and limitations under the License.
diff --git a/frontend-old/node_modules/faye-websocket/README.md b/frontend-old/node_modules/faye-websocket/README.md
deleted file mode 100644
index f62e1b5..0000000
--- a/frontend-old/node_modules/faye-websocket/README.md
+++ /dev/null
@@ -1,311 +0,0 @@
-# faye-websocket
-
-This is a general-purpose WebSocket implementation extracted from the
-[Faye](http://faye.jcoglan.com) project. It provides classes for easily building
-WebSocket servers and clients in Node. It does not provide a server itself, but
-rather makes it easy to handle WebSocket connections within an existing
-[Node](https://nodejs.org/) application. It does not provide any abstraction
-other than the standard [WebSocket
-API](https://html.spec.whatwg.org/multipage/comms.html#network).
-
-It also provides an abstraction for handling
-[EventSource](https://html.spec.whatwg.org/multipage/comms.html#server-sent-events)
-connections, which are one-way connections that allow the server to push data to
-the client. They are based on streaming HTTP responses and can be easier to access
-via proxies than WebSockets.
-
-
-## Installation
-
-```
-$ npm install faye-websocket
-```
-
-
-## Handling WebSocket connections in Node
-
-You can handle WebSockets on the server side by listening for HTTP Upgrade
-requests, and creating a new socket for the request. This socket object exposes
-the usual WebSocket methods for receiving and sending messages. For example this
-is how you'd implement an echo server:
-
-```js
-var WebSocket = require('faye-websocket'),
- http = require('http');
-
-var server = http.createServer();
-
-server.on('upgrade', function(request, socket, body) {
- if (WebSocket.isWebSocket(request)) {
- var ws = new WebSocket(request, socket, body);
-
- ws.on('message', function(event) {
- ws.send(event.data);
- });
-
- ws.on('close', function(event) {
- console.log('close', event.code, event.reason);
- ws = null;
- });
- }
-});
-
-server.listen(8000);
-```
-
-`WebSocket` objects are also duplex streams, so you could replace the
-`ws.on('message', ...)` line with:
-
-```js
- ws.pipe(ws);
-```
-
-Note that under certain circumstances (notably a draft-76 client connecting
-through an HTTP proxy), the WebSocket handshake will not be complete after you
-call `new WebSocket()` because the server will not have received the entire
-handshake from the client yet. In this case, calls to `ws.send()` will buffer
-the message in memory until the handshake is complete, at which point any
-buffered messages will be sent to the client.
-
-If you need to detect when the WebSocket handshake is complete, you can use the
-`onopen` event.
-
-If the connection's protocol version supports it, you can call `ws.ping()` to
-send a ping message and wait for the client's response. This method takes a
-message string, and an optional callback that fires when a matching pong message
-is received. It returns `true` if and only if a ping message was sent. If the
-client does not support ping/pong, this method sends no data and returns
-`false`.
-
-```js
-ws.ping('Mic check, one, two', function() {
- // fires when pong is received
-});
-```
-
-
-## Using the WebSocket client
-
-The client supports both the plain-text `ws` protocol and the encrypted `wss`
-protocol, and has exactly the same interface as a socket you would use in a web
-browser. On the wire it identifies itself as `hybi-13`.
-
-```js
-var WebSocket = require('faye-websocket'),
- ws = new WebSocket.Client('ws://www.example.com/');
-
-ws.on('open', function(event) {
- console.log('open');
- ws.send('Hello, world!');
-});
-
-ws.on('message', function(event) {
- console.log('message', event.data);
-});
-
-ws.on('close', function(event) {
- console.log('close', event.code, event.reason);
- ws = null;
-});
-```
-
-The WebSocket client also lets you inspect the status and headers of the
-handshake response via its `statusCode` and `headers` properties.
-
-To connect via a proxy, set the `proxy` option to the HTTP origin of the proxy,
-including any authorization information, custom headers and TLS config you
-require. Only the `origin` setting is required.
-
-```js
-var ws = new WebSocket.Client('ws://www.example.com/', [], {
- proxy: {
- origin: 'http://username:password@proxy.example.com',
- headers: { 'User-Agent': 'node' },
- tls: { cert: fs.readFileSync('client.crt') }
- }
-});
-```
-
-The `tls` value is an object that will be passed to
-[`tls.connect()`](https://nodejs.org/api/tls.html#tls_tls_connect_options_callback).
-
-
-## Subprotocol negotiation
-
-The WebSocket protocol allows peers to select and identify the application
-protocol to use over the connection. On the client side, you can set which
-protocols the client accepts by passing a list of protocol names when you
-construct the socket:
-
-```js
-var ws = new WebSocket.Client('ws://www.example.com/', ['irc', 'amqp']);
-```
-
-On the server side, you can likewise pass in the list of protocols the server
-supports after the other constructor arguments:
-
-```js
-var ws = new WebSocket(request, socket, body, ['irc', 'amqp']);
-```
-
-If the client and server agree on a protocol, both the client- and server-side
-socket objects expose the selected protocol through the `ws.protocol` property.
-
-
-## Protocol extensions
-
-faye-websocket is based on the
-[websocket-extensions](https://github.com/faye/websocket-extensions-node)
-framework that allows extensions to be negotiated via the
-`Sec-WebSocket-Extensions` header. To add extensions to a connection, pass an
-array of extensions to the `:extensions` option. For example, to add
-[permessage-deflate](https://github.com/faye/permessage-deflate-node):
-
-```js
-var deflate = require('permessage-deflate');
-
-var ws = new WebSocket(request, socket, body, [], { extensions: [deflate] });
-```
-
-
-## Initialization options
-
-Both the server- and client-side classes allow an options object to be passed in
-at initialization time, for example:
-
-```js
-var ws = new WebSocket(request, socket, body, protocols, options);
-var ws = new WebSocket.Client(url, protocols, options);
-```
-
-`protocols` is an array of subprotocols as described above, or `null`.
-`options` is an optional object containing any of these fields:
-
-- `extensions` - an array of
- [websocket-extensions](https://github.com/faye/websocket-extensions-node)
- compatible extensions, as described above
-- `headers` - an object containing key-value pairs representing HTTP headers to
- be sent during the handshake process
-- `maxLength` - the maximum allowed size of incoming message frames, in bytes.
- The default value is `2^26 - 1`, or 1 byte short of 64 MiB.
-- `ping` - an integer that sets how often the WebSocket should send ping frames,
- measured in seconds
-
-The client accepts some additional options:
-
-- `proxy` - settings for a proxy as described above
-- `net` - an object containing settings for the origin server that will be
- passed to
- [`net.connect()`](https://nodejs.org/api/net.html#net_socket_connect_options_connectlistener)
-- `tls` - an object containing TLS settings for the origin server, this will be
- passed to
- [`tls.connect()`](https://nodejs.org/api/tls.html#tls_tls_connect_options_callback)
-- `ca` - (legacy) a shorthand for passing `{ tls: { ca: value } }`
-
-
-## WebSocket API
-
-Both server- and client-side `WebSocket` objects support the following API.
-
-- **`on('open', function(event) {})`** fires when the socket connection is
- established. Event has no attributes.
-- **`on('message', function(event) {})`** fires when the socket receives a
- message. Event has one attribute, **`data`**, which is either a `String` (for
- text frames) or a `Buffer` (for binary frames).
-- **`on('error', function(event) {})`** fires when there is a protocol error due
- to bad data sent by the other peer. This event is purely informational, you do
- not need to implement error recover.
-- **`on('close', function(event) {})`** fires when either the client or the
- server closes the connection. Event has two optional attributes, **`code`**
- and **`reason`**, that expose the status code and message sent by the peer
- that closed the connection.
-- **`send(message)`** accepts either a `String` or a `Buffer` and sends a text
- or binary message over the connection to the other peer.
-- **`ping(message, function() {})`** sends a ping frame with an optional message
- and fires the callback when a matching pong is received.
-- **`close(code, reason)`** closes the connection, sending the given status code
- and reason text, both of which are optional.
-- **`version`** is a string containing the version of the `WebSocket` protocol
- the connection is using.
-- **`protocol`** is a string (which may be empty) identifying the subprotocol
- the socket is using.
-
-
-## Handling EventSource connections in Node
-
-EventSource connections provide a very similar interface, although because they
-only allow the server to send data to the client, there is no `onmessage` API.
-EventSource allows the server to push text messages to the client, where each
-message has an optional event-type and ID.
-
-```js
-var WebSocket = require('faye-websocket'),
- EventSource = WebSocket.EventSource,
- http = require('http');
-
-var server = http.createServer();
-
-server.on('request', function(request, response) {
- if (EventSource.isEventSource(request)) {
- var es = new EventSource(request, response);
- console.log('open', es.url, es.lastEventId);
-
- // Periodically send messages
- var loop = setInterval(function() { es.send('Hello') }, 1000);
-
- es.on('close', function() {
- clearInterval(loop);
- es = null;
- });
-
- } else {
- // Normal HTTP request
- response.writeHead(200, { 'Content-Type': 'text/plain' });
- response.end('Hello');
- }
-});
-
-server.listen(8000);
-```
-
-The `send` method takes two optional parameters, `event` and `id`. The default
-event-type is `'message'` with no ID. For example, to send a `notification`
-event with ID `99`:
-
-```js
-es.send('Breaking News!', { event: 'notification', id: '99' });
-```
-
-The `EventSource` object exposes the following properties:
-
-- **`url`** is a string containing the URL the client used to create the
- EventSource.
-- **`lastEventId`** is a string containing the last event ID received by the
- client. You can use this when the client reconnects after a dropped connection
- to determine which messages need resending.
-
-When you initialize an EventSource with ` new EventSource()`, you can pass
-configuration options after the `response` parameter. Available options are:
-
-- **`headers`** is an object containing custom headers to be set on the
- EventSource response.
-- **`retry`** is a number that tells the client how long (in seconds) it should
- wait after a dropped connection before attempting to reconnect.
-- **`ping`** is a number that tells the server how often (in seconds) to send
- 'ping' packets to the client to keep the connection open, to defeat timeouts
- set by proxies. The client will ignore these messages.
-
-For example, this creates a connection that allows access from any origin, pings
-every 15 seconds and is retryable every 10 seconds if the connection is broken:
-
-```js
-var es = new EventSource(request, response, {
- headers: { 'Access-Control-Allow-Origin': '*' },
- ping: 15,
- retry: 10
-});
-```
-
-You can send a ping message at any time by calling `es.ping()`. Unlike
-WebSocket, the client does not send a response to this; it is merely to send
-some data over the wire to keep the connection alive.
diff --git a/frontend-old/node_modules/faye-websocket/lib/faye/eventsource.js b/frontend-old/node_modules/faye-websocket/lib/faye/eventsource.js
deleted file mode 100644
index 4af9d9d..0000000
--- a/frontend-old/node_modules/faye-websocket/lib/faye/eventsource.js
+++ /dev/null
@@ -1,133 +0,0 @@
-'use strict';
-
-var Stream = require('stream').Stream,
- util = require('util'),
- driver = require('websocket-driver'),
- Headers = require('websocket-driver/lib/websocket/driver/headers'),
- API = require('./websocket/api'),
- EventTarget = require('./websocket/api/event_target'),
- Event = require('./websocket/api/event');
-
-var EventSource = function(request, response, options) {
- this.writable = true;
- options = options || {};
-
- this._stream = response.socket;
- this._ping = options.ping || this.DEFAULT_PING;
- this._retry = options.retry || this.DEFAULT_RETRY;
-
- var scheme = driver.isSecureRequest(request) ? 'https:' : 'http:';
- this.url = scheme + '//' + request.headers.host + request.url;
- this.lastEventId = request.headers['last-event-id'] || '';
- this.readyState = API.CONNECTING;
-
- var headers = new Headers(),
- self = this;
-
- if (options.headers) {
- for (var key in options.headers) headers.set(key, options.headers[key]);
- }
-
- if (!this._stream || !this._stream.writable) return;
- process.nextTick(function() { self._open() });
-
- this._stream.setTimeout(0);
- this._stream.setNoDelay(true);
-
- var handshake = 'HTTP/1.1 200 OK\r\n' +
- 'Content-Type: text/event-stream\r\n' +
- 'Cache-Control: no-cache, no-store\r\n' +
- 'Connection: close\r\n' +
- headers.toString() +
- '\r\n' +
- 'retry: ' + Math.floor(this._retry * 1000) + '\r\n\r\n';
-
- this._write(handshake);
-
- this._stream.on('drain', function() { self.emit('drain') });
-
- if (this._ping)
- this._pingTimer = setInterval(function() { self.ping() }, this._ping * 1000);
-
- ['error', 'end'].forEach(function(event) {
- self._stream.on(event, function() { self.close() });
- });
-};
-util.inherits(EventSource, Stream);
-
-EventSource.isEventSource = function(request) {
- if (request.method !== 'GET') return false;
- var accept = (request.headers.accept || '').split(/\s*,\s*/);
- return accept.indexOf('text/event-stream') >= 0;
-};
-
-var instance = {
- DEFAULT_PING: 10,
- DEFAULT_RETRY: 5,
-
- _write: function(chunk) {
- if (!this.writable) return false;
- try {
- return this._stream.write(chunk, 'utf8');
- } catch (e) {
- return false;
- }
- },
-
- _open: function() {
- if (this.readyState !== API.CONNECTING) return;
-
- this.readyState = API.OPEN;
-
- var event = new Event('open');
- event.initEvent('open', false, false);
- this.dispatchEvent(event);
- },
-
- write: function(message) {
- return this.send(message);
- },
-
- end: function(message) {
- if (message !== undefined) this.write(message);
- this.close();
- },
-
- send: function(message, options) {
- if (this.readyState > API.OPEN) return false;
-
- message = String(message).replace(/(\r\n|\r|\n)/g, '$1data: ');
- options = options || {};
-
- var frame = '';
- if (options.event) frame += 'event: ' + options.event + '\r\n';
- if (options.id) frame += 'id: ' + options.id + '\r\n';
- frame += 'data: ' + message + '\r\n\r\n';
-
- return this._write(frame);
- },
-
- ping: function() {
- return this._write(':\r\n\r\n');
- },
-
- close: function() {
- if (this.readyState > API.OPEN) return false;
-
- this.readyState = API.CLOSED;
- this.writable = false;
- if (this._pingTimer) clearInterval(this._pingTimer);
- if (this._stream) this._stream.end();
-
- var event = new Event('close');
- event.initEvent('close', false, false);
- this.dispatchEvent(event);
-
- return true;
- }
-};
-
-for (var method in instance) EventSource.prototype[method] = instance[method];
-for (var key in EventTarget) EventSource.prototype[key] = EventTarget[key];
-
-module.exports = EventSource;
diff --git a/frontend-old/node_modules/faye-websocket/lib/faye/websocket.js b/frontend-old/node_modules/faye-websocket/lib/faye/websocket.js
deleted file mode 100644
index 13255eb..0000000
--- a/frontend-old/node_modules/faye-websocket/lib/faye/websocket.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// 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;
diff --git a/frontend-old/node_modules/faye-websocket/lib/faye/websocket/api.js b/frontend-old/node_modules/faye-websocket/lib/faye/websocket/api.js
deleted file mode 100644
index d64cb03..0000000
--- a/frontend-old/node_modules/faye-websocket/lib/faye/websocket/api.js
+++ /dev/null
@@ -1,199 +0,0 @@
-'use strict';
-
-var Stream = require('stream').Stream,
- util = require('util'),
- driver = require('websocket-driver'),
- EventTarget = require('./api/event_target'),
- Event = require('./api/event');
-
-var API = function(options) {
- options = options || {};
- driver.validateOptions(options, ['headers', 'extensions', 'maxLength', 'ping', 'proxy', 'tls', 'ca']);
-
- this.readable = this.writable = true;
-
- var headers = options.headers;
- if (headers) {
- for (var name in headers) this._driver.setHeader(name, headers[name]);
- }
-
- var extensions = options.extensions;
- if (extensions) {
- [].concat(extensions).forEach(this._driver.addExtension, this._driver);
- }
-
- this._ping = options.ping;
- this._pingId = 0;
- this.readyState = API.CONNECTING;
- this.bufferedAmount = 0;
- this.protocol = '';
- this.url = this._driver.url;
- this.version = this._driver.version;
-
- var self = this;
-
- this._driver.on('open', function(e) { self._open() });
- this._driver.on('message', function(e) { self._receiveMessage(e.data) });
- this._driver.on('close', function(e) { self._beginClose(e.reason, e.code) });
-
- this._driver.on('error', function(error) {
- self._emitError(error.message);
- });
- this.on('error', function() {});
-
- this._driver.messages.on('drain', function() {
- self.emit('drain');
- });
-
- if (this._ping)
- this._pingTimer = setInterval(function() {
- self._pingId += 1;
- self.ping(self._pingId.toString());
- }, this._ping * 1000);
-
- this._configureStream();
-
- if (!this._proxy) {
- this._stream.pipe(this._driver.io);
- this._driver.io.pipe(this._stream);
- }
-};
-util.inherits(API, Stream);
-
-API.CONNECTING = 0;
-API.OPEN = 1;
-API.CLOSING = 2;
-API.CLOSED = 3;
-
-API.CLOSE_TIMEOUT = 30000;
-
-var instance = {
- write: function(data) {
- return this.send(data);
- },
-
- end: function(data) {
- if (data !== undefined) this.send(data);
- this.close();
- },
-
- pause: function() {
- return this._driver.messages.pause();
- },
-
- resume: function() {
- return this._driver.messages.resume();
- },
-
- send: function(data) {
- if (this.readyState > API.OPEN) return false;
- if (!(data instanceof Buffer)) data = String(data);
- return this._driver.messages.write(data);
- },
-
- ping: function(message, callback) {
- if (this.readyState > API.OPEN) return false;
- return this._driver.ping(message, callback);
- },
-
- close: function(code, reason) {
- if (code === undefined) code = 1000;
- if (reason === undefined) reason = '';
-
- if (code !== 1000 && (code < 3000 || code > 4999))
- throw new Error("Failed to execute 'close' on WebSocket: " +
- "The code must be either 1000, or between 3000 and 4999. " +
- code + " is neither.");
-
- if (this.readyState < API.CLOSING) {
- var self = this;
- this._closeTimer = setTimeout(function() {
- self._beginClose('', 1006);
- }, API.CLOSE_TIMEOUT);
- }
-
- if (this.readyState !== API.CLOSED) this.readyState = API.CLOSING;
-
- this._driver.close(reason, code);
- },
-
- _configureStream: function() {
- var self = this;
-
- this._stream.setTimeout(0);
- this._stream.setNoDelay(true);
-
- ['close', 'end'].forEach(function(event) {
- this._stream.on(event, function() { self._finalizeClose() });
- }, this);
-
- this._stream.on('error', function(error) {
- self._emitError('Network error: ' + self.url + ': ' + error.message);
- self._finalizeClose();
- });
- },
-
- _open: function() {
- if (this.readyState !== API.CONNECTING) return;
-
- this.readyState = API.OPEN;
- this.protocol = this._driver.protocol || '';
-
- var event = new Event('open');
- event.initEvent('open', false, false);
- this.dispatchEvent(event);
- },
-
- _receiveMessage: function(data) {
- if (this.readyState > API.OPEN) return false;
-
- if (this.readable) this.emit('data', data);
-
- var event = new Event('message', { data: data });
- event.initEvent('message', false, false);
- this.dispatchEvent(event);
- },
-
- _emitError: function(message) {
- if (this.readyState >= API.CLOSING) return;
-
- var event = new Event('error', { message: message });
- event.initEvent('error', false, false);
- this.dispatchEvent(event);
- },
-
- _beginClose: function(reason, code) {
- if (this.readyState === API.CLOSED) return;
- this.readyState = API.CLOSING;
- this._closeParams = [reason, code];
-
- if (this._stream) {
- this._stream.destroy();
- if (!this._stream.readable) this._finalizeClose();
- }
- },
-
- _finalizeClose: function() {
- if (this.readyState === API.CLOSED) return;
- this.readyState = API.CLOSED;
-
- if (this._closeTimer) clearTimeout(this._closeTimer);
- if (this._pingTimer) clearInterval(this._pingTimer);
- if (this._stream) this._stream.end();
-
- if (this.readable) this.emit('end');
- this.readable = this.writable = false;
-
- var reason = this._closeParams ? this._closeParams[0] : '',
- code = this._closeParams ? this._closeParams[1] : 1006;
-
- var event = new Event('close', { code: code, reason: reason });
- event.initEvent('close', false, false);
- this.dispatchEvent(event);
- }
-};
-
-for (var method in instance) API.prototype[method] = instance[method];
-for (var key in EventTarget) API.prototype[key] = EventTarget[key];
-
-module.exports = API;
diff --git a/frontend-old/node_modules/faye-websocket/lib/faye/websocket/api/event.js b/frontend-old/node_modules/faye-websocket/lib/faye/websocket/api/event.js
deleted file mode 100644
index 00d82c5..0000000
--- a/frontend-old/node_modules/faye-websocket/lib/faye/websocket/api/event.js
+++ /dev/null
@@ -1,22 +0,0 @@
-'use strict';
-
-var Event = function(eventType, options) {
- this.type = eventType;
- for (var key in options)
- this[key] = options[key];
-};
-
-Event.prototype.initEvent = function(eventType, canBubble, cancelable) {
- this.type = eventType;
- this.bubbles = canBubble;
- this.cancelable = cancelable;
-};
-
-Event.prototype.stopPropagation = function() {};
-Event.prototype.preventDefault = function() {};
-
-Event.CAPTURING_PHASE = 1;
-Event.AT_TARGET = 2;
-Event.BUBBLING_PHASE = 3;
-
-module.exports = Event;
diff --git a/frontend-old/node_modules/faye-websocket/lib/faye/websocket/api/event_target.js b/frontend-old/node_modules/faye-websocket/lib/faye/websocket/api/event_target.js
deleted file mode 100644
index 51a4ad9..0000000
--- a/frontend-old/node_modules/faye-websocket/lib/faye/websocket/api/event_target.js
+++ /dev/null
@@ -1,30 +0,0 @@
-'use strict';
-
-var Event = require('./event');
-
-var EventTarget = {
- onopen: null,
- onmessage: null,
- onerror: null,
- onclose: null,
-
- addEventListener: function(eventType, listener, useCapture) {
- this.on(eventType, listener);
- },
-
- removeEventListener: function(eventType, listener, useCapture) {
- this.removeListener(eventType, listener);
- },
-
- dispatchEvent: function(event) {
- event.target = event.currentTarget = this;
- event.eventPhase = Event.AT_TARGET;
-
- if (this['on' + event.type])
- this['on' + event.type](event);
-
- this.emit(event.type, event);
- }
-};
-
-module.exports = EventTarget;
diff --git a/frontend-old/node_modules/faye-websocket/lib/faye/websocket/client.js b/frontend-old/node_modules/faye-websocket/lib/faye/websocket/client.js
deleted file mode 100644
index c3f886d..0000000
--- a/frontend-old/node_modules/faye-websocket/lib/faye/websocket/client.js
+++ /dev/null
@@ -1,90 +0,0 @@
-'use strict';
-
-var util = require('util'),
- net = require('net'),
- tls = require('tls'),
- url = require('url'),
- driver = require('websocket-driver'),
- API = require('./api'),
- Event = require('./api/event');
-
-var DEFAULT_PORTS = { 'http:': 80, 'https:': 443, 'ws:':80, 'wss:': 443 },
- SECURE_PROTOCOLS = ['https:', 'wss:'];
-
-var Client = function(_url, protocols, options) {
- options = options || {};
-
- this.url = _url;
- this._driver = driver.client(this.url, { maxLength: options.maxLength, protocols: protocols });
-
- ['open', 'error'].forEach(function(event) {
- this._driver.on(event, function() {
- self.headers = self._driver.headers;
- self.statusCode = self._driver.statusCode;
- });
- }, this);
-
- var proxy = options.proxy || {},
- endpoint = url.parse(proxy.origin || this.url),
- port = endpoint.port || DEFAULT_PORTS[endpoint.protocol],
- secure = SECURE_PROTOCOLS.indexOf(endpoint.protocol) >= 0,
- onConnect = function() { self._onConnect() },
- netOptions = options.net || {},
- originTLS = options.tls || {},
- socketTLS = proxy.origin ? (proxy.tls || {}) : originTLS,
- self = this;
-
- netOptions.host = socketTLS.host = endpoint.hostname;
- netOptions.port = socketTLS.port = port;
-
- originTLS.ca = originTLS.ca || options.ca;
- socketTLS.servername = socketTLS.servername || endpoint.hostname;
-
- this._stream = secure
- ? tls.connect(socketTLS, onConnect)
- : net.connect(netOptions, onConnect);
-
- if (proxy.origin) this._configureProxy(proxy, originTLS);
-
- API.call(this, options);
-};
-util.inherits(Client, API);
-
-Client.prototype._onConnect = function() {
- var worker = this._proxy || this._driver;
- worker.start();
-};
-
-Client.prototype._configureProxy = function(proxy, originTLS) {
- var uri = url.parse(this.url),
- secure = SECURE_PROTOCOLS.indexOf(uri.protocol) >= 0,
- self = this,
- name;
-
- this._proxy = this._driver.proxy(proxy.origin);
-
- if (proxy.headers) {
- for (name in proxy.headers) this._proxy.setHeader(name, proxy.headers[name]);
- }
-
- this._proxy.pipe(this._stream, { end: false });
- this._stream.pipe(this._proxy);
-
- this._proxy.on('connect', function() {
- if (secure) {
- var options = { socket: self._stream, servername: uri.hostname };
- for (name in originTLS) options[name] = originTLS[name];
- self._stream = tls.connect(options);
- self._configureStream();
- }
- self._driver.io.pipe(self._stream);
- self._stream.pipe(self._driver.io);
- self._driver.start();
- });
-
- this._proxy.on('error', function(error) {
- self._driver.emit('error', error);
- });
-};
-
-module.exports = Client;
diff --git a/frontend-old/node_modules/faye-websocket/package.json b/frontend-old/node_modules/faye-websocket/package.json
deleted file mode 100644
index 26acc2a..0000000
--- a/frontend-old/node_modules/faye-websocket/package.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "name": "faye-websocket",
- "description": "Standards-compliant WebSocket server and client",
- "homepage": "https://github.com/faye/faye-websocket-node",
- "author": "James Coglan <jcoglan@gmail.com> (http://jcoglan.com/)",
- "keywords": [
- "websocket",
- "eventsource"
- ],
- "license": "Apache-2.0",
- "version": "0.11.4",
- "engines": {
- "node": ">=0.8.0"
- },
- "files": [
- "lib"
- ],
- "main": "./lib/faye/websocket",
- "dependencies": {
- "websocket-driver": ">=0.5.1"
- },
- "devDependencies": {
- "jstest": "*",
- "pace": "*",
- "permessage-deflate": "*"
- },
- "scripts": {
- "test": "jstest spec/runner.js"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/faye/faye-websocket-node.git"
- },
- "bugs": "https://github.com/faye/faye-websocket-node/issues"
-}