From 87900b14da5f72ea7d049bdebc6a71034a9e34aa Mon Sep 17 00:00:00 2001 From: isaacs Date: Wed, 6 Jul 2011 13:12:37 -0700 Subject: [PATCH] url: Don't swallow punycode errors --- lib/url.js | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/lib/url.js b/lib/url.js index ed90e5cad1..a30fa8a9cf 100644 --- a/lib/url.js +++ b/lib/url.js @@ -222,18 +222,14 @@ function urlParse(url, parseQueryString, slashesDenoteHost) { // It only converts the part of the domain name that // has non ASCII characters. I.e. it dosent matter if // you call it with a domain that already is in ASCII. - try { - var domainArray = out.hostname.split('.'); - var newOut = []; - for (var i = 0; i < domainArray.length; ++i) { - var s = domainArray[i]; - newOut.push(s.match(/[^A-Za-z0-9-]/) ? - 'xn--' + punycode.encode(s) : s); - } - out.hostname = newOut.join('.'); - } catch (e) { - // if encode fail for some reason, we just do the classic behavior. + var domainArray = out.hostname.split('.'); + var newOut = []; + for (var i = 0; i < domainArray.length; ++i) { + var s = domainArray[i]; + newOut.push(s.match(/[^A-Za-z0-9-]/) ? + 'xn--' + punycode.encode(s) : s); } + out.hostname = newOut.join('.'); out.host = ((out.auth) ? out.auth + '@' : '') + (out.hostname || '') +