X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server.js;h=4b93a7adf939e0ca7245d407051b450e7ff2becf;hb=207fbab44d04ec92d748b6a32ec9a237029f820b;hp=317d8c3cde9568dbc79daa2e15ec7f53f4f2b02d;hpb=34ca3b5225479a5da986c86ee4c42a73ae6df5ad;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server.js b/server.js index 317d8c3cd..4b93a7adf 100644 --- 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') @@ -26,77 +24,63 @@ process.exit(0) } - checker.createDirectories() + checker.createDirectoriesIfNotExist() + + // ----------- Constants ----------- + var utils = require('./src/utils') + + global.API_VERSION = 'v1' + global.FRIEND_BASE_SCORE = utils.isTestInstance() ? 20 : 100 // ----------- PeerTube modules ----------- var config = require('config') + var customValidators = require('./src/customValidators') var logger = require('./src/logger') + var poolRequests = require('./src/poolRequests') var routes = require('./routes') - var api = require('./routes/api/' + global.API_VERSION) - var utils = require('./src/utils') var videos = require('./src/videos') var webtorrent = require('./src/webTorrentNode') - var compression + // 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 ----------- - if (process.env.NODE_ENV === 'production') { - // logger.log('Production : static files in dist/\n') - - // GZip compression - compression = require('compression') - app.use(compression()) - - // A month - var maxAge = 86400000 * 30 - - // TODO - app.get(/^\/(index|(partials\/[a-z\/]+))?$/, function (req, res, next) { - if (req.url === '/') { - req.url = '/index' - } - - req.url += '.html' - next() - }) - - app.use(express.static(path.join(__dirname, '/dist/public'), { maxAge: maxAge })) - app.use(express.static(path.join(__dirname, '/dist/views'), { maxAge: maxAge })) - } else { - // Livereload - app.use(require('connect-livereload')({ - port: 35729 - })) + // Livereload + app.use(require('connect-livereload')({ + port: 35729 + })) - require('segfault-handler').registerHandler() + // Catch sefaults + require('segfault-handler').registerHandler() - app.use(express.static(path.join(__dirname, '/public'), { maxAge: 0 })) + // 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') + // Jade template from ./views directory + app.set('views', path.join(__dirname, '/views')) + app.set('view engine', 'jade') - // Views routes - app.use('/', routes) - } - - // ----------- Routes ----------- + // API routes 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) + app.use(api_route, routes.api) + + // Views routes + app.use('/', routes.views) // ----------- Tracker ----------- @@ -170,6 +154,9 @@ // ----------- 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)