2013-04-01 17:23:25 -04:00
|
|
|
/**
|
|
|
|
* A simple server for serving static files using node.js
|
|
|
|
*/
|
|
|
|
|
|
|
|
var express = require('express'),
|
|
|
|
fs = require('fs'),
|
2013-04-07 17:16:03 -04:00
|
|
|
port, app, dev;
|
2013-04-01 17:23:25 -04:00
|
|
|
|
2013-04-09 04:33:03 -04:00
|
|
|
port = process.env.PORT || 8585;
|
|
|
|
dev = (process.argv[2] === '--dev');
|
2013-04-07 17:16:03 -04:00
|
|
|
app = express();
|
2013-04-01 17:23:25 -04:00
|
|
|
|
|
|
|
// Server setup
|
|
|
|
app.configure(function() {
|
2013-04-06 10:45:53 -04:00
|
|
|
if (dev) {
|
|
|
|
// serve test files in development mode
|
2013-04-07 17:16:03 -04:00
|
|
|
console.log(' > Starting in development mode ...');
|
2013-04-06 10:45:53 -04:00
|
|
|
app.use(express['static'](__dirname + '/test'));
|
|
|
|
|
|
|
|
} else {
|
|
|
|
// activate content security policy for production
|
2013-04-01 17:23:25 -04:00
|
|
|
app.use(function(req, res, next) {
|
|
|
|
var csp = "script-src 'self' 'unsafe-eval'; object-src 'none'; style-src 'self' 'unsafe-inline'";
|
|
|
|
res.set('Content-Security-Policy', csp);
|
|
|
|
res.set('X-Content-Security-Policy', csp);
|
|
|
|
res.set('X-WebKit-CSP', csp);
|
|
|
|
return next();
|
|
|
|
});
|
|
|
|
}
|
2013-04-06 10:24:28 -04:00
|
|
|
|
2013-04-01 17:23:25 -04:00
|
|
|
app.use(express['static'](__dirname + '/src'));
|
|
|
|
});
|
|
|
|
|
|
|
|
// start server
|
|
|
|
app.listen(port);
|
2013-04-07 17:16:03 -04:00
|
|
|
console.log(' > listening on http://localhost:' + port);
|