MXS-1300: Improve MaxCtrl HTTP error messages

The messages now show where the request failed and what was
requested. This should help resolve both develper and end-user problems.

Also fixed the missing logging of the output string in the `parse`
callback of the main function and cleaned up the POSTed server body.
This commit is contained in:
Markus Mäkelä 2017-08-04 14:03:55 +03:00
parent 8f7be8a4f3
commit db531fb2e2
3 changed files with 15 additions and 5 deletions

View File

@ -171,8 +171,16 @@ exports.builder = function(yargs) {
getDifference(src.servers.data, dest.servers.data).forEach(function(i) {
// Create the servers without relationships, those are generated when services and
// monitors are updated
delete i.relationships
promises.push(doAsyncRequest(host, 'servers', null, {method: 'POST', body: {data: i}}))
var newserv = {
data: {
id: i.id,
type: i.type,
attributes: {
parameters: i.attributes.parameters
}
}
}
promises.push(doAsyncRequest(host, 'servers', null, {method: 'POST', body: newserv}))
})
return Promise.all(promises)
.then(function() {

View File

@ -195,9 +195,9 @@ module.exports = function() {
}
}, function(err) {
if (err.response && err.response.body) {
return error('Server responded with status code ' + err.statusCode + ' to `' + err.response.request.method +' ' + resource + '`:' + JSON.stringify(err.response.body, null, 4))
return error('Server at '+ err.response.request.uri.host +' responded with status code ' + err.statusCode + ' to `' + err.response.request.method +' ' + resource + '`:' + JSON.stringify(err.response.body, null, 4))
} else if (err.statusCode) {
return error('Server responded with status code ' + err.statusCode + ' to `' + err.response.request.method +' ' + resource + '`')
return error('Server at '+ err.response.request.uri.host +' responded with status code ' + err.statusCode + ' to `' + err.response.request.method +' ' + resource + '`')
} else if (err.error) {
return error(JSON.stringify(err.error, null, 4))
} else {

View File

@ -100,7 +100,9 @@ module.exports.execute = function(argv, opts) {
program
.parse(argv, {resolve: resolve, reject: reject}, function(err, argv, output) {
if (err) {
reject(err)
reject(err.message)
} else if (output) {
logger.log(output)
}
})
})