]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server.js
Add requests parameters validations
[github/Chocobozzz/PeerTube.git] / server.js
index fe0cb237addeb15951ed196ec40afcd8242e91e5..317d8c3cde9568dbc79daa2e15ec7f53f4f2b02d 100644 (file)
--- a/server.js
+++ b/server.js
@@ -1,8 +1,12 @@
 ;(function () {
   'use strict'
 
+  // ----------- Constantes -----------
+  global.API_VERSION = 'v1'
+
   // ----------- Node modules -----------
   var express = require('express')
+  var expressValidator = require('express-validator')
   var path = require('path')
   var morgan = require('morgan')
   var bodyParser = require('body-parser')
@@ -28,7 +32,7 @@
   var config = require('config')
   var logger = require('./src/logger')
   var routes = require('./routes')
-  var api = require('./routes/api')
+  var api = require('./routes/api/' + global.API_VERSION)
   var utils = require('./src/utils')
   var videos = require('./src/videos')
   var webtorrent = require('./src/webTorrentNode')
@@ -44,6 +48,7 @@
   app.use(bodyParser.json())
   app.use(multer({ dest: uploads }))
   app.use(bodyParser.urlencoded({ extended: false }))
+  app.use(expressValidator())
 
   // ----------- Views, routes and static files -----------
 
   }
 
   // ----------- Routes -----------
-  app.use('/api/videos', api.videos)
-  app.use('/api/remotevideos', api.remoteVideos)
-  app.use('/api/pods', api.pods)
+  var api_route = '/api/' + global.API_VERSION
+  app.use(api_route + '/videos', api.videos)
+  app.use(api_route + '/remotevideos', api.remoteVideos)
+  app.use(api_route + '/pods', api.pods)
 
   // ----------- Tracker -----------
 
     if (err) throw err
     // Create/activate the webtorrent module
     webtorrent.create(function () {
+      function cleanForExit () {
+        utils.cleanForExit(webtorrent.app)
+      }
+
+      function exitGracefullyOnSignal () {
+        process.exit()
+      }
+
+      process.on('exit', cleanForExit)
+      process.on('SIGINT', exitGracefullyOnSignal)
+      process.on('SIGTERM', exitGracefullyOnSignal)
+
       // ----------- Make the server listening -----------
       server.listen(port, function () {
         videos.seedAll(function () {