Compare commits

..

4 Commits

Author SHA1 Message Date
James Coglan fa7dcf365c Bump version to 0.7.2. 2013-12-29 12:28:24 +00:00
James Coglan 018ef183bf Share more tcp-handling code between server and client connections. Makes sure clients emit 'close' on Node v0.10. 2013-12-29 02:17:01 +00:00
James Coglan b545e8b80f Make Node 0.6 work on Travis. 2013-12-28 17:49:13 +00:00
James Coglan 07f5ef6f95 Document the new lower frame size limit. 2013-12-28 17:48:26 +00:00
7 changed files with 24 additions and 21 deletions
+3
View File
@@ -6,3 +6,6 @@ node_js:
- "0.10"
- "0.11"
before_install:
- '[ "${TRAVIS_NODE_VERSION}" = "0.6" ] && npm conf set strict-ssl false || true'
+5
View File
@@ -1,3 +1,8 @@
### 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
+1 -1
View File
@@ -156,7 +156,7 @@ var ws = new WebSocket.Client(url, protocols, options);
* `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^30 - 1`, or 1 byte short of 1 GiB.
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
-7
View File
@@ -20,16 +20,9 @@ var WebSocket = function(request, socket, body, protocols, options) {
var catchup = function() { self._stream.removeListener('data', catchup) };
this._stream.on('data', catchup);
this._stream.setTimeout(0);
this._stream.setNoDelay(true);
this._driver.io.write(body);
API.call(this, options);
['error', 'end'].forEach(function(event) {
this._stream.on(event, function() { self._finalize('', 1006) });
}, this);
process.nextTick(function() {
self._driver.start();
});
+14
View File
@@ -23,6 +23,20 @@ var API = function(options) {
var self = this;
this._stream.setTimeout(0);
this._stream.setNoDelay(true);
['close', 'end'].forEach(function(event) {
this._stream.on(event, function() { self._finalize('', 1006) });
}, this);
this._stream.on('error', function(error) {
var event = new Event('error', {message: 'Network error: ' + self.url + ': ' + error.message});
event.initEvent('error', false, false);
self.dispatchEvent(event);
self._finalize('', 1006);
});
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._finalize(e.reason, e.code) });
-12
View File
@@ -31,21 +31,9 @@ var Client = function(url, protocols, options) {
: net.createConnection(this._uri.port || 80, this._uri.hostname);
this._stream = connection;
this._stream.setTimeout(0);
this._stream.setNoDelay(true);
if (!secure) this._stream.on('connect', onConnect);
API.call(this, options);
this._stream.on('end', function() { self._finalize('', 1006) });
this._stream.on('error', function(error) {
var event = new Event('error', {message: 'Network error: ' + url + ': ' + error.message});
event.initEvent('error', false, false);
self.dispatchEvent(event);
self._finalize('', 1006);
});
};
util.inherits(Client, API);
+1 -1
View File
@@ -5,7 +5,7 @@
, "keywords" : ["websocket", "eventsource"]
, "license" : "MIT"
, "version" : "0.7.1"
, "version" : "0.7.2"
, "engines" : {"node": ">=0.4.0"}
, "main" : "./lib/faye/websocket"
, "dependencies" : {"websocket-driver": ">=0.3.1"}