fix maintainerEmail and httpsServer() return
This commit is contained in:
parent
18b36d7d23
commit
d324179cb1
23
greenlock.js
23
greenlock.js
|
@ -68,12 +68,16 @@ function addGreenlockAgent(opts) {
|
||||||
return packageAgent.trim();
|
return packageAgent.trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
// ex: John Doe <john@example.com> (https://john.doe)
|
// ex: "John Doe <john@example.com> (https://john.doe)"
|
||||||
var looseEmailRe = /.*([^'" <>:;`]+@[^'" <>:;`]+\.[^'" <>:;`]+).*/;
|
// ex: "John Doe <john@example.com>"
|
||||||
|
// ex: "<john@example.com>"
|
||||||
|
// ex: "john@example.com"
|
||||||
|
var looseEmailRe = /(^|[\s<])([^'" <>:;`]+@[^'" <>:;`]+\.[^'" <>:;`]+)/;
|
||||||
function parsePackage(opts) {
|
function parsePackage(opts) {
|
||||||
// 'package' is sometimes a reserved word
|
// 'package' is sometimes a reserved word
|
||||||
var pkg = opts.package || opts.pkg;
|
var pkg = opts.package || opts.pkg;
|
||||||
if (!pkg) {
|
if (!pkg) {
|
||||||
|
opts.maintainerEmail = parseMaintainer(opts.maintainerEmail);
|
||||||
return opts;
|
return opts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -90,13 +94,26 @@ function parsePackage(opts) {
|
||||||
|
|
||||||
if (!opts.maintainerEmail) {
|
if (!opts.maintainerEmail) {
|
||||||
try {
|
try {
|
||||||
opts.maintainerEmail = pkg.author.email || pkg.author.match(looseEmailRe)[1];
|
opts.maintainerEmail = pkg.author.email || pkg.author.match(looseEmailRe)[2];
|
||||||
} catch (e) {}
|
} catch (e) {}
|
||||||
}
|
}
|
||||||
if (!opts.maintainerEmail) {
|
if (!opts.maintainerEmail) {
|
||||||
throw new Error("missing or malformed `package.author`, which is used as the contact for support notices");
|
throw new Error("missing or malformed `package.author`, which is used as the contact for support notices");
|
||||||
}
|
}
|
||||||
opts.package = undefined;
|
opts.package = undefined;
|
||||||
|
opts.maintainerEmail = parseMaintainer(opts.maintainerEmail);
|
||||||
|
|
||||||
return opts;
|
return opts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function parseMaintainer(maintainerEmail) {
|
||||||
|
try {
|
||||||
|
maintainerEmail = maintainerEmail.match(looseEmailRe)[2];
|
||||||
|
} catch (e) {
|
||||||
|
maintainerEmail = null;
|
||||||
|
}
|
||||||
|
if (!maintainerEmail) {
|
||||||
|
throw new Error("missing or malformed `maintainerEmail`, which is used as the contact for support notices");
|
||||||
|
}
|
||||||
|
return maintainerEmail;
|
||||||
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ Servers.create = function(greenlock) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_httpsServer) {
|
if (_httpsServer) {
|
||||||
if (secureOpts && Object.keys(secureOpts)) {
|
if (secureOpts && Object.keys(secureOpts).length) {
|
||||||
throw new Error("Call glx.httpsServer(tlsOptions) before calling glx.serveApp(app)");
|
throw new Error("Call glx.httpsServer(tlsOptions) before calling glx.serveApp(app)");
|
||||||
}
|
}
|
||||||
return _httpsServer;
|
return _httpsServer;
|
||||||
|
@ -86,7 +86,7 @@ Servers.create = function(greenlock) {
|
||||||
|
|
||||||
// TODO fetch greenlock.servername
|
// TODO fetch greenlock.servername
|
||||||
_middlewareApp = app || _middlewareApp;
|
_middlewareApp = app || _middlewareApp;
|
||||||
var secureServer = servers.httpsServer({}, app);
|
var secureServer = servers.httpsServer(null, app);
|
||||||
var secureAddr = "0.0.0.0";
|
var secureAddr = "0.0.0.0";
|
||||||
var securePort = 443;
|
var securePort = 443;
|
||||||
secureServer.listen(securePort, secureAddr, function() {
|
secureServer.listen(securePort, secureAddr, function() {
|
||||||
|
|
Loading…
Reference in New Issue