33 lines
875 B
JavaScript
33 lines
875 B
JavaScript
'use strict';
|
|
|
|
module.exports.create = function (defaults) {
|
|
var handlers = {
|
|
getOptions: function () {
|
|
return defaults;
|
|
}
|
|
//
|
|
// set,get,remove challenges
|
|
//
|
|
// Note: this is fine for a one-off CLI tool
|
|
// but a webserver using node-cluster or multiple
|
|
// servers should use a database of some sort
|
|
, _challenges: {}
|
|
, set: function (args, domain, token, secret, cb) {
|
|
handlers._challenges[token] = secret;
|
|
cb(null);
|
|
}
|
|
, get: function (args, domain, token, cb) {
|
|
// TODO keep in mind that, generally get args are just args.domains
|
|
// and it is disconnected from the flow of setChallenge and removeChallenge
|
|
cb(null, handlers._challenges[token]);
|
|
}
|
|
, remove: function (args, domain, token, cb) {
|
|
delete handlers._challenges[token];
|
|
cb(null);
|
|
}
|
|
|
|
};
|
|
|
|
return handlers;
|
|
};
|