app.js - seedlinux - Torrent indexing tool opensource torrents with share ratio's etc.
(HTM) git clone git://jay.scot/seedlinux
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
---
app.js (1510B)
---
1 'use strict';
2
3 if(process.env.NODE_ENV === 'production') {
4 require ('newrelic');
5 }
6
7 const express = require('express');
8 const path = require('path');
9 const logger = require('morgan');
10 const bodyParser = require('body-parser');
11 const mongoose = require('mongoose');
12 const helmet = require('helmet');
13 const compression = require('compression');
14 const config = require('./app/config');
15 const index = require('./routes/index');
16
17 const mongoDB = config.dbURI;
18 mongoose.connect(mongoDB);
19
20 var db = mongoose.connection;
21 db.on('error', console.error.bind(console, 'MongoDB connection error:'));
22
23 const app = express();
24
25 // Enable basic security but disable 'Strict-Transport-Security'
26 app.use(helmet({
27 hsts: false
28 }));
29
30 app.set('views', path.join(__dirname, 'views'));
31 app.set('view engine', 'pug');
32
33 // disable the logger in production
34 if (app.get('env') !== 'production') {
35 app.use(logger('dev'));
36 }
37
38 app.use(compression());
39 app.use(bodyParser.json());
40 app.use(bodyParser.urlencoded({ extended: false }));
41 app.use(express.static(path.join(__dirname, 'public')));
42
43 // setup the DB
44 app.use(function(req,res,next){
45 req.db = db;
46 next();
47 });
48
49 app.use('/', index);
50
51 app.use(function(req, res, next) {
52 var err = new Error('Not Found');
53 err.status = 404;
54 next(err);
55 });
56
57 app.use(function(err, req, res, next) {
58 res.locals.message = err.message;
59 res.locals.error = req.app.get('env') === 'development' ? err : {};
60
61 res.status(err.status || 500);
62 res.render('error');
63 });
64
65 module.exports = app;