File tree Expand file tree Collapse file tree 2 files changed +19
-1
lines changed Expand file tree Collapse file tree 2 files changed +19
-1
lines changed Original file line number Diff line number Diff line change @@ -3288,14 +3288,17 @@ Node-API callbacks.
32883288
32893289<!-- YAML
32903290changes:
3291+ - version: REPLACEME
3292+ pr-url: https://github.com/nodejs/node/pull/47203
3293+ description: Added support for `--pending-deprecation`.
32913294 - version:
32923295 - v19.0.0
32933296 - v18.13.0
32943297 pr-url: https://github.com/nodejs/node/pull/44919
32953298 description: Documentation-only deprecation.
32963299-->
32973300
3298- Type: Documentation-only
3301+ Type: Documentation-only (supports [ ` --pending-deprecation ` ] [ ] )
32993302
33003303[ ` url.parse() ` ] [ ] behavior is not standardized and prone to errors that
33013304have security implications. Use the [ WHATWG URL API] [ ] instead. CVEs are not
Original file line number Diff line number Diff line change @@ -62,6 +62,8 @@ const {
6262 formatUrl,
6363} = internalBinding ( 'url' ) ;
6464
65+ const { getOptionValue } = require ( 'internal/options' ) ;
66+
6567// Original url.parse() API
6668
6769function Url ( ) {
@@ -146,7 +148,20 @@ const {
146148 CHAR_COLON ,
147149} = require ( 'internal/constants' ) ;
148150
151+ let urlParseWarned = false ;
152+
149153function urlParse ( url , parseQueryString , slashesDenoteHost ) {
154+ if ( getOptionValue ( '--pending-deprecation' ) && ! urlParseWarned ) {
155+ urlParseWarned = true ;
156+ process . emitWarning (
157+ '`url.parse()` behavior is not standardized and prone to ' +
158+ 'errors that have security implications. Use the WHATWG URL API ' +
159+ 'instead. CVEs are not issued for `url.parse()` vulnerabilities.' ,
160+ 'DeprecationWarning' ,
161+ 'DEP0169' ,
162+ ) ;
163+ }
164+
150165 if ( url instanceof Url ) return url ;
151166
152167 const urlObject = new Url ( ) ;
You can’t perform that action at this time.
0 commit comments