From 91eb2642eef9389a55f3689da87d6a1486a341ba Mon Sep 17 00:00:00 2001 From: James Coglan Date: Thu, 12 Jan 2012 19:53:06 +0000 Subject: [PATCH] Store output socket as an instance variable in EventSource. --- lib/faye/eventsource.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/faye/eventsource.js b/lib/faye/eventsource.js index 6e9c7ce..eea7b22 100644 --- a/lib/faye/eventsource.js +++ b/lib/faye/eventsource.js @@ -15,6 +15,7 @@ var EventSource = function(request, response, options) { this._request = request; this._response = response; + this._stream = response.socket; this._ping = options.ping || this.DEFAULT_PING; this._retry = options.retry || this.DEFAULT_RETRY; @@ -30,11 +31,11 @@ var EventSource = function(request, response, options) { var self = this; this._pingLoop = setInterval(function() { - try { this._response.socket.write(':\r\n\r\n') } catch (e) {} + try { this._stream.write(':\r\n\r\n') } catch (e) {} }, this._ping * 1000); ['close', 'end', 'error'].forEach(function(event) { - self._response.socket.addListener(event, function() { self.close() }); + self._stream.addListener(event, function() { self.close() }); }); var handshake = 'HTTP/1.1 200 OK\r\n' + @@ -44,7 +45,7 @@ var EventSource = function(request, response, options) { 'retry: ' + Math.floor(this._retry * 1000) + '\r\n\r\n'; try { - response.socket.write(handshake, 'utf8'); + this._stream.write(handshake, 'utf8'); } catch (e) {} }; @@ -67,7 +68,7 @@ var instance = { frame += 'data: ' + message + '\r\n\r\n'; try { - this._response.socket.write(frame, 'utf8'); + this._stream.write(frame, 'utf8'); } catch (e) {} },