Add option to throw on non-empty RCON responses

Add option to FactorioServer.sendRcon to throw on non-empty responses
from Factorio.  This is useful for detecting errors returned by commands
that should not have a response.
This commit is contained in:
Hornwitser committed 2020-01-04 17:34:16 +01:00
1 parent f88e1f1d3a
commit 221dc855f4
3 files changed
+17 -3

No files matched your search

+9 -2
View File
@@ -625,15 +625,22 @@ class FactorioServer extends events.EventEmitter {
* wait until it is establied and then send the message.
*
* @param {string} message - message to send to server over RCON.
* @param {boolean} expectEmpty -
* if true throw if the response is not empty. Useful for detecting
* errors that might have been sent in response.
* @returns {string} response from server.
*/
async sendRcon(message) {
async sendRcon(message, expectEmpty) {
this._check(["running"])
if (!this._rconReady) {
await events.once(this, 'rcon-ready');
}
return await this._rconClient.send(message);
let response = await this._rconClient.send(message);
if (expectEmpty && response !== '') {
throw new Error(`Expected empty response but got "${response}"`);
}
return response;
}
/**