]>
git.immae.eu Git - perso/Immae/Projets/Nodejs/Surfer.git/blob - app.js
6 var express
= require('express'),
7 morgan
= require('morgan'),
8 passport
= require('passport'),
9 path
= require('path'),
12 compression
= require('compression'),
13 session
= require('express-session'),
14 bodyParser
= require('body-parser'),
15 cookieParser
= require('cookie-parser'),
16 lastMile
= require('connect-lastmile'),
17 multipart
= require('./src/multipart'),
18 auth
= require('./src/auth.js'),
19 files
= require('./src/files.js')(path
.resolve(__dirname
, process
.argv
[2] || 'files'));
22 var router
= new express
.Router();
24 var multipart
= multipart({ maxFieldsSize: 2 * 1024, limit: '512mb', timeout: 3 * 60 * 1000 });
26 router
.get('/api/files/*', auth
.ldap
, files
.get);
27 router
.put('/api/files/*', auth
.ldap
, multipart
, files
.put
);
28 router
.delete('/api/files/*', auth
.ldap
, files
.del
);
30 // welcome screen in case / does not serve up any file yet
31 var appUrl
= process
.env
.HOSTNAME
? 'https://' + process
.env
.HOSTNAME : 'http://localhost:3000';
32 router
.get('/', function (req
, res
) { res
.status(200).send(ejs
.render(fs
.readFileSync(path
.join(__dirname
, '/app/welcome.html'), 'utf8'), { appUrl: appUrl
})); });
34 app
.use(morgan('dev'));
35 app
.use(compression());
36 app
.use('/settings', express
.static(__dirname
+ '/app'));
37 app
.use(express
.static(path
.resolve(__dirname
, process
.argv
[2] || 'files')));
38 app
.use(bodyParser
.json());
39 app
.use(bodyParser
.urlencoded());
40 app
.use(cookieParser());
41 app
.use(session({ secret: 'surfin surfin' }));
42 app
.use(passport
.initialize());
43 app
.use(passport
.session());
48 var server
= app
.listen(3000, function () {
49 var host
= server
.address().address
;
50 var port
= server
.address().port
;
52 console
.log('Surfer listening at http://%s:%s', host
, port
);
53 console
.log('Using base path', path
.resolve(__dirname
, process
.argv
[2] || 'files'));