MXS-1300: Use native promises for requests

The request-promise-native package adds support for request with native
promises. This is a convenient way to synchronize multiple HTTP requests.

The functions are changed to use promises to make testing easier. With
promises, the testing code can use the chai-as-promised library.

There are a few cases where doRequest is called with a callback that again
calls doAsyncRequest. With multiple hosts, this causes each command to be
propagated to all servers. This is a design flaw of the current multi-host
mode and needs to be changed.

Changed maxctrl.js to wait on the promises to silence some warnings if the
promise rejections are ignored.
This commit is contained in:
Markus Mäkelä
2017-07-14 05:22:34 +03:00
parent b54e94ce95
commit ec5b0fea39
9 changed files with 79 additions and 80 deletions

View File

@ -30,7 +30,7 @@ exports.builder = function(yargs) {
.updateValue('maxscale/logs', 'data.attributes.parameters.log_' + argv.log, true)
} else {
maxctrl(argv)
.logError('Invalid log priority: ' + argv.log);
.error('Invalid log priority: ' + argv.log);
}
})
.command('maxlog', 'Enable MaxScale logging', {}, function(argv) {