diff --git a/src/dns/caas.js b/src/dns/caas.js index a815e4930..c9be52865 100644 --- a/src/dns/caas.js +++ b/src/dns/caas.js @@ -41,6 +41,7 @@ function add(dnsConfig, zoneName, subdomain, type, values, callback) { .send(data) .end(function (error, result) { if (error && !error.response) return callback(error); + if (result.statusCode === 400) return callback(new SubdomainError(SubdomainError.BAD_FIELD, result.body.message)); if (result.statusCode === 420) return callback(new SubdomainError(SubdomainError.STILL_BUSY)); if (result.statusCode !== 201) return callback(new SubdomainError(SubdomainError.EXTERNAL_ERROR, util.format('%s %j', result.statusCode, result.body))); @@ -108,6 +109,7 @@ function del(dnsConfig, zoneName, subdomain, type, values, callback) { .send(data) .end(function (error, result) { if (error && !error.response) return callback(error); + if (result.statusCode === 400) return callback(new SubdomainError(SubdomainError.BAD_FIELD, result.body.message)); if (result.statusCode === 420) return callback(new SubdomainError(SubdomainError.STILL_BUSY)); if (result.statusCode === 404) return callback(new SubdomainError(SubdomainError.NOT_FOUND)); if (result.statusCode !== 204) return callback(new SubdomainError(SubdomainError.EXTERNAL_ERROR, util.format('%s %j', result.statusCode, result.body))); diff --git a/src/subdomains.js b/src/subdomains.js index 3c2f658d7..8c1d663b0 100644 --- a/src/subdomains.js +++ b/src/subdomains.js @@ -41,6 +41,7 @@ util.inherits(SubdomainError, Error); SubdomainError.NOT_FOUND = 'No such domain'; SubdomainError.EXTERNAL_ERROR = 'External error'; +SubdomainError.BAD_FIELD = 'Bad Field'; SubdomainError.STILL_BUSY = 'Still busy'; SubdomainError.MISSING_CREDENTIALS = 'Missing credentials'; SubdomainError.INTERNAL_ERROR = 'Internal error';