UNPKG

ac-koa

Version:

Modules for building Atlassian Connect and HipChat Connect add-ons

21 lines (18 loc) 663 B
var check = require('check-types'); var verify = check.verify; var urls = require('url'); exports.isDomainWhitelisted = function (whitelist, url) { whitelist = whitelist || []; verify.array(whitelist); verify.maybe.webUrl(url); if (whitelist.length === 0 || !url) return false; var hostname = urls.parse(url).hostname; if (!hostname) return false; return whitelist.some(function (glob) { var re = new RegExp('^' + glob.replace(/\./g, '\\.').replace(/\*/g, '[^.]*') + '$'); return re.test(hostname); }); }; exports.isGeneratorFunction = function (obj) { return obj && obj.constructor && obj.constructor.name === 'GeneratorFunction'; };