X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=server.js;h=b8674b0b52c80b6e30a7cac8722818ee2ca131c1;hb=dac0a5319ab1c52a0958647b1593f85339b77e29;hp=715556414d9b781ffaad98e0061bc079af74b3d1;hpb=a18603803ae37d7db8ac116113ede0bd979eddcd;p=oweals%2Fpeertube.git diff --git a/server.js b/server.js index 715556414..b8674b0b5 100644 --- a/server.js +++ b/server.js @@ -1,16 +1,12 @@ ;(function () { 'use strict' - // ----------- Constants ----------- - global.API_VERSION = 'v1' - // ----------- Node modules ----------- var bodyParser = require('body-parser') var express = require('express') var expressValidator = require('express-validator') var http = require('http') var morgan = require('morgan') - var multer = require('multer') var path = require('path') var TrackerServer = require('bittorrent-tracker').Server var WebSocketServer = require('ws').Server @@ -19,7 +15,7 @@ var app = express() // ----------- Checker ----------- - var checker = require('./src/checker') + var checker = require('./initializers/checker') var miss = checker.checkConfig() if (miss.length !== 0) { @@ -32,15 +28,22 @@ // ----------- PeerTube modules ----------- var config = require('config') - var logger = require('./src/logger') - var routes = require('./routes') - var utils = require('./src/utils') - var videos = require('./src/videos') - var webtorrent = require('./src/webTorrentNode') + var constants = require('./initializers/constants') + var customValidators = require('./helpers/customValidators') + var database = require('./initializers/database') + var logger = require('./helpers/logger') + var peertubeCrypto = require('./helpers/peertubeCrypto') + var poolRequests = require('./lib/poolRequests') + var routes = require('./controllers') + var utils = require('./helpers/utils') + var videos = require('./lib/videos') + var webtorrent = require('./lib/webTorrentNode') // Get configurations var port = config.get('listen.port') - var uploads = config.get('storage.uploads') + + // ----------- Database ----------- + database.connect() // ----------- Command line ----------- @@ -50,11 +53,11 @@ app.use(morgan('combined', { stream: logger.stream })) // For body requests app.use(bodyParser.json()) - // For POST file requests - app.use(multer({ dest: uploads })) app.use(bodyParser.urlencoded({ extended: false })) // Validate some params for the API - app.use(expressValidator()) + app.use(expressValidator({ + customValidators: customValidators + })) // ----------- Views, routes and static files ----------- @@ -74,7 +77,7 @@ app.set('view engine', 'jade') // API routes - var api_route = '/api/' + global.API_VERSION + var api_route = '/api/' + constants.API_VERSION app.use(api_route, routes.api) // Views routes @@ -115,7 +118,7 @@ // Prod : no stacktraces leaked to user if (process.env.NODE_ENV === 'production') { app.use(function (err, req, res, next) { - logger.error('Error : ' + err.message, { error: err }) + logger.error(err) res.status(err.status || 500) res.render('error', { message: err.message, @@ -124,7 +127,7 @@ }) } else { app.use(function (err, req, res, next) { - logger.error('Error : ' + err.message, { error: err }) + logger.error(err) res.status(err.status || 500) res.render('error', { message: err.message, @@ -134,7 +137,7 @@ } // ----------- Create the certificates if they don't already exist ----------- - utils.createCertsIfNotExist(function (err) { + peertubeCrypto.createCertsIfNotExist(function (err) { if (err) throw err // Create/activate the webtorrent module webtorrent.create(function () { @@ -152,7 +155,10 @@ // ----------- Make the server listening ----------- server.listen(port, function () { - videos.seedAll(function () { + // Activate the pool requests + poolRequests.activate() + + videos.seedAllExisting(function () { logger.info('Seeded all the videos') logger.info('Server listening on port %d', port) app.emit('ready')