]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/webtorrent.js
OAuth/User models refractoring -> use mongoose api
[github/Chocobozzz/PeerTube.git] / server / lib / webtorrent.js
index cb641feada355df5958aaa33b7bd59f89f8b91d6..fe2ee357f35349347a1d6ff74e925b578a919865 100644 (file)
@@ -1,20 +1,21 @@
 'use strict'
 
-var config = require('config')
-var ipc = require('node-ipc')
-var pathUtils = require('path')
-var spawn = require('electron-spawn')
-
-var logger = require('../helpers/logger')
-
-var host = config.get('webserver.host')
-var port = config.get('webserver.port')
-var nodeKey = 'webtorrentnode' + port
-var processKey = 'webtorrentprocess' + port
+const config = require('config')
+const ipc = require('node-ipc')
+const pathUtils = require('path')
+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
+let processKey = 'webtorrentprocess' + port
 ipc.config.silent = true
 ipc.config.id = nodeKey
 
-var webtorrent = {
+const webtorrent = {
   add: add,
   app: null, // Pid of the app
   create: create,
@@ -42,39 +43,42 @@ function create (options, callback) {
     if (!webtorrent.silent) logger.info('IPC server ready.')
 
     // Run a timeout of 30s after which we exit the process
-    var 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)
     })
 
-    var 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()
 }
 
 function seed (path, callback) {
-  var extension = pathUtils.extname(path)
-  var basename = pathUtils.basename(path, extension)
-  var data = {
+  const extension = pathUtils.extname(path)
+  const basename = pathUtils.basename(path, extension)
+  const data = {
     _id: basename,
     args: {
       path: path
@@ -84,16 +88,16 @@ function seed (path, callback) {
   if (!webtorrent.silent) logger.debug('Node wants to seed %s.', data._id)
 
   // Finish signal
-  var 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
-    var torrent = {
+    const torrent = {
       magnetURI: received.magnetUri
     }
 
-    ipc.server.off(event_key)
+    ipc.server.off(eventKey)
     callback(torrent)
   })
 
@@ -101,7 +105,7 @@ function seed (path, callback) {
 }
 
 function add (magnetUri, callback) {
-  var data = {
+  const data = {
     _id: magnetUri,
     args: {
       magnetUri: magnetUri
@@ -111,16 +115,16 @@ function add (magnetUri, callback) {
   if (!webtorrent.silent) logger.debug('Node wants to add ' + data._id)
 
   // Finish signal
-  var 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
-    var torrent = {
+    const torrent = {
       files: received.files
     }
 
-    ipc.server.off(event_key)
+    ipc.server.off(eventKey)
     callback(torrent)
   })
 
@@ -128,7 +132,7 @@ function add (magnetUri, callback) {
 }
 
 function remove (magnetUri, callback) {
-  var data = {
+  const data = {
     _id: magnetUri,
     args: {
       magnetUri: magnetUri
@@ -138,14 +142,14 @@ function remove (magnetUri, callback) {
   if (!webtorrent.silent) logger.debug('Node wants to stop seeding %s.', data._id)
 
   // Finish signal
-  var 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)
 
-    var err = null
+    let err = null
     if (received.err) err = received.err
 
-    ipc.server.off(event_key)
+    ipc.server.off(eventKey)
     callback(err)
   })