X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=app.js;h=90b46fb010fce2bcf82a440a6219a9c41d991005;hb=7bb99aff6337ee30a74a71f587c9a58eb5d24cb3;hp=a13ce032a436d1debde3ccb0d5da219fbb0775a3;hpb=cfe24a278b68cd859e8f98cb0d8be92d49508a32;p=perso%2FImmae%2FProjets%2FNodejs%2FSurfer.git diff --git a/app.js b/app.js index a13ce03..90b46fb 100755 --- a/app.js +++ b/app.js @@ -2,18 +2,22 @@ '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'), 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, 'files')); + files = require('./src/files.js')(path.resolve(__dirname, process.argv[2] || 'files')); var app = express(); var router = new express.Router(); @@ -24,13 +28,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 +45,14 @@ 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', basePath); }); \ No newline at end of file