;(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')
checker.createDirectories()
- // ----------- PeTube modules -----------
+ // ----------- PeerTube modules -----------
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')
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 () {