-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathserver.js
52 lines (42 loc) · 1.45 KB
/
server.js
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
// Copyright IBM Corp. 2014,2015. All Rights Reserved.
// Node module: loopback-example-middleware
// This file is licensed under the MIT License.
// License text available at https://opensource.org/licenses/MIT
var loopback = require('loopback');
var boot = require('loopback-boot');
var app = module.exports = loopback();
app.start = function() {
// start the web server
return app.listen(function() {
app.emit('started');
var baseUrl = app.get('url').replace(/\/$/, '');
console.log('Web server listening at: %s', baseUrl);
if (app.get('loopback-component-explorer')) {
var explorerPath = app.get('loopback-component-explorer').mountPath;
console.log('Browse your REST API at %s%s', baseUrl, explorerPath);
}
});
};
// Bootstrap the application, configure models, datasources and middleware.
// Sub-apps like REST API are mounted via boot scripts.
boot(app, __dirname, function(err) {
if (err) throw err;
// start the server if `$ node server.js`
if (require.main === module)
app.start();
});
app.get('remoting').errorHandler = {
handler: function(err, req, res, defaultHandler) {
err = app.buildError(err);
// send the error back to the original handler
defaultHandler(err);
},
disableStackTrace: true
};
app.buildError = function(err) {
err.message = 'Custom message: ' + err.message;
err.status = 408; // override the status
// remove the statusCode property
delete err.statusCode;
return err;
};