diff options
Diffstat (limited to 'server.js')
-rw-r--r-- | server.js | 22 |
1 files changed, 16 insertions, 6 deletions
@@ -1,20 +1,22 @@ | |||
1 | ;(function () { | 1 | ;(function () { |
2 | 'use strict' | 2 | 'use strict' |
3 | 3 | ||
4 | // ----------- Constantes ----------- | 4 | // ----------- Constants ----------- |
5 | global.API_VERSION = 'v1' | 5 | global.API_VERSION = 'v1' |
6 | 6 | ||
7 | // ----------- Node modules ----------- | 7 | // ----------- Node modules ----------- |
8 | var bodyParser = require('body-parser') | ||
8 | var express = require('express') | 9 | var express = require('express') |
9 | var expressValidator = require('express-validator') | 10 | var expressValidator = require('express-validator') |
10 | var path = require('path') | 11 | var http = require('http') |
11 | var morgan = require('morgan') | 12 | var morgan = require('morgan') |
12 | var bodyParser = require('body-parser') | ||
13 | var multer = require('multer') | 13 | var multer = require('multer') |
14 | var path = require('path') | ||
14 | var TrackerServer = require('bittorrent-tracker').Server | 15 | var TrackerServer = require('bittorrent-tracker').Server |
15 | var WebSocketServer = require('ws').Server | 16 | var WebSocketServer = require('ws').Server |
17 | |||
18 | // Create our main app | ||
16 | var app = express() | 19 | var app = express() |
17 | var http = require('http') | ||
18 | 20 | ||
19 | // ----------- Checker ----------- | 21 | // ----------- Checker ----------- |
20 | var checker = require('./src/checker') | 22 | var checker = require('./src/checker') |
@@ -26,7 +28,7 @@ | |||
26 | process.exit(0) | 28 | process.exit(0) |
27 | } | 29 | } |
28 | 30 | ||
29 | checker.createDirectories() | 31 | checker.createDirectoriesIfNotExist() |
30 | 32 | ||
31 | // ----------- PeerTube modules ----------- | 33 | // ----------- PeerTube modules ----------- |
32 | var config = require('config') | 34 | var config = require('config') |
@@ -36,16 +38,22 @@ | |||
36 | var videos = require('./src/videos') | 38 | var videos = require('./src/videos') |
37 | var webtorrent = require('./src/webTorrentNode') | 39 | var webtorrent = require('./src/webTorrentNode') |
38 | 40 | ||
41 | // Get configurations | ||
39 | var port = config.get('listen.port') | 42 | var port = config.get('listen.port') |
40 | var uploads = config.get('storage.uploads') | 43 | var uploads = config.get('storage.uploads') |
41 | 44 | ||
42 | // ----------- Command line ----------- | 45 | // ----------- Command line ----------- |
43 | 46 | ||
44 | // ----------- App ----------- | 47 | // ----------- App ----------- |
48 | |||
49 | // For the logger | ||
45 | app.use(morgan('combined', { stream: logger.stream })) | 50 | app.use(morgan('combined', { stream: logger.stream })) |
51 | // For body requests | ||
46 | app.use(bodyParser.json()) | 52 | app.use(bodyParser.json()) |
53 | // For POST file requests | ||
47 | app.use(multer({ dest: uploads })) | 54 | app.use(multer({ dest: uploads })) |
48 | app.use(bodyParser.urlencoded({ extended: false })) | 55 | app.use(bodyParser.urlencoded({ extended: false })) |
56 | // Validate some params for the API | ||
49 | app.use(expressValidator()) | 57 | app.use(expressValidator()) |
50 | 58 | ||
51 | // ----------- Views, routes and static files ----------- | 59 | // ----------- Views, routes and static files ----------- |
@@ -55,15 +63,17 @@ | |||
55 | port: 35729 | 63 | port: 35729 |
56 | })) | 64 | })) |
57 | 65 | ||
66 | // Catch sefaults | ||
58 | require('segfault-handler').registerHandler() | 67 | require('segfault-handler').registerHandler() |
59 | 68 | ||
69 | // Static files | ||
60 | app.use(express.static(path.join(__dirname, '/public'), { maxAge: 0 })) | 70 | app.use(express.static(path.join(__dirname, '/public'), { maxAge: 0 })) |
61 | 71 | ||
62 | // Jade template from ./views directory | 72 | // Jade template from ./views directory |
63 | app.set('views', path.join(__dirname, '/views')) | 73 | app.set('views', path.join(__dirname, '/views')) |
64 | app.set('view engine', 'jade') | 74 | app.set('view engine', 'jade') |
65 | 75 | ||
66 | // API | 76 | // API routes |
67 | var api_route = '/api/' + global.API_VERSION | 77 | var api_route = '/api/' + global.API_VERSION |
68 | app.use(api_route, routes.api) | 78 | app.use(api_route, routes.api) |
69 | 79 | ||