diff --git a/lib/roles/app.js b/lib/roles/app.js index d040ed1a..d4c25a0f 100644 --- a/lib/roles/app.js +++ b/lib/roles/app.js @@ -474,16 +474,12 @@ module.exports = function(options) { } }) .catch(function(err) { + var reply = wireutil.reply('storage') log.error('Storage upload had an error', err.stack) leaveChannel(responseChannel) push.send([ channel - , wireutil.envelope(new wire.TransactionDoneMessage( - 'storage' - , 0 - , false - , 'fail' - )) + , reply.fail('fail') ]) }) }) diff --git a/lib/roles/device/plugins/clipboard.js b/lib/roles/device/plugins/clipboard.js index 0e493c29..5bef74d7 100644 --- a/lib/roles/device/plugins/clipboard.js +++ b/lib/roles/device/plugins/clipboard.js @@ -13,57 +13,38 @@ module.exports = syrup.serial() router.on(wire.PasteMessage, function(channel, message) { log.info('Pasting "%s" to clipboard', message.text) - var seq = 0 + var reply = wireutil.reply(options.serial) input.paste(message.text) .then(function() { push.send([ channel - , wireutil.envelope(new wire.TransactionDoneMessage( - options.serial - , seq++ - , true - )) + , reply.okay() ]) }) .catch(function(err) { log.error('Paste failed', err.stack) push.send([ channel - , wireutil.envelope(new wire.TransactionDoneMessage( - options.serial - , seq++ - , false - , err.message - )) + , reply.fail(err.message) ]) }) }) router.on(wire.CopyMessage, function(channel) { log.info('Copying clipboard contents') - var seq = 0 + var reply = wireutil.reply(options.serial) input.copy() .then(function(content) { push.send([ channel - , wireutil.envelope(new wire.TransactionDoneMessage( - options.serial - , seq++ - , true - , content - )) + , reply.okay(content) ]) }) .catch(function(err) { log.error('Copy failed', err.stack) push.send([ channel - , wireutil.envelope(new wire.TransactionDoneMessage( - options.serial - , seq++ - , false - , err.message - )) + , reply.fail(err.message) ]) }) }) diff --git a/lib/roles/device/plugins/input.js b/lib/roles/device/plugins/input.js index 47dc12c0..3c9f5feb 100644 --- a/lib/roles/device/plugins/input.js +++ b/lib/roles/device/plugins/input.js @@ -337,14 +337,11 @@ module.exports = syrup.serial() .then(function() { router .on(wire.PhysicalIdentifyMessage, function(channel) { + var reply = wireutil.reply(options.serial) identity() push.send([ channel - , wireutil.envelope(new wire.TransactionDoneMessage( - options.serial - , 0 - , true - )) + , reply.okay() ]) }) .on(wire.KeyDownMessage, function(channel, message) { diff --git a/lib/roles/device/plugins/install.js b/lib/roles/device/plugins/install.js index c621acd4..b02937f0 100644 --- a/lib/roles/device/plugins/install.js +++ b/lib/roles/device/plugins/install.js @@ -19,17 +19,12 @@ module.exports = syrup.serial() router.on(wire.InstallMessage, function(channel, message) { log.info('Installing "%s"', message.url) - var seq = 0 + var reply = wireutil.reply(options.serial) function sendProgress(data, progress) { push.send([ channel - , wireutil.envelope(new wire.TransactionProgressMessage( - options.serial - , seq++ - , data - , progress - )) + , reply.progress(data, progress) ]) } @@ -124,24 +119,14 @@ module.exports = syrup.serial() .then(function() { push.send([ channel - , wireutil.envelope(new wire.TransactionDoneMessage( - options.serial - , seq++ - , true - , 'success' - )) + , reply.okay('success') ]) }) .catch(function(err) { log.error('Installation failed', err.stack) push.send([ channel - , wireutil.envelope(new wire.TransactionDoneMessage( - options.serial - , seq++ - , false - , 'fail' - )) + , reply.fail('fail') ]) }) }) @@ -149,30 +134,20 @@ module.exports = syrup.serial() router.on(wire.UninstallMessage, function(channel, message) { log.info('Uninstalling "%s"', message.packageName) - var seq = 0 + var reply = wireutil.reply(options.serial) adb.uninstall(options.serial, message.packageName) .then(function() { push.send([ channel - , wireutil.envelope(new wire.TransactionDoneMessage( - options.serial - , seq++ - , true - , 'success' - )) + , reply.okay('success') ]) }) .catch(function(err) { log.error('Uninstallation failed', err.stack) push.send([ channel - , wireutil.envelope(new wire.TransactionDoneMessage( - options.serial - , seq++ - , false - , 'fail' - )) + , reply.fail('fail') ]) }) }) diff --git a/lib/roles/device/plugins/owner.js b/lib/roles/device/plugins/owner.js index 3f9a1cf0..58b9cc09 100644 --- a/lib/roles/device/plugins/owner.js +++ b/lib/roles/device/plugins/owner.js @@ -68,63 +68,43 @@ module.exports = syrup.serial() router .on(wire.GroupMessage, function(channel, message) { - var seq = 0 + var reply = wireutil.reply(options.serial) if (devutil.matchesRequirements(identity, message.requirements)) { if (!isGrouped()) { joinGroup(message.owner, message.timeout) push.send([ channel - , wireutil.envelope(new wire.TransactionDoneMessage( - options.serial - , seq++ - , true - )) + , reply.okay() ]) } else if (isOwnedBy(message.owner)) { push.send([ channel - , wireutil.envelope(new wire.TransactionDoneMessage( - options.serial - , seq++ - , true - )) + , reply.okay() ]) } else { push.send([ channel - , wireutil.envelope(new wire.TransactionDoneMessage( - options.serial - , seq++ - , false - )) + , reply.fail() ]) } } }) .on(wire.UngroupMessage, function(channel, message) { - var seq = 0 + var reply = wireutil.reply(options.serial) if (devutil.matchesRequirements(identity, message.requirements)) { if (isGrouped()) { leaveGroup() push.send([ channel - , wireutil.envelope(new wire.TransactionDoneMessage( - options.serial - , seq++ - , true - )) + , reply.okay() ]) } else { push.send([ channel - , wireutil.envelope(new wire.TransactionDoneMessage( - options.serial - , seq++ - , true - )) + , reply.okay() ]) } } diff --git a/lib/roles/device/plugins/shell.js b/lib/roles/device/plugins/shell.js index 159eeaf4..bc863374 100644 --- a/lib/roles/device/plugins/shell.js +++ b/lib/roles/device/plugins/shell.js @@ -14,7 +14,7 @@ module.exports = syrup.serial() var log = logger.createLogger('device:plugins:shell') router.on(wire.ShellCommandMessage, function(channel, message) { - var seq = 0 + var reply = wireutil.reply(options.serial) log.info('Running shell command "%s"', message.command) @@ -34,11 +34,7 @@ module.exports = syrup.serial() while ((chunk = stream.read())) { push.send([ channel - , wireutil.envelope(new wire.TransactionProgressMessage( - options.serial - , seq++ - , chunk - )) + , reply.progress(chunk) ]) } } @@ -46,11 +42,7 @@ module.exports = syrup.serial() function endListener() { push.send([ channel - , wireutil.envelope(new wire.TransactionDoneMessage( - options.serial - , seq++ - , true - )) + , reply.okay() ]) resolver.resolve() } @@ -85,12 +77,7 @@ module.exports = syrup.serial() log.error('Shell command "%s" failed', message.command, err.stack) push.send([ channel - , wireutil.envelope(new wire.TransactionDoneMessage( - options.serial - , seq++ - , false - , err.message - )) + , reply.fail(err.message) ]) }) }) diff --git a/lib/roles/storage/temp.js b/lib/roles/storage/temp.js index 5bf36fc5..00056056 100644 --- a/lib/roles/storage/temp.js +++ b/lib/roles/storage/temp.js @@ -15,7 +15,6 @@ var zmq = require('zmq') var logger = require('../../util/logger') var requtil = require('../../util/requtil') var Storage = require('../../util/storage') -var wire = require('../../wire') var wireutil = require('../../wire/util') module.exports = function(options) { @@ -129,18 +128,13 @@ module.exports = function(options) { } app.post('/api/v1/resources', function(req, res) { - var seq = 0 + var reply = wireutil.reply(options.id) function sendProgress(data, progress) { if (req.query.channel) { push.send([ req.query.channel - , wireutil.envelope(new wire.TransactionProgressMessage( - options.id - , seq++ - , data - , progress - )) + , reply.progress(data, progress) ]) } } @@ -149,13 +143,7 @@ module.exports = function(options) { if (req.query.channel) { push.send([ req.query.channel - , wireutil.envelope(new wire.TransactionDoneMessage( - options.id - , seq++ - , success - , data - , body ? JSON.stringify(body) : null - )) + , reply.okay(data, body) ]) } } diff --git a/lib/wire/util.js b/lib/wire/util.js index b53d6aa4..23e7a47b 100644 --- a/lib/wire/util.js +++ b/lib/wire/util.js @@ -37,7 +37,7 @@ var wireutil = { ) .encodeNB() } -, response: function(source) { +, reply: function(source) { var seq = 0 return { okay: function(data, body) {