forked from javmorsol/sample-faq-engine
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
57 lines (39 loc) · 1.3 KB
/
Copy pathapp.js
File metadata and controls
57 lines (39 loc) · 1.3 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
const environment = require('./environment.js');
const express = require('express');
const logger = require('morgan');
const bodyParser = require('body-parser');
//
// express
const app = express(environment.server.port);
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.set('json spaces', 2);
//
// routes
app.use('/api/v1/topics', require('./routes/topics'));
//
// swagger
const swaggerUi = require('swagger-ui-express');
const swaggerDocumentV1 = require('./doc/swagger_v1.json');
app.use('/api/v1', swaggerUi.serve, swaggerUi.setup(swaggerDocumentV1));
//
// errors
// catch 404 and forward to error handler
app.use(function (req, res) {
res.status(404).json({code: 'GENERIC_ERROR', message: "Not found"});
});
// error handler
app.use(function (error, req, res) {
// set locals, only providing error in development
res.locals.message = error.message;
res.locals.error = req.app.get('env') === 'development' ? error : {};
// render the error page
res.status(error.status || 500).json({code: 'GENERIC_ERROR', message: error.message});
});
//
// express (starting server)
app.listen(environment.server.port, function () {
console.log(`Node server listening on port ${environment.server.port}`);
});
module.exports = app;