|
|
@ -9,6 +9,17 @@ try { |
|
|
|
} catch(e) { |
|
|
|
PromiseA = global.Promise; |
|
|
|
} |
|
|
|
var util = require('util'); |
|
|
|
function promisifyAllSelf(obj) { |
|
|
|
if (obj.__promisified) { return obj; } |
|
|
|
Object.keys(obj).forEach(function (key) { |
|
|
|
if ('function' === typeof obj[key]) { |
|
|
|
obj[key + 'Async'] = util.promisify(obj[key]); |
|
|
|
} |
|
|
|
}); |
|
|
|
obj.__promisified = true; |
|
|
|
return obj; |
|
|
|
} |
|
|
|
|
|
|
|
var Greenlock = module.exports; |
|
|
|
Greenlock.Greenlock = Greenlock; |
|
|
@ -240,7 +251,7 @@ Greenlock.create = function (gl) { |
|
|
|
if (gl.acme.create) { |
|
|
|
gl.acme = gl.acme.create(gl); |
|
|
|
} |
|
|
|
gl.acme = PromiseA.promisifyAll(gl.acme); |
|
|
|
gl.acme = promisifyAllSelf(gl.acme); |
|
|
|
gl._acmeOpts = gl.acme.getOptions(); |
|
|
|
Object.keys(gl._acmeOpts).forEach(function (key) { |
|
|
|
if (!(key in gl)) { |
|
|
@ -251,9 +262,9 @@ Greenlock.create = function (gl) { |
|
|
|
if (gl.store.create) { |
|
|
|
gl.store = gl.store.create(gl); |
|
|
|
} |
|
|
|
gl.store = PromiseA.promisifyAll(gl.store); |
|
|
|
gl.store.accounts = PromiseA.promisifyAll(gl.store.accounts); |
|
|
|
gl.store.certificates = PromiseA.promisifyAll(gl.store.certificates); |
|
|
|
gl.store = promisifyAllSelf(gl.store); |
|
|
|
gl.store.accounts = promisifyAllSelf(gl.store.accounts); |
|
|
|
gl.store.certificates = promisifyAllSelf(gl.store.certificates); |
|
|
|
gl._storeOpts = gl.store.getOptions(); |
|
|
|
Object.keys(gl._storeOpts).forEach(function (key) { |
|
|
|
if (!(key in gl)) { |
|
|
@ -280,7 +291,9 @@ Greenlock.create = function (gl) { |
|
|
|
if (challenger.create) { |
|
|
|
challenger = gl.challenges[challengeType] = challenger.create(gl); |
|
|
|
} |
|
|
|
challenger = gl.challenges[challengeType] = PromiseA.promisifyAll(challenger); |
|
|
|
if (!challenger.getOptionsAsync) { |
|
|
|
challenger = gl.challenges[challengeType] = promisifyAllSelf(challenger); |
|
|
|
} |
|
|
|
gl['_challengeOpts_' + challengeType] = challenger.getOptions(); |
|
|
|
Object.keys(gl['_challengeOpts_' + challengeType]).forEach(function (key) { |
|
|
|
if (!(key in gl)) { |
|
|
|