]> git.immae.eu Git - perso/Immae/Projets/Nodejs/Surfer.git/blobdiff - app.js
use APP_ORIGIN instead of HOSTNAME
[perso/Immae/Projets/Nodejs/Surfer.git] / app.js
diff --git a/app.js b/app.js
index c0aec52fe7bf1ddbb02acd161a5296bc54cef6a4..4570b07a4e92bfbd8d33ead26c45cc6de3e0240e 100755 (executable)
--- a/app.js
+++ b/app.js
@@ -7,12 +7,15 @@ 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'),
     cookieParser = require('cookie-parser'),
     lastMile = require('connect-lastmile'),
     multipart = require('./src/multipart'),
+    mkdirp = require('mkdirp'),
     auth = require('./src/auth.js'),
     files = require('./src/files.js')(path.resolve(__dirname, process.argv[2] || 'files'));
 
@@ -21,31 +24,34 @@ var router = new express.Router();
 
 var multipart = multipart({ maxFieldsSize: 2 * 1024, limit: '512mb', timeout: 3 * 60 * 1000 });
 
-router.get('/api/files/*', auth.ldap, files.get);
-router.put('/api/files/*', auth.ldap, multipart, files.put);
+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.APP_ORIGIN ? process.env.APP_ORIGIN : '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(bodyParser.urlencoded({ extended: false, limit: '100mb' }));
 app.use(cookieParser());
-app.use(session({ secret: 'surfin surfin' }));
+app.use(session({ secret: 'surfin surfin', resave: false, saveUninitialized: false }));
 app.use(passport.initialize());
 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;
 
+    var basePath = path.resolve(__dirname, process.argv[2] || 'files');
+    mkdirp.sync(basePath);
+
     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
+    console.log('Using base path', basePath);
+});