Compare commits

...

3 Commits

Author SHA1 Message Date
07cd2ced9c v2.8.2: fix community add timeout 2019-06-26 01:57:53 -06:00
Jonathan Hui
000b99cb5e ignore error event 2019-06-26 15:47:25 +10:00
Jonathan Hui
4513a6d49c Handle asynchronous exceptions, e.g. 'socket hang up' 2019-06-26 11:59:17 +10:00
3 changed files with 77 additions and 67 deletions

View File

@ -2,7 +2,6 @@
function addCommunityMember(opts) {
// { name, version, email, domains, action, communityMember, telemetry }
setTimeout(function () {
var https = require('https');
var req = https.request({
hostname: 'api.ppl.family'
@ -16,6 +15,9 @@ function addCommunityMember(opts) {
if (err) { return; }
resp.on('data', function () {});
});
req.on('error', function(error) {
/* ignore */
});
var os = require('os');
var data = {
address: opts.email
@ -39,10 +41,22 @@ function addCommunityMember(opts) {
}
req.write(JSON.stringify(data, 2, null));
req.end();
}, 50);
}
module.exports.add = addCommunityMember;
function delay(ms) {
return new Promise(function (resolve) {
return setTimeout(resolve, ms);
});
}
module.exports.add = function (opts) {
return delay(50).then(() => {
return addCommunityMember(opts);
})
.catch(function (ex) {
/* ignore */
})
}
if (require.main === module) {
//addCommunityMember('greenlock-express.js', 'reg', 'coolaj86+test42@gmail.com', ['coolaj86.com'], true);

View File

@ -558,7 +558,6 @@ module.exports.create = function (gl) {
if (!certs || !utils.certHasDomain(certs, args.domain)) {
// There is no cert available
if (false !== args.securityUpdates && !args._communityMemberAdded) {
try {
// We will notify all greenlock users of mandatory and security updates
// We'll keep track of versions and os so we can make sure things work well
// { name, version, email, domains, action, communityMember, telemetry }
@ -571,7 +570,6 @@ module.exports.create = function (gl) {
, communityMember: args.communityMember
, telemetry: args.telemetry
});
} catch(e) { /* ignore */ }
args._communityMemberAdded = true;
}
return core.certificates.registerAsync(args);
@ -580,7 +578,6 @@ module.exports.create = function (gl) {
if (core.certificates._isRenewable(args, certs)) {
// it's time to renew the available cert
if (false !== args.securityUpdates && !args._communityMemberAdded) {
try {
// We will notify all greenlock users of mandatory and security updates
// We'll keep track of versions and os so we can make sure things work well
// { name, version, email, domains, action, communityMember, telemetry }
@ -593,7 +590,6 @@ module.exports.create = function (gl) {
, communityMember: args.communityMember
, telemetry: args.telemetry
});
} catch(e) { /* ignore */ }
args._communityMemberAdded = true;
}
certs.renewing = core.certificates.renewAsync(args, certs);

View File

@ -1,6 +1,6 @@
{
"name": "greenlock",
"version": "2.8.1",
"version": "2.8.2",
"description": "Greenlock is Let's Encrypt (ACME) client for node.js",
"homepage": "https://greenlock.domains/",
"main": "index.js",