From a175f7cf98ef9819418c57d3ea75ec539f5bb194 Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Mon, 8 Apr 2019 19:20:21 +0300 Subject: [PATCH] Replace `url.parse` with the URL constructor. --- lib/fetchResource.js | 6 +++--- lib/guessResourceType.js | 4 ++-- lib/moduleForProtocol.js | 5 ++--- lib/upgradeToHttps.js | 2 +- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/fetchResource.js b/lib/fetchResource.js index 85a8d8ac..aaa0e200 100644 --- a/lib/fetchResource.js +++ b/lib/fetchResource.js @@ -4,7 +4,7 @@ 'use strict'; -const url = require('url'); +const { URL } = require('url'); const zlib = require('zlib'); const moduleForProtocol = require('./moduleForProtocol'); const processResource = require('./processResource'); @@ -24,10 +24,10 @@ const fetchResource = (resourceUrl, cb) => { return cb(false); } - const urlObject = url.parse(resourceUrl); + const urlObject = new URL(resourceUrl); const options = { hostname: urlObject.hostname, - path: urlObject.path, + path: urlObject.pathname, headers: { Origin: 'https://www.srihash.org/' } diff --git a/lib/guessResourceType.js b/lib/guessResourceType.js index 0375a2a4..5454b5d2 100644 --- a/lib/guessResourceType.js +++ b/lib/guessResourceType.js @@ -5,7 +5,7 @@ 'use strict'; const path = require('path'); -const url = require('url'); +const { URL } = require('url'); const resourceTypes = require('./data/resourceTypes'); /** @@ -28,7 +28,7 @@ const guessResourceType = (resource) => { } // Match against file extensions - const ext = path.extname(url.parse(resource.url).pathname) + const ext = path.extname(new URL(resource.url).pathname) .replace('.', '') .toLowerCase(); diff --git a/lib/moduleForProtocol.js b/lib/moduleForProtocol.js index ee915f66..ec71433c 100644 --- a/lib/moduleForProtocol.js +++ b/lib/moduleForProtocol.js @@ -6,8 +6,7 @@ const http = require('http'); const https = require('https'); -const url = require('url'); - +const { URL } = require('url'); /** * Choose corresponding module (http or https) for downloading a resource. * @@ -15,7 +14,7 @@ const url = require('url'); * @return {Object} http or https module */ const moduleForProtocol = (urlString) => { - const urlObject = url.parse(urlString); + const urlObject = new URL(urlString); if (!urlObject.protocol) { return false; diff --git a/lib/upgradeToHttps.js b/lib/upgradeToHttps.js index 84455219..ca87b304 100644 --- a/lib/upgradeToHttps.js +++ b/lib/upgradeToHttps.js @@ -15,7 +15,7 @@ const secureHosts = require('./data/secureHosts'); */ const upgradeToHttps = (urlString) => { // Prepend http for protocol-less URL's - const urlObject = url.parse(urlString); + const urlObject = new url.URL(urlString); // Upgrade http protocol to https, if host is on the secureHosts list if (urlObject.protocol === 'http:' && secureHosts.includes(urlObject.hostname)) {