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 @@ -3280,13 +3280,16 @@ Node-API callbacks.
32803280
32813281<!-- YAML
32823282changes:
3283+ - version: REPLACEME
3284+ pr-url: https://github.com/nodejs/node/pull/47203
3285+ description: Added support for `--pending-deprecation`.
32833286 - version:
32843287 - v19.0.0
32853288 pr-url: https://github.com/nodejs/node/pull/44919
32863289 description: Documentation-only deprecation.
32873290-->
32883291
3289- Type: Documentation-only
3292+ Type: Documentation-only (supports [ ` --pending-deprecation ` ] [ ] )
32903293
32913294[ ` url.parse() ` ] [ ] behavior is not standardized and prone to errors that
32923295have 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 ( ! urlParseWarned && getOptionValue ( '--pending-deprecation' ) ) {
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