]> git.immae.eu Git - perso/Immae/Projets/Nodejs/Surfer.git/blobdiff - app.js
Improve error handling on login
[perso/Immae/Projets/Nodejs/Surfer.git] / app.js
diff --git a/app.js b/app.js
index a13ce032a436d1debde3ccb0d5da219fbb0775a3..d1619a0823fed70c32585497b9c6fe14c44b1ebb 100755 (executable)
--- a/app.js
+++ b/app.js
@@ -2,10 +2,13 @@
 
 'use strict';
 
+
 var express = require('express'),
     morgan = require('morgan'),
     passport = require('passport'),
     path = require('path'),
+    ejs = require('ejs'),
+    fs = require('fs'),
     compression = require('compression'),
     session = require('express-session'),
     bodyParser = require('body-parser'),
@@ -13,7 +16,7 @@ var express = require('express'),
     lastMile = require('connect-lastmile'),
     multipart = require('./src/multipart'),
     auth = require('./src/auth.js'),
-    files = require('./src/files.js')(path.resolve(__dirname, 'files'));
+    files = require('./src/files.js')(path.resolve(__dirname, process.argv[2] || 'files'));
 
 var app = express();
 var router = new express.Router();
@@ -24,13 +27,14 @@ router.get('/api/files/*', auth.ldap, files.get);
 router.put('/api/files/*', auth.ldap, multipart, files.put);
 router.delete('/api/files/*', auth.ldap, files.del);
 
-// healthcheck in case / does not serve up any file yet
-router.get('/', function (req, res) { res.sendFile(path.join(__dirname, '/app/welcome.html')); });
+// welcome screen in case / does not serve up any file yet
+var appUrl = process.env.HOSTNAME ? 'https://' + process.env.HOSTNAME : 'http://localhost:3000';
+router.get('/', function (req, res) { res.status(200).send(ejs.render(fs.readFileSync(path.join(__dirname, '/app/welcome.html'), 'utf8'), { appUrl: appUrl })); });
 
 app.use(morgan('dev'));
 app.use(compression());
 app.use('/settings', express.static(__dirname + '/app'));
-app.use(express.static(__dirname + '/files'));
+app.use(express.static(path.resolve(__dirname, process.argv[2] || 'files')));
 app.use(bodyParser.json());
 app.use(bodyParser.urlencoded());
 app.use(cookieParser());
@@ -40,9 +44,11 @@ app.use(passport.session());
 app.use(router);
 app.use(lastMile());
 
+
 var server = app.listen(3000, function () {
     var host = server.address().address;
     var port = server.address().port;
 
     console.log('Surfer listening at http://%s:%s', host, port);
+    console.log('Using base path', path.resolve(__dirname, process.argv[2] || 'files'));
 });
\ No newline at end of file