6

line 5 @deprecated — since v11.0.0 - Use the WHATWG URL API.

The signature '(urlStr: string): UrlWithStringQuery' of 'url.parse' is deprecated url .The declaration was marked as deprecated here.

Ramzi
  • 71
  • 1
  • 1
  • 5

3 Answers3

5

Here is the solution that worked for me.

const {URL} = require('url');

const getProfile = (req,res) => {
   const fullurl = req.protocol + '://' + req.get('host') + req.originalUrl;
   //E.g. http://127.0.0.1:3000/getProfile?pid=12345&section=NE
   
   const urlObj = new URL(fullurl);
   console.log(urlObj.searchParams.get('pid'));
   //prints 12345
   
   console.log(urlObj.searchParams.get('section'));
   //prints NE
}
Bharat Sinha
  • 13,973
  • 6
  • 39
  • 63
Pumpkin Pie
  • 510
  • 1
  • 4
  • 15
4

The new method is use WHATWG API in Node.Js
You can use the code below to get something like pathname:

const uri = 'https://yoururl.com/yourpathname'
const { URL } = require('url');
const yourUrl = new URL(uri);
const yourPathame = yourUrl.pathname.substr(1);

// yourUrl return 'https://yoururl.com/yourpathname'
// yourPathame return 'yourpathname'

The reference about WHATWG API is at Node.js website.

1

Built-in url.parse was deprecated. The up to date api is URL. You can find more here: https://nodejs.org/api/url.html

Denis Malykhin
  • 349
  • 1
  • 6