This commit is contained in:
brantje 2017-06-06 18:55:49 +02:00
Родитель 38bfecd081
Коммит 0843fc4fa3
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 5FF1D117F918687F
6 изменённых файлов: 744 добавлений и 264 удалений

2
js/lib/data/tlds.js Normal file

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

31
js/lib/parseTLD.js Normal file
Просмотреть файл

@ -0,0 +1,31 @@
var parse_host = function(host){
if(!tlds){
throw new Error('No TLDs!');
}
var parts = host.split(".");
var stack = "";
var tld_level = 1; //unknown tld are 1st level
for(var i=parts.length-1, part;i>=0;i--){
part = parts[i];
stack = stack ? part + "." + stack : part;
if(!tlds[stack]){
break;
}
tld_level = tlds[stack];
}
if(parts.length <= tld_level ) {
return {
tld: null,
domain: host
};
} else {
return {
tld : parts.slice(-tld_level).join('.'),
domain : parts.slice(-tld_level-1).join('.'),
sub : parts.slice(0, (-tld_level-1)).join('.'),
};
}
};

Просмотреть файл

@ -50,14 +50,9 @@ function processURL(URL, ignoreProtocol, ignoreSubdomain, ignorePath, ignorePort
baseHost = host;
}
else {
var result = host.match(/[^./]+\.[^./]+$/); // catch the two last parts, it's de hostname and the tld
//@TODO Implement known list of TLDs
//@url https://github.com/131/node-tld/blob/master/effective_tld_names.json
if(result) {
baseHost = result[0];
} else {
baseHost = host;
var tld = parse_host(host);
if(tld) {
baseHost = tld.domain;
}
}
var returnURL = "";

Просмотреть файл

@ -19,6 +19,8 @@ module.exports = function (config) {
// list of files / patterns to load in the browser
files: [
'js/lib/data/tlds.js',
'js/lib/parseTLD.js',
'js/lib/parseUrl.js',
{ pattern: 'tests/**/*.js', included: true }
],

Просмотреть файл

@ -20,6 +20,8 @@
"background": {
"scripts": [
"/js/vendor/jquery/jquery.js",
"/js/lib/data/tlds.js",
"/js/lib/parseTLD.js",
"/js/lib/parseUrl.js",
"/js/vendor/sjcl/sjcl.js",
"/js/lib/promise.js",

Разница между файлами не показана из-за своего большого размера Загрузить разницу