-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathserver.js
More file actions
70 lines (58 loc) · 2.07 KB
/
server.js
File metadata and controls
70 lines (58 loc) · 2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
// require our dependencies
var express = require('express'),
app = express(),
port = 4000,
mongoose = require('mongoose'),
models = require('./app/models/models'),
bodyParser = require('body-parser');
var passport = require('passport');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
// passport middleware
app.use(passport.initialize());
// for deployment
app.use(express.static('client/build'));
// load passport strategies
var localSignupStrategy = require('./app/passport/local-signup');
var localLoginStrategy = require('./app/passport/local-login');
passport.use('local-signup', localSignupStrategy);
passport.use('local-login', localLoginStrategy);
//Middleware used to show all HTTP request info to the server
app.use(function (req, res, next) {
console.log('Request URL:', req.originalUrl);
next();
}, function (req, res, next) {
console.log('Request Type:', req.method);
next();
}, function(req, res, next) {
console.log('Request Body:', req.body);
next();
});
// pass the authenticaion checker middleware
var authCheckMiddleware = require('./app/middleware/auth-check');
app.use('/', authCheckMiddleware);
//Require our routes and set the app to use them
var posts = require('./app/routes/postRoutes');
var comments = require('./app/routes/commentRoutes');
var applications = require('./app/routes/applicationRoutes');
var auth = require('./app/routes/authRoutes');
var api = require('./app/routes/api');
var reddit = require('./app/routes/redditRoutes');
var interviewQuestions = require('./app/routes/questionRoutes');
var answers = require('./app/routes/answerRoutes');
posts(app);
comments(app);
applications(app);
auth(app);
reddit(app);
interviewQuestions(app);
answers(app);
app.use('/api', api);
//Sends a 404 not found error if the requested URL does not match any API request
app.use(function(req, res) {
res.status(404).send({url: req.originalUrl + ' not found'});
});
// start the server
var server = app.listen(port, function() {
console.log('Server listening on http://%s:%s', server.address().address, server.address().port);
});