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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user