From da5036424b963882b23fcf7f1a89388e927d56a9 Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Sat, 30 May 2015 14:20:42 -0700 Subject: [PATCH] fix exception in websocket tracker --- lib/http-tracker.js | 2 ++ lib/udp-tracker.js | 2 ++ lib/websocket-tracker.js | 2 ++ 3 files changed, 6 insertions(+) diff --git a/lib/http-tracker.js b/lib/http-tracker.js index 8d221a9..9a3c1aa 100644 --- a/lib/http-tracker.js +++ b/lib/http-tracker.js @@ -44,6 +44,7 @@ function HTTPTracker (client, announceUrl, opts) { HTTPTracker.prototype.announce = function (opts) { var self = this + if (self.destroyed) return if (self._trackerId) opts.trackerid = self._trackerId if (opts.compact == null) opts.compact = 1 @@ -58,6 +59,7 @@ HTTPTracker.prototype.announce = function (opts) { HTTPTracker.prototype.scrape = function (opts) { var self = this + if (self.destroyed) return if (!self._scrapeUrl) { self.client.emit('error', new Error('scrape not supported ' + self._announceUrl)) diff --git a/lib/udp-tracker.js b/lib/udp-tracker.js index b090da8..0f0fb25 100644 --- a/lib/udp-tracker.js +++ b/lib/udp-tracker.js @@ -39,11 +39,13 @@ function UDPTracker (client, announceUrl, opts) { UDPTracker.prototype.announce = function (opts) { var self = this + if (self.destroyed) return self._request(opts) } UDPTracker.prototype.scrape = function (opts) { var self = this + if (self.destroyed) return opts._scrape = true self._request(opts) // udp scrape uses same announce url } diff --git a/lib/websocket-tracker.js b/lib/websocket-tracker.js index 0e0966e..b341548 100644 --- a/lib/websocket-tracker.js +++ b/lib/websocket-tracker.js @@ -46,6 +46,7 @@ function WebSocketTracker (client, announceUrl, opts) { WebSocketTracker.prototype.announce = function (opts) { var self = this + if (self.destroyed) return if (!self._socket.connected) { return self._socket.once('connect', self.announce.bind(self, opts)) } @@ -69,6 +70,7 @@ WebSocketTracker.prototype.announce = function (opts) { WebSocketTracker.prototype.scrape = function (opts) { var self = this + if (self.destroyed) return self._onSocketError(new Error('scrape not supported ' + self._announceUrl)) }