31 lines
684 B
JavaScript
31 lines
684 B
JavaScript
'use strict';
|
|
|
|
module.exports.match = function (pattern, domainname) {
|
|
// Everything matches '*'
|
|
if (pattern === '*') {
|
|
return true;
|
|
}
|
|
|
|
if (/^\*./.test(pattern)) {
|
|
// get rid of the leading "*." to more easily check the servername against it
|
|
pattern = pattern.slice(2);
|
|
return pattern === domainname.slice(-pattern.length);
|
|
}
|
|
|
|
// pattern doesn't contains any wildcards, so exact match is required
|
|
return pattern === domainname;
|
|
};
|
|
|
|
module.exports.separatePort = function (fullHost) {
|
|
var match = /^(.*?)(:\d+)?$/.exec(fullHost);
|
|
|
|
if (match[2]) {
|
|
match[2] = match[2].replace(':', '');
|
|
}
|
|
|
|
return {
|
|
host: match[1]
|
|
, port: match[2]
|
|
};
|
|
};
|