diff --git a/templates/api-server/component.js b/templates/api-server/component.js index cfa2b7ad..e6198d0a 100644 --- a/templates/api-server/component.js +++ b/templates/api-server/component.js @@ -16,7 +16,7 @@ template.package = { "dependencies": { "compression": "^1.0.3", "errorhandler": "^1.1.1", - "loopback": "~2.0.0-beta3", + "loopback": "~2.0.0-beta5", "loopback-boot": "~2.0.0-beta1", "loopback-datasource-juggler": "~2.0.0-beta2" }, diff --git a/templates/api-server/template/server/boot/root.js b/templates/api-server/template/server/boot/root.js new file mode 100644 index 00000000..e1061423 --- /dev/null +++ b/templates/api-server/template/server/boot/root.js @@ -0,0 +1,6 @@ +module.exports = function(server) { + // Install a `/` route that returns server status + var router = server.loopback.Router(); + router.get('/', server.loopback.status()); + server.use(router); +}; diff --git a/templates/server/template/boot/explorer.js b/templates/server/template/boot/explorer.js index 67e3ca73..7fec2169 100644 --- a/templates/server/template/boot/explorer.js +++ b/templates/server/template/boot/explorer.js @@ -14,7 +14,8 @@ module.exports = function mountLoopBackExplorer(server) { var explorerApp = explorer(restApp, { basePath: restApiRoot }); server.use('/explorer', explorerApp); - server.once('started', function(baseUrl) { + server.once('started', function() { + var baseUrl = server.get('url').replace(/\/$/, ''); // express 4.x (loopback 2.x) uses `mountpath` // express 3.x (loopback 1.x) uses `route` var explorerPath = explorerApp.mountpath || explorerApp.route; diff --git a/templates/server/template/server.js b/templates/server/template/server.js index 36147165..cbf6d4d0 100644 --- a/templates/server/template/server.js +++ b/templates/server/template/server.js @@ -28,10 +28,8 @@ app.use(loopback.errorHandler()); app.start = function() { // start the web server return app.listen(function() { - var host = app.get('host') || '0.0.0.0'; - var baseUrl = 'http://' + host + ':' + app.get('port'); - app.emit('started', baseUrl); - console.log('Web server listening at: %s', baseUrl); + app.emit('started'); + console.log('Web server listening at: %s', app.get('url')); }); }; diff --git a/test/end-to-end.js b/test/end-to-end.js index 3756d9b3..8194e4de 100644 --- a/test/end-to-end.js +++ b/test/end-to-end.js @@ -29,6 +29,16 @@ describe('end-to-end', function() { app = require(SANDBOX); }); + it('provides status on the root url', function(done) { + request(app) + .get('/') + .expect(200, function(err, res) { + if (err) done(err); + expect(res.body).to.have.property('uptime'); + done(); + }); + }); + it('has authentication enabled', function(done) { request(app) .get('/api/users')