Skip to content

Commit

Permalink
url: move originFor, domainToAscii and domainToUnicode
Browse files Browse the repository at this point in the history
Move non-standard methods to `url` module instead of exposing as
static methods on the `URL` object.

PR-URL: #10512
Reviewed-By: Italo A. Casas <me@italoacasas.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
  • Loading branch information
jasnell authored and evanlucas committed Jan 3, 2017
1 parent 38d3ce9 commit 5f9c810
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 14 deletions.
15 changes: 9 additions & 6 deletions lib/internal/url.js
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
3 changes: 3 additions & 0 deletions lib/url.js
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions test/parallel/test-url-domain-ascii-unicode.js
Original file line number Diff line number Diff line change
Expand Up @@ -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'],
Expand Down
8 changes: 4 additions & 4 deletions test/parallel/test-util-inspect-tuple-origin.js
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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,
Expand All @@ -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,
Expand Down
4 changes: 2 additions & 2 deletions test/parallel/test-whatwg-url-origin-for.js
Original file line number Diff line number Diff line change
Expand Up @@ -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'));
Expand All @@ -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);
}
Expand Down

0 comments on commit 5f9c810

Please sign in to comment.