UNPKG

harmonyhubjs-discover

Version:

Discover available Logitech Harmony Hubs in the current network.

47 lines (36 loc) 1.04 kB
var debug = require('debug')('harmonyhubjs:discover:responsecollector') var util = require('util') var EventEmitter = require('events').EventEmitter var net = require('net') function ResponseCollector (port) { debug('ResponseCollector(' + port + ')') var self = this this.port = port EventEmitter.call(self) } util.inherits(ResponseCollector, EventEmitter) ResponseCollector.prototype.start = function start () { debug('start()') var self = this self.server = net.createServer(function (socket) { debug('handle new connection') var buffer = '' socket.on('data', function (data) { debug('received data chunk') buffer += data.toString() }) socket.on('end', function () { debug('connection closed. emitting data.') self.emit('response', buffer) }) }).listen(self.port) } ResponseCollector.prototype.stop = function stop () { debug('stop()') if (this.server) { this.server.close() } else { debug('not running') } } module.exports = ResponseCollector