X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server.js;h=3b899689c5544b494d579299513d0e22fa6afefc;hb=3bcb78b3aff565996ee0e2aa96bce7f1bdd6d66a;hp=96c493f29d9ba9eaae6c1751d1704519c8e0af5f;hpb=0ae2e7f73c24779f8c99453fb02491382cc0520e;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server.js b/server.js index 96c493f29..3b899689c 100644 --- a/server.js +++ b/server.js @@ -2,15 +2,18 @@ 'use strict' // ----------- Node modules ----------- + var bodyParser = require('body-parser') var express = require('express') - var path = require('path') + var expressValidator = require('express-validator') + 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') @@ -22,75 +25,62 @@ 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 logger = require('./src/logger') var routes = require('./routes') - var api = require('./routes/api') - 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()) + // For POST file requests app.use(multer({ dest: uploads })) app.use(bodyParser.urlencoded({ extended: false })) + // Validate some params for the API + app.use(expressValidator()) // ----------- 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()) + // Livereload + app.use(require('connect-livereload')({ + port: 35729 + })) - // A month - var maxAge = 86400000 * 30 + // Catch sefaults + require('segfault-handler').registerHandler() - // TODO - app.get(/^\/(index|(partials\/[a-z\/]+))?$/, function (req, res, next) { - if (req.url === '/') { - req.url = '/index' - } + // Static files + app.use(express.static(path.join(__dirname, '/public'), { maxAge: 0 })) - req.url += '.html' - next() - }) + // Jade template from ./views directory + app.set('views', path.join(__dirname, '/views')) + app.set('view engine', 'jade') - 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 - })) - - require('segfault-handler').registerHandler() - - 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') - - // Views routes - app.use('/', routes) - } + // API routes + var api_route = '/api/' + global.API_VERSION + app.use(api_route, routes.api) - // ----------- Routes ----------- - app.use('/api/videos', api.videos) - app.use('/api/remotevideos', api.remoteVideos) - app.use('/api/pods', api.pods) + // Views routes + app.use('/', routes.views) // ----------- Tracker -----------