UNPKG

roster-server

Version:

👾 RosterServer - A domain host router to host multiple HTTPS.

65 lines (54 loc) • 1.95 kB
"use strict"; var path = require("path"); module.exports.create = function(opts) { var Greenlock = require(path.resolve(__dirname, "..", "greenlock", "greenlock.js")); var log = require("lemonlog")("greenlock-shim"); //var Init = require("@root/greenlock/lib/init.js"); var greenlock = opts.greenlock; /* if (!greenlock && opts.packageRoot) { try { greenlock = require(path.resolve(opts.packageRoot, "greenlock.js")); } catch (e) { if ("MODULE_NOT_FOUND" !== e.code) { throw e; } } } */ if (!greenlock) { //opts = Init._init(opts); greenlock = Greenlock.create(opts); } opts.packageAgent = addGreenlockAgent(opts); try { if (opts.notify) { greenlock._defaults.notify = opts.notify; } } catch (e) { log.error("Developer Error: notify not attached correctly"); } // re-export as top-level function to simplify rpc with workers greenlock.getAcmeHttp01ChallengeResponse = function(opts) { return greenlock.challenges.get(opts); }; greenlock._find({}).then(function(sites) { if (sites.length <= 0) { log.warn("Warning: `find({})` returned 0 sites."); log.warn(" Does `" + greenlock.manager._modulename + "` implement `find({})`?"); log.warn(" Did you add sites?"); log.warn(" npx greenlock add --subject example.com --altnames example.com"); return; } }); return greenlock; }; function addGreenlockAgent(opts) { // Add greenlock as part of Agent, unless this is greenlock var packageAgent = opts.packageAgent || ""; if (!/greenlock(-express|-pro)?/i.test(packageAgent)) { var pkg = require("./package.json"); packageAgent += " Greenlock_Express/" + pkg.version; } return packageAgent.trim(); }