| 
 | 1 | +var express = require('express');  | 
 | 2 | +var path = require('path');  | 
 | 3 | +var favicon = require('serve-favicon');  | 
 | 4 | +var logger = require('morgan');  | 
 | 5 | +var cookieParser = require('cookie-parser');  | 
 | 6 | +var bodyParser = require('body-parser');  | 
 | 7 | + | 
 | 8 | +var routes = require('./routes/index');  | 
 | 9 | +var users = require('./routes/users');  | 
 | 10 | + | 
 | 11 | +var app = express();  | 
 | 12 | + | 
 | 13 | +// view engine setup  | 
 | 14 | +app.set('views', path.join(__dirname, 'views'));  | 
 | 15 | +app.set('view engine', 'hjs');  | 
 | 16 | + | 
 | 17 | +// uncomment after placing your favicon in /public  | 
 | 18 | +//app.use(favicon(__dirname + '/public/favicon.ico'));  | 
 | 19 | +app.use(logger('dev'));  | 
 | 20 | +app.use(bodyParser.json());  | 
 | 21 | +app.use(bodyParser.urlencoded({ extended: false }));  | 
 | 22 | +app.use(cookieParser());  | 
 | 23 | +app.use(express.static(path.join(__dirname, 'public')));  | 
 | 24 | + | 
 | 25 | +app.use('/', routes);  | 
 | 26 | +app.use('/users', users);  | 
 | 27 | + | 
 | 28 | +// catch 404 and forward to error handler  | 
 | 29 | +app.use(function(req, res, next) {  | 
 | 30 | + var err = new Error('Not Found');  | 
 | 31 | + err.status = 404;  | 
 | 32 | + next(err);  | 
 | 33 | +});  | 
 | 34 | + | 
 | 35 | +// error handlers  | 
 | 36 | + | 
 | 37 | +// development error handler  | 
 | 38 | +// will print stacktrace  | 
 | 39 | +if (app.get('env') === 'development') {  | 
 | 40 | + app.use(function(err, req, res, next) {  | 
 | 41 | + res.status(err.status || 500);  | 
 | 42 | + res.render('error', {  | 
 | 43 | + message: err.message,  | 
 | 44 | + error: err  | 
 | 45 | + });  | 
 | 46 | + });  | 
 | 47 | +}  | 
 | 48 | + | 
 | 49 | +// production error handler  | 
 | 50 | +// no stacktraces leaked to user  | 
 | 51 | +app.use(function(err, req, res, next) {  | 
 | 52 | + res.status(err.status || 500);  | 
 | 53 | + res.render('error', {  | 
 | 54 | + message: err.message,  | 
 | 55 | + error: {}  | 
 | 56 | + });  | 
 | 57 | +});  | 
 | 58 | + | 
 | 59 | + | 
 | 60 | +module.exports = app;  | 
0 commit comments