From e31aa8a8d9fef96357f18a33940adacecd1ca363 Mon Sep 17 00:00:00 2001 From: Johannes Date: Thu, 17 Nov 2016 12:58:45 +0100 Subject: Rename app.js -> server.js --- server.js | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100755 server.js (limited to 'server.js') diff --git a/server.js b/server.js new file mode 100755 index 0000000..eaeed17 --- /dev/null +++ b/server.js @@ -0,0 +1,55 @@ +#!/usr/bin/env node + +'use strict'; + + +var express = require('express'), + morgan = require('morgan'), + passport = require('passport'), + path = require('path'), + 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')); + +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.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(); }); + +// 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('/_admin', express.static(__dirname + '/app')); +app.use(express.static(path.resolve(__dirname, process.argv[2] || 'files'))); +app.use(bodyParser.json()); +app.use(bodyParser.urlencoded({ extended: false, limit: '100mb' })); +app.use(cookieParser()); +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', basePath); +}); -- cgit v1.2.3