Merge branch 'promiseProcess' into 'master'
Promise based run when using in a "library-ish" mode See merge request !2
This commit is contained in:
commit
e21f758e60
|
@ -103,6 +103,8 @@ cli.main(function(_, options) {
|
|||
return;
|
||||
}
|
||||
|
||||
require('../').run(args);
|
||||
require('../').run(args).then(function (status) {
|
||||
process.exit(status);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
20
index.js
20
index.js
|
@ -84,13 +84,13 @@ module.exports.run = function (args) {
|
|||
|
||||
if (servers) {
|
||||
if (args.tlsSni01Port) {
|
||||
servers = servers.startServers(
|
||||
servers.startServers(
|
||||
[], args.tlsSni01Port
|
||||
, { debug: args.debug, httpsOptions: le.httpsOptions }
|
||||
);
|
||||
}
|
||||
else {
|
||||
servers = servers.startServers(
|
||||
servers.startServers(
|
||||
args.http01Port || [80], []
|
||||
, { debug: args.debug }
|
||||
);
|
||||
|
@ -98,7 +98,7 @@ module.exports.run = function (args) {
|
|||
}
|
||||
|
||||
// Note: can't use args directly as null values will overwrite template values
|
||||
le.register({
|
||||
return le.register({
|
||||
debug: args.debug
|
||||
, email: args.email
|
||||
, agreeTos: args.agreeTos
|
||||
|
@ -117,10 +117,6 @@ module.exports.run = function (args) {
|
|||
console.log("Renewing them now");
|
||||
return certs._renewing;
|
||||
}).then(function (certs) {
|
||||
if (servers) {
|
||||
servers.closeServers();
|
||||
}
|
||||
|
||||
console.log("");
|
||||
console.log("Got certificate(s) for " + certs.altnames.join(', '));
|
||||
console.log("\tIssued at " + new Date(certs.issuedAt).toISOString() + "");
|
||||
|
@ -147,12 +143,18 @@ module.exports.run = function (args) {
|
|||
);
|
||||
console.log("");
|
||||
|
||||
process.exit(0);
|
||||
if (servers) {
|
||||
return servers.closeServers({ debug: args.debug }).then(function() {
|
||||
return 0;
|
||||
});
|
||||
}
|
||||
|
||||
return 0;
|
||||
}, function (err) {
|
||||
console.error('[Error]: greenlock-cli');
|
||||
console.error(err.stack || new Error('get stack').stack);
|
||||
|
||||
process.exit(1);
|
||||
return 1;
|
||||
});
|
||||
|
||||
};
|
||||
|
|
|
@ -77,11 +77,27 @@ module.exports.create = function (challenge) {
|
|||
|
||||
}
|
||||
|
||||
, closeServers: function () {
|
||||
, closeServers: function (opts) {
|
||||
opts = opts || {};
|
||||
return new Promise(function (done) {
|
||||
var closedServers = 0;
|
||||
var serversToClose = servers._servers.length;
|
||||
if (0 === serversToClose) {
|
||||
done();
|
||||
}
|
||||
|
||||
servers._servers.forEach(function (server) {
|
||||
server.close();
|
||||
});
|
||||
server.close(function () {
|
||||
if (serversToClose === ++closedServers) {
|
||||
if (opts.debug) {
|
||||
console.info('Closed all servers');
|
||||
}
|
||||
servers._servers = [];
|
||||
done();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue