From 5f9c8104a9b62466268b637c017767a9ecfdf405 Mon Sep 17 00:00:00 2001 From: James M Snell Date: Wed, 28 Dec 2016 15:55:00 -0800 Subject: [PATCH] url: move originFor, domainToAscii and domainToUnicode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move non-standard methods to `url` module instead of exposing as static methods on the `URL` object. PR-URL: https://github.com/nodejs/node/pull/10512 Reviewed-By: Italo A. Casas Reviewed-By: Michaël Zasso --- lib/internal/url.js | 15 +++++++++------ lib/url.js | 3 +++ test/parallel/test-url-domain-ascii-unicode.js | 4 ++-- test/parallel/test-util-inspect-tuple-origin.js | 8 ++++---- test/parallel/test-whatwg-url-origin-for.js | 4 ++-- 5 files changed, 20 insertions(+), 14 deletions(-) diff --git a/lib/internal/url.js b/lib/internal/url.js index 28d5a073e1c124..d80f3ca79a9529 100755 --- a/lib/internal/url.js +++ b/lib/internal/url.js @@ -69,7 +69,7 @@ class TupleOrigin { toString(unicode = false) { var result = this[kScheme]; result += '://'; - result += unicode ? URL.domainToUnicode(this[kHost]) : this[kHost]; + result += unicode ? domainToUnicode(this[kHost]) : this[kHost]; if (this[kPort] !== undefined && this[kPort] !== null) result += `:${this[kPort]}`; return result; @@ -898,13 +898,16 @@ function originFor(url, base) { return origin; } -URL.originFor = originFor; -URL.domainToASCII = function(domain) { +function domainToASCII(domain) { return binding.domainToASCII(String(domain)); -}; -URL.domainToUnicode = function(domain) { +} + +function domainToUnicode(domain) { return binding.domainToUnicode(String(domain)); -}; +} exports.URL = URL; +exports.originFor = originFor; +exports.domainToASCII = domainToASCII; +exports.domainToUnicode = domainToUnicode; exports.encodeAuth = encodeAuth; diff --git a/lib/url.js b/lib/url.js index 0cc364686cc28e..1dfab2eaaf7fca 100644 --- a/lib/url.js +++ b/lib/url.js @@ -17,6 +17,9 @@ exports.resolve = urlResolve; exports.resolveObject = urlResolveObject; exports.format = urlFormat; exports.URL = internalUrl.URL; +exports.originFor = internalUrl.originFor; +exports.domainToASCII = internalUrl.domainToASCII; +exports.domainToUnicode = internalUrl.domainToUnicode; exports.Url = Url; diff --git a/test/parallel/test-url-domain-ascii-unicode.js b/test/parallel/test-url-domain-ascii-unicode.js index f9a6be462504c2..dcc918201bb93e 100644 --- a/test/parallel/test-url-domain-ascii-unicode.js +++ b/test/parallel/test-url-domain-ascii-unicode.js @@ -4,8 +4,8 @@ require('../common'); const strictEqual = require('assert').strictEqual; const url = require('url'); -const domainToASCII = url.URL.domainToASCII; -const domainToUnicode = url.URL.domainToUnicode; +const domainToASCII = url.domainToASCII; +const domainToUnicode = url.domainToUnicode; const domainWithASCII = [ ['ıídيٴ', 'xn--d-iga7ro0q9f'], diff --git a/test/parallel/test-util-inspect-tuple-origin.js b/test/parallel/test-util-inspect-tuple-origin.js index 7529273756afe9..743651098f60db 100644 --- a/test/parallel/test-util-inspect-tuple-origin.js +++ b/test/parallel/test-util-inspect-tuple-origin.js @@ -3,10 +3,10 @@ require('../common'); const assert = require('assert'); const inspect = require('util').inspect; -const URL = require('url').URL; +const originFor = require('url').originFor; assert.strictEqual( - inspect(URL.originFor('http://test.com:8000')), + inspect(originFor('http://test.com:8000')), `TupleOrigin { scheme: http, host: test.com, @@ -16,7 +16,7 @@ assert.strictEqual( ); assert.strictEqual( - inspect(URL.originFor('http://test.com')), + inspect(originFor('http://test.com')), `TupleOrigin { scheme: http, host: test.com, @@ -27,7 +27,7 @@ assert.strictEqual( assert.strictEqual( - inspect(URL.originFor('https://test.com')), + inspect(originFor('https://test.com')), `TupleOrigin { scheme: https, host: test.com, diff --git a/test/parallel/test-whatwg-url-origin-for.js b/test/parallel/test-whatwg-url-origin-for.js index a82f624e4e3392..9e015f80510148 100644 --- a/test/parallel/test-whatwg-url-origin-for.js +++ b/test/parallel/test-whatwg-url-origin-for.js @@ -2,7 +2,7 @@ const common = require('../common'); -const URL = require('url').URL; +const originFor = require('url').originFor; const path = require('path'); const assert = require('assert'); const tests = require(path.join(common.fixturesDir, 'url-tests.json')); @@ -12,7 +12,7 @@ for (const test of tests) { continue; if (test.origin) { - const origin = URL.originFor(test.input, test.base); + const origin = originFor(test.input, test.base); // Pass true to origin.toString() to enable unicode serialization. assert.strictEqual(origin.toString(true), test.origin); }