1 | module.exports = {
|
2 | start : function(appPath){
|
3 | console.log('YesMan Mocking Server starting...');
|
4 | var debug = require('debug')('myapp');
|
5 | require('./js/globals').appPath = appPath + '/';
|
6 | var app = initExpressApp(appPath);
|
7 |
|
8 |
|
9 |
|
10 | app.set('port', process.env.PORT || 3000);
|
11 |
|
12 | var server = app.listen(app.get('port'), function() {
|
13 | debug('yesman listening on port ' + server.address().port);
|
14 | console.log('yesman listening on port ' + server.address().port + "\n");
|
15 | });
|
16 | }
|
17 | }
|
18 |
|
19 | function initExpressApp() {
|
20 |
|
21 | var express = require('express');
|
22 | var path = require('path');
|
23 | var favicon = require('serve-favicon');
|
24 | var logger = require('morgan');
|
25 | var cookieParser = require('cookie-parser');
|
26 | var bodyParser = require('body-parser');
|
27 |
|
28 | var routes = require('./routes/index');
|
29 | var users = require('./routes/users');
|
30 |
|
31 | var app = express();
|
32 |
|
33 |
|
34 | app.set('views', path.join(__dirname, 'views'));
|
35 | app.set('view engine', 'jade');
|
36 |
|
37 |
|
38 |
|
39 | app.use(logger('dev'));
|
40 | app.use(bodyParser.json());
|
41 | app.use(bodyParser.urlencoded({ extended: false }));
|
42 | app.use(cookieParser());
|
43 | app.use(express.static(path.join(__dirname, 'public')));
|
44 |
|
45 | app.use('/', routes);
|
46 | app.use('/users', users);
|
47 |
|
48 |
|
49 |
|
50 |
|
51 |
|
52 | var appPath = require('./js/globals').appPath;
|
53 | var plugins = require(appPath + '/plugins');
|
54 | plugins(app, module);
|
55 |
|
56 |
|
57 | app.use(function(req, res, next) {
|
58 | var err = new Error('Not Found');
|
59 | err.status = 404;
|
60 | next(err);
|
61 | });
|
62 |
|
63 |
|
64 |
|
65 |
|
66 | if (app.get('env') === 'development') {
|
67 | app.use(function(err, req, res, next) {
|
68 | res.status(err.status || 500);
|
69 | res.render('error', {
|
70 | message: err.message,
|
71 | error: err
|
72 | });
|
73 | });
|
74 | }
|
75 |
|
76 |
|
77 |
|
78 | app.use(function(err, req, res, next) {
|
79 | res.status(err.status || 500);
|
80 | res.render('error', {
|
81 | message: err.message,
|
82 | error: {}
|
83 | });
|
84 | });
|
85 |
|
86 | return app;
|
87 |
|
88 | } |
\ | No newline at end of file |