]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server.js
Create a constants module to easily modify some constants in a test
[github/Chocobozzz/PeerTube.git] / server.js
index 3f68fff1857f32bd30bc3f25801b8fb75b9dfda3..ad57649b24eaafb75889634a6bae258e0e6dc67a 100644 (file)
--- a/server.js
+++ b/server.js
@@ -1,20 +1,18 @@
 ;(function () {
   'use strict'
 
-  // ----------- Constantes -----------
-  global.API_VERSION = 'v1'
-
   // ----------- Node modules -----------
+  var bodyParser = require('body-parser')
   var express = require('express')
   var expressValidator = require('express-validator')
-  var path = require('path')
+  var http = require('http')
   var morgan = require('morgan')
-  var bodyParser = require('body-parser')
-  var multer = require('multer')
+  var path = require('path')
   var TrackerServer = require('bittorrent-tracker').Server
   var WebSocketServer = require('ws').Server
+
+  // Create our main app
   var app = express()
-  var http = require('http')
 
   // ----------- Checker -----------
   var checker = require('./src/checker')
     process.exit(0)
   }
 
-  checker.createDirectories()
+  checker.createDirectoriesIfNotExist()
 
   // ----------- PeerTube modules -----------
   var config = require('config')
+  var constants = require('./src/constants')
+  var customValidators = require('./src/customValidators')
   var logger = require('./src/logger')
+  var poolRequests = require('./src/poolRequests')
   var routes = require('./routes')
   var utils = require('./src/utils')
   var videos = require('./src/videos')
   var webtorrent = require('./src/webTorrentNode')
 
+  // Get configurations
   var port = config.get('listen.port')
-  var uploads = config.get('storage.uploads')
 
   // ----------- Command line -----------
 
   // ----------- App -----------
+
+  // For the logger
   app.use(morgan('combined', { stream: logger.stream }))
+  // For body requests
   app.use(bodyParser.json())
-  app.use(multer({ dest: uploads }))
   app.use(bodyParser.urlencoded({ extended: false }))
-  app.use(expressValidator())
+  // Validate some params for the API
+  app.use(expressValidator({
+    customValidators: customValidators
+  }))
 
   // ----------- Views, routes and static files -----------
 
     port: 35729
   }))
 
+  // Catch sefaults
   require('segfault-handler').registerHandler()
 
+  // Static files
   app.use(express.static(path.join(__dirname, '/public'), { maxAge: 0 }))
 
   // Jade template from ./views directory
   app.set('views', path.join(__dirname, '/views'))
   app.set('view engine', 'jade')
 
-  // API
-  var api_route = '/api/' + global.API_VERSION
+  // API routes
+  var api_route = '/api/' + constants.API_VERSION
   app.use(api_route, routes.api)
 
   // Views routes
 
       // ----------- Make the server listening -----------
       server.listen(port, function () {
+        // Activate the pool requests
+        poolRequests.activate()
+
         videos.seedAll(function () {
           logger.info('Seeded all the videos')
           logger.info('Server listening on port %d', port)