@@ -54,7 +54,8 @@ HTTPTracker.prototype.announce = function (opts) {
5454 } )
5555 if ( self . _trackerId ) params . trackerid = self . _trackerId
5656
57- self . _request ( self . announceUrl , params , function ( data ) {
57+ self . _request ( self . announceUrl , params , function ( err , data ) {
58+ if ( err ) return self . client . emit ( 'warning' , err )
5859 self . _onAnnounceResponse ( data )
5960 } )
6061}
@@ -76,7 +77,8 @@ HTTPTracker.prototype.scrape = function (opts) {
7677 var params = {
7778 info_hash : infoHashes
7879 }
79- self . _request ( self . scrapeUrl , params , function ( data ) {
80+ self . _request ( self . scrapeUrl , params , function ( err , data ) {
81+ if ( err ) return self . client . emit ( 'warning' , err )
8082 self . _onScrapeResponse ( data )
8183 } )
8284}
@@ -142,25 +144,25 @@ HTTPTracker.prototype._request = function (requestUrl, params, cb) {
142144 cleanup ( )
143145 if ( self . destroyed ) return
144146
145- if ( err ) return self . client . emit ( 'warning' , err )
147+ if ( err ) return cb ( err )
146148 if ( res . statusCode !== 200 ) {
147- return self . client . emit ( 'warning' , new Error ( 'Non-200 response code ' +
149+ return cb ( new Error ( 'Non-200 response code ' +
148150 res . statusCode + ' from ' + self . announceUrl ) )
149151 }
150152 if ( ! data || data . length === 0 ) {
151- return self . client . emit ( 'warning' , new Error ( 'Invalid tracker response from' +
153+ return cb ( new Error ( 'Invalid tracker response from' +
152154 self . announceUrl ) )
153155 }
154156
155157 try {
156158 data = bencode . decode ( data )
157159 } catch ( err ) {
158- return self . client . emit ( 'warning' , new Error ( 'Error decoding tracker response: ' + err . message ) )
160+ return cb ( new Error ( 'Error decoding tracker response: ' + err . message ) )
159161 }
160162 var failure = data [ 'failure reason' ]
161163 if ( failure ) {
162164 debug ( 'failure from ' + requestUrl + ' (' + failure + ')' )
163- return self . client . emit ( 'warning' , new Error ( failure ) )
165+ return cb ( new Error ( failure ) )
164166 }
165167
166168 var warning = data [ 'warning message' ]
@@ -171,7 +173,7 @@ HTTPTracker.prototype._request = function (requestUrl, params, cb) {
171173
172174 debug ( 'response from ' + requestUrl )
173175
174- cb ( data )
176+ cb ( null , data )
175177 }
176178}
177179
0 commit comments