From c37aac72778396ccad4fdc2ccde167d7d0420f3f Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Thu, 4 Jul 2019 21:41:39 -0700 Subject: [PATCH] 'url.parse' was deprecated since v11.0.0. Use 'url.URL' constructor instead --- client.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/client.js b/client.js index a49bde5..f8888eb 100644 --- a/client.js +++ b/client.js @@ -5,7 +5,7 @@ const once = require('once') const parallel = require('run-parallel') const Peer = require('simple-peer') const uniq = require('uniq') -const url = require('url') +const URL = require('url').URL const common = require('./lib/common') const HTTPTracker = require('./lib/client/http-tracker') // empty object in browser @@ -85,7 +85,14 @@ class Client extends EventEmitter { this._trackers = announce .map(announceUrl => { - const parsedUrl = url.parse(announceUrl) + let parsedUrl + try { + parsedUrl = new URL(announceUrl) + } catch (err) { + nextTickWarn(new Error(`Invalid tracker URL: ${announceUrl}`)) + return null + } + const port = parsedUrl.port if (port < 0 || port > 65535) { nextTickWarn(new Error(`Invalid tracker port: ${announceUrl}`))