@@ -157,13 +157,13 @@ Url.prototype.parse = function parse(url, parseQueryString, slashesDenoteHost) {
157
157
// Copy chrome, IE, opera backslash-handling behavior.
158
158
// Back slashes before the query string get converted to forward slashes
159
159
// See: https://code.google.com/p/chromium/issues/detail?id=25916
160
- var hasHash = false ;
161
- var start = - 1 ;
162
- var end = - 1 ;
163
- var rest = '' ;
164
- var lastPos = 0 ;
165
- var i = 0 ;
166
- for ( var inWs = false , split = false ; i < url . length ; ++ i ) {
160
+ let hasHash = false ;
161
+ let start = - 1 ;
162
+ let end = - 1 ;
163
+ let rest = '' ;
164
+ let lastPos = 0 ;
165
+ let i = 0 ;
166
+ for ( let inWs = false , split = false ; i < url . length ; ++ i ) {
167
167
const code = url . charCodeAt ( i ) ;
168
168
169
169
// Find first and last non-whitespace characters for trimming
@@ -292,9 +292,9 @@ Url.prototype.parse = function parse(url, parseQueryString, slashesDenoteHost) {
292
292
// http://a@b @c / => user:a@b host:c
293
293
// http://a@b ?@c => user:a host:b path:/?@c
294
294
295
- var hostEnd = - 1 ;
296
- var atSign = - 1 ;
297
- var nonHost = - 1 ;
295
+ let hostEnd = - 1 ;
296
+ let atSign = - 1 ;
297
+ let nonHost = - 1 ;
298
298
for ( i = 0 ; i < rest . length ; ++ i ) {
299
299
switch ( rest . charCodeAt ( i ) ) {
300
300
case CHAR_TAB :
@@ -356,11 +356,11 @@ Url.prototype.parse = function parse(url, parseQueryString, slashesDenoteHost) {
356
356
if ( typeof this . hostname !== 'string' )
357
357
this . hostname = '' ;
358
358
359
- var hostname = this . hostname ;
359
+ const hostname = this . hostname ;
360
360
361
361
// If hostname begins with [ and ends with ]
362
362
// assume that it's an IPv6 address.
363
- var ipv6Hostname = hostname . charCodeAt ( 0 ) === CHAR_LEFT_SQUARE_BRACKET &&
363
+ const ipv6Hostname = hostname . charCodeAt ( 0 ) === CHAR_LEFT_SQUARE_BRACKET &&
364
364
hostname . charCodeAt ( hostname . length - 1 ) === CHAR_RIGHT_SQUARE_BRACKET ;
365
365
366
366
// validate a little.
@@ -386,8 +386,8 @@ Url.prototype.parse = function parse(url, parseQueryString, slashesDenoteHost) {
386
386
this . hostname = toASCII ( this . hostname , true ) ;
387
387
}
388
388
389
- var p = this . port ? ':' + this . port : '' ;
390
- var h = this . hostname || '' ;
389
+ const p = this . port ? ':' + this . port : '' ;
390
+ const h = this . hostname || '' ;
391
391
this . host = h + p ;
392
392
393
393
// strip [ and ] from the hostname
@@ -409,8 +409,8 @@ Url.prototype.parse = function parse(url, parseQueryString, slashesDenoteHost) {
409
409
rest = autoEscapeStr ( rest ) ;
410
410
}
411
411
412
- var questionIdx = - 1 ;
413
- var hashIdx = - 1 ;
412
+ let questionIdx = - 1 ;
413
+ let hashIdx = - 1 ;
414
414
for ( i = 0 ; i < rest . length ; ++ i ) {
415
415
const code = rest . charCodeAt ( i ) ;
416
416
if ( code === CHAR_HASH ) {
@@ -467,7 +467,7 @@ Url.prototype.parse = function parse(url, parseQueryString, slashesDenoteHost) {
467
467
} ;
468
468
469
469
function getHostname ( self , rest , hostname ) {
470
- for ( var i = 0 ; i < hostname . length ; ++ i ) {
470
+ for ( let i = 0 ; i < hostname . length ; ++ i ) {
471
471
const code = hostname . charCodeAt ( i ) ;
472
472
const isValid = ( code >= CHAR_LOWERCASE_A && code <= CHAR_LOWERCASE_Z ) ||
473
473
code === CHAR_DOT ||
@@ -509,11 +509,11 @@ const escapedCodes = [
509
509
// Also escape single quotes in case of an XSS attack.
510
510
// Return the escaped string.
511
511
function autoEscapeStr ( rest ) {
512
- var escaped = '' ;
513
- var lastEscapedPos = 0 ;
514
- for ( var i = 0 ; i < rest . length ; ++ i ) {
512
+ let escaped = '' ;
513
+ let lastEscapedPos = 0 ;
514
+ for ( let i = 0 ; i < rest . length ; ++ i ) {
515
515
// `escaped` contains substring up to the last escaped character.
516
- var escapedChar = escapedCodes [ rest . charCodeAt ( i ) ] ;
516
+ const escapedChar = escapedCodes [ rest . charCodeAt ( i ) ] ;
517
517
if ( escapedChar ) {
518
518
// Concat if there are ordinary characters in the middle.
519
519
if ( i > lastEscapedPos )
@@ -544,7 +544,7 @@ function urlFormat(urlObject, options) {
544
544
throw new ERR_INVALID_ARG_TYPE ( 'urlObject' ,
545
545
[ 'Object' , 'string' ] , urlObject ) ;
546
546
} else if ( ! ( urlObject instanceof Url ) ) {
547
- var format = urlObject [ formatSymbol ] ;
547
+ const format = urlObject [ formatSymbol ] ;
548
548
return format ?
549
549
format . call ( urlObject , options ) :
550
550
Url . prototype . format . call ( urlObject ) ;
@@ -570,17 +570,17 @@ const noEscapeAuth = [
570
570
] ;
571
571
572
572
Url . prototype . format = function format ( ) {
573
- var auth = this . auth || '' ;
573
+ let auth = this . auth || '' ;
574
574
if ( auth ) {
575
575
auth = encodeStr ( auth , noEscapeAuth , hexTable ) ;
576
576
auth += '@' ;
577
577
}
578
578
579
- var protocol = this . protocol || '' ;
580
- var pathname = this . pathname || '' ;
581
- var hash = this . hash || '' ;
582
- var host = '' ;
583
- var query = '' ;
579
+ let protocol = this . protocol || '' ;
580
+ let pathname = this . pathname || '' ;
581
+ let hash = this . hash || '' ;
582
+ let host = '' ;
583
+ let query = '' ;
584
584
585
585
if ( this . host ) {
586
586
host = auth + this . host ;
@@ -600,14 +600,14 @@ Url.prototype.format = function format() {
600
600
query = querystring . stringify ( this . query ) ;
601
601
}
602
602
603
- var search = this . search || ( query && ( '?' + query ) ) || '' ;
603
+ let search = this . search || ( query && ( '?' + query ) ) || '' ;
604
604
605
605
if ( protocol && protocol . charCodeAt ( protocol . length - 1 ) !== 58 /* : */ )
606
606
protocol += ':' ;
607
607
608
- var newPathname = '' ;
609
- var lastPos = 0 ;
610
- for ( var i = 0 ; i < pathname . length ; ++ i ) {
608
+ let newPathname = '' ;
609
+ let lastPos = 0 ;
610
+ for ( let i = 0 ; i < pathname . length ; ++ i ) {
611
611
switch ( pathname . charCodeAt ( i ) ) {
612
612
case CHAR_HASH :
613
613
if ( i - lastPos > 0 )
@@ -671,15 +671,15 @@ function urlResolveObject(source, relative) {
671
671
672
672
Url . prototype . resolveObject = function resolveObject ( relative ) {
673
673
if ( typeof relative === 'string' ) {
674
- var rel = new Url ( ) ;
674
+ const rel = new Url ( ) ;
675
675
rel . parse ( relative , false , true ) ;
676
676
relative = rel ;
677
677
}
678
678
679
679
const result = new Url ( ) ;
680
680
const tkeys = Object . keys ( this ) ;
681
- for ( var tk = 0 ; tk < tkeys . length ; tk ++ ) {
682
- var tkey = tkeys [ tk ] ;
681
+ for ( let tk = 0 ; tk < tkeys . length ; tk ++ ) {
682
+ const tkey = tkeys [ tk ] ;
683
683
result [ tkey ] = this [ tkey ] ;
684
684
}
685
685
@@ -696,9 +696,9 @@ Url.prototype.resolveObject = function resolveObject(relative) {
696
696
// Hrefs like //foo/bar always cut to the protocol.
697
697
if ( relative . slashes && ! relative . protocol ) {
698
698
// Take everything except the protocol from relative
699
- var rkeys = Object . keys ( relative ) ;
700
- for ( var rk = 0 ; rk < rkeys . length ; rk ++ ) {
701
- var rkey = rkeys [ rk ] ;
699
+ const rkeys = Object . keys ( relative ) ;
700
+ for ( let rk = 0 ; rk < rkeys . length ; rk ++ ) {
701
+ const rkey = rkeys [ rk ] ;
702
702
if ( rkey !== 'protocol' )
703
703
result [ rkey ] = relative [ rkey ] ;
704
704
}
@@ -723,9 +723,9 @@ Url.prototype.resolveObject = function resolveObject(relative) {
723
723
// because that's known to be hostless.
724
724
// anything else is assumed to be absolute.
725
725
if ( ! slashedProtocol . has ( relative . protocol ) ) {
726
- var keys = Object . keys ( relative ) ;
727
- for ( var v = 0 ; v < keys . length ; v ++ ) {
728
- var k = keys [ v ] ;
726
+ const keys = Object . keys ( relative ) ;
727
+ for ( let v = 0 ; v < keys . length ; v ++ ) {
728
+ const k = keys [ v ] ;
729
729
result [ k ] = relative [ k ] ;
730
730
}
731
731
result . href = result . format ( ) ;
@@ -754,8 +754,8 @@ Url.prototype.resolveObject = function resolveObject(relative) {
754
754
result . port = relative . port ;
755
755
// To support http.request
756
756
if ( result . pathname || result . search ) {
757
- var p = result . pathname || '' ;
758
- var s = result . search || '' ;
757
+ const p = result . pathname || '' ;
758
+ const s = result . search || '' ;
759
759
result . path = p + s ;
760
760
}
761
761
result . slashes = result . slashes || relative . slashes ;
@@ -767,10 +767,10 @@ Url.prototype.resolveObject = function resolveObject(relative) {
767
767
const isRelAbs = (
768
768
relative . host || ( relative . pathname && relative . pathname . charAt ( 0 ) === '/' )
769
769
) ;
770
- var mustEndAbs = ( isRelAbs || isSourceAbs ||
770
+ let mustEndAbs = ( isRelAbs || isSourceAbs ||
771
771
( result . host && relative . pathname ) ) ;
772
772
const removeAllDots = mustEndAbs ;
773
- var srcPath = ( result . pathname && result . pathname . split ( '/' ) ) || [ ] ;
773
+ let srcPath = ( result . pathname && result . pathname . split ( '/' ) ) || [ ] ;
774
774
const relPath = ( relative . pathname && relative . pathname . split ( '/' ) ) || [ ] ;
775
775
const noLeadingSlashes = result . protocol &&
776
776
! slashedProtocol . has ( result . protocol ) ;
@@ -867,15 +867,15 @@ Url.prototype.resolveObject = function resolveObject(relative) {
867
867
// If a url ENDs in . or .., then it must get a trailing slash.
868
868
// however, if it ends in anything else non-slashy,
869
869
// then it must NOT get a trailing slash.
870
- var last = srcPath . slice ( - 1 ) [ 0 ] ;
870
+ let last = srcPath . slice ( - 1 ) [ 0 ] ;
871
871
const hasTrailingSlash = (
872
872
( ( result . host || relative . host || srcPath . length > 1 ) &&
873
873
( last === '.' || last === '..' ) ) || last === '' ) ;
874
874
875
875
// Strip single dots, resolve double dots to parent dir
876
876
// if the path tries to go above the root, `up` ends up > 0
877
- var up = 0 ;
878
- for ( var i = srcPath . length - 1 ; i >= 0 ; i -- ) {
877
+ let up = 0 ;
878
+ for ( let i = srcPath . length - 1 ; i >= 0 ; i -- ) {
879
879
last = srcPath [ i ] ;
880
880
if ( last === '.' ) {
881
881
spliceOne ( srcPath , i ) ;
@@ -947,8 +947,8 @@ Url.prototype.resolveObject = function resolveObject(relative) {
947
947
} ;
948
948
949
949
Url . prototype . parseHost = function parseHost ( ) {
950
- var host = this . host ;
951
- var port = portPattern . exec ( host ) ;
950
+ let host = this . host ;
951
+ let port = portPattern . exec ( host ) ;
952
952
if ( port ) {
953
953
port = port [ 0 ] ;
954
954
if ( port !== ':' ) {
0 commit comments