url: move originFor, domainToAscii and domainToUnicode
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 <me@italoacasas.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
This commit is contained in:
parent
2213f3640a
commit
abc1633de6
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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'],
|
||||
|
@ -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,
|
||||
|
@ -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);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user