59 lines
1.3 KiB
JavaScript
59 lines
1.3 KiB
JavaScript
|
'use strict';
|
||
|
|
||
|
var E = module.exports;
|
||
|
|
||
|
function create(code, msg) {
|
||
|
E[code] = function(ctx, msg2) {
|
||
|
var err = new Error(msg);
|
||
|
err.code = code;
|
||
|
err.context = ctx;
|
||
|
if (msg2) {
|
||
|
err.message += ': ' + msg2;
|
||
|
}
|
||
|
/*
|
||
|
Object.keys(extras).forEach(function(k) {
|
||
|
if ('message' === k) {
|
||
|
err.message += ': ' + extras[k];
|
||
|
} else {
|
||
|
err[k] = extras[k];
|
||
|
}
|
||
|
});
|
||
|
*/
|
||
|
return err;
|
||
|
};
|
||
|
}
|
||
|
|
||
|
// TODO open issues and link to them as the error url
|
||
|
create(
|
||
|
'NO_MAINTAINER',
|
||
|
'please supply `maintainerEmail` as a contact for security and critical bug notices'
|
||
|
);
|
||
|
create(
|
||
|
'BAD_ORDER',
|
||
|
'altnames should be in deterministic order, with subject as the first altname'
|
||
|
);
|
||
|
create('NO_SUBJECT', 'no certificate subject given');
|
||
|
create(
|
||
|
'NO_SUBSCRIBER',
|
||
|
'please supply `subscriberEmail` as a contact for failed renewal and certificate revocation'
|
||
|
);
|
||
|
create(
|
||
|
'INVALID_SUBSCRIBER',
|
||
|
'`subscriberEmail` is not a valid address, please check for typos'
|
||
|
);
|
||
|
create(
|
||
|
'INVALID_HOSTNAME',
|
||
|
'valid hostnames must be restricted to a-z0-9_.- and contain at least one "."'
|
||
|
);
|
||
|
create(
|
||
|
'INVALID_DOMAIN',
|
||
|
'one or more domains do not exist on public DNS SOA record'
|
||
|
);
|
||
|
create(
|
||
|
'NOT_UNIQUE',
|
||
|
'found duplicate domains, or a subdomain that overlaps a wildcard'
|
||
|
);
|
||
|
|
||
|
// exported for testing only
|
||
|
E._create = create;
|