X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fwebtorrent.js;h=fe2ee357f35349347a1d6ff74e925b578a919865;hb=69b0a27cbbd69ca019eb7db5f917b1dd06dc82cd;hp=455b086a3514a03729db3d39fe2584ad497f932b;hpb=f0f5567b6918fc60c8cab15e13aec03a89a91dfb;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/webtorrent.js b/server/lib/webtorrent.js index 455b086a3..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,30 +43,33 @@ 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() }) ipc.server.on(processKey + '.exception', function (data) { - throw new Error('Received exception error from webtorrent process.' + data.exception) + 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) })