X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=app.js;h=eaeed179bbd954ad60a4d9524bd51448e0aeee3d;hb=3d716d9ef715d3bfd70631161d022abda0467b71;hp=5cc70f409ab1ff00e5819baffc7f4db16923fa17;hpb=591ad40c9613c91069047ca0781a4b38fd2a8a1b;p=perso%2FImmae%2FProjets%2FNodejs%2FSurfer.git diff --git a/app.js b/app.js index 5cc70f4..eaeed17 100755 --- a/app.js +++ b/app.js @@ -2,6 +2,7 @@ 'use strict'; + var express = require('express'), morgan = require('morgan'), passport = require('passport'), @@ -12,29 +13,31 @@ var express = require('express'), 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(); 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.delete('/api/files/*', auth.ldap, files.del); +router.get ('/api/files/*', auth.verify, files.get); +router.put ('/api/files/*', auth.verify, multipart, files.put); +router.delete('/api/files/*', auth.verify, files.del); +router.get ('/api/healthcheck', function (req, res) { res.status(200).send(); }); -// 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 +router.get('/', function (req, res) { res.status(200).sendFile(path.join(__dirname, '/app/welcome.html')); }); app.use(morgan('dev')); app.use(compression()); -app.use('/settings', express.static(__dirname + '/app')); -app.use(express.static(__dirname + '/files')); +app.use('/_admin', express.static(__dirname + '/app')); +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); @@ -44,5 +47,9 @@ 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); -}); \ No newline at end of file + console.log('Using base path', basePath); +});