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

@ -82,12 +82,6 @@ module.exports = function(argv) {
.command('*', 'the default command', {}, () => {
console.log('Unknown command. See output of `help` for a list of commands.')
})
.parse(process.argv, function(err, argv, output) {
if (err) {
reject(output)
} else {
resolve(output);
}
})
.parse(argv, {resolve: resolve, reject: reject})
})
}