X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fwebtorrent.js;h=fe2ee357f35349347a1d6ff74e925b578a919865;hb=69b0a27cbbd69ca019eb7db5f917b1dd06dc82cd;hp=e2e2586f9f5aa7d83ff85e547b9cf21836ebc105;hpb=233d12d8b1916eae5bae230dc965045adb89a173;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/webtorrent.js b/server/lib/webtorrent.js index e2e2586f9..fe2ee357f 100644 --- a/server/lib/webtorrent.js +++ b/server/lib/webtorrent.js @@ -7,6 +7,7 @@ const spawn = require('electron-spawn') const logger = require('../helpers/logger') +const electronDebug = config.get('electron.debug') let host = config.get('webserver.host') let port = config.get('webserver.port') let nodeKey = 'webtorrentnode' + port @@ -42,13 +43,13 @@ function create (options, callback) { if (!webtorrent.silent) logger.info('IPC server ready.') // Run a timeout of 30s after which we exit the process - const timeout_webtorrent_process = setTimeout(function () { + const timeoutWebtorrentProcess = setTimeout(function () { throw new Error('Timeout : cannot run the webtorrent process. Please ensure you have electron-prebuilt npm package installed with xvfb-run.') }, 30000) ipc.server.on(processKey + '.ready', function () { if (!webtorrent.silent) logger.info('Webtorrent process ready.') - clearTimeout(timeout_webtorrent_process) + clearTimeout(timeoutWebtorrentProcess) callback() }) @@ -56,16 +57,19 @@ function create (options, callback) { throw new Error('Received exception error from webtorrent process : ' + data.exception) }) - const webtorrent_process = spawn(pathUtils.join(__dirname, 'webtorrentProcess.js'), host, port, { detached: true }) - webtorrent_process.stderr.on('data', function (data) { - // logger.debug('Webtorrent process stderr: ', data.toString()) - }) + const webtorrentProcess = spawn(pathUtils.join(__dirname, 'webtorrentProcess.js'), host, port, { detached: true }) - webtorrent_process.stdout.on('data', function (data) { - // logger.debug('Webtorrent process:', data.toString()) - }) + if (electronDebug === true) { + webtorrentProcess.stderr.on('data', function (data) { + logger.debug('Webtorrent process stderr: ', data.toString()) + }) + + webtorrentProcess.stdout.on('data', function (data) { + logger.debug('Webtorrent process:', data.toString()) + }) + } - webtorrent.app = webtorrent_process + webtorrent.app = webtorrentProcess }) ipc.server.start() @@ -84,8 +88,8 @@ function seed (path, callback) { if (!webtorrent.silent) logger.debug('Node wants to seed %s.', data._id) // Finish signal - const event_key = nodeKey + '.seedDone.' + data._id - ipc.server.on(event_key, function listener (received) { + const eventKey = nodeKey + '.seedDone.' + data._id + ipc.server.on(eventKey, function listener (received) { if (!webtorrent.silent) logger.debug('Process seeded torrent %s.', received.magnetUri) // This is a fake object, we just use the magnetUri in this project @@ -93,7 +97,7 @@ function seed (path, callback) { magnetURI: received.magnetUri } - ipc.server.off(event_key) + ipc.server.off(eventKey) callback(torrent) }) @@ -111,8 +115,8 @@ function add (magnetUri, callback) { if (!webtorrent.silent) logger.debug('Node wants to add ' + data._id) // Finish signal - const event_key = nodeKey + '.addDone.' + data._id - ipc.server.on(event_key, function (received) { + const eventKey = nodeKey + '.addDone.' + data._id + ipc.server.on(eventKey, function (received) { if (!webtorrent.silent) logger.debug('Process added torrent.') // This is a fake object, we just use the magnetUri in this project @@ -120,7 +124,7 @@ function add (magnetUri, callback) { files: received.files } - ipc.server.off(event_key) + ipc.server.off(eventKey) callback(torrent) }) @@ -138,14 +142,14 @@ function remove (magnetUri, callback) { if (!webtorrent.silent) logger.debug('Node wants to stop seeding %s.', data._id) // Finish signal - const event_key = nodeKey + '.removeDone.' + data._id - ipc.server.on(event_key, function (received) { + const eventKey = nodeKey + '.removeDone.' + data._id + ipc.server.on(eventKey, function (received) { if (!webtorrent.silent) logger.debug('Process removed torrent %s.', data._id) let err = null if (received.err) err = received.err - ipc.server.off(event_key) + ipc.server.off(eventKey) callback(err) })