Public API for a society manager application

index.js 1.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. var express = require('express');
  2. var https = require('https');
  3. var app = express();
  4. var route_manager = require("./utils/route-manager.js");
  5. var bodyParser = require('body-parser');
  6. var FileStreamRotator = require('file-stream-rotator');
  7. var morgan = require('morgan');
  8. var fs = require('fs');
  9. var logDirectory = 'log'
  10. var production = process.argv[2];
  11. // ensure log directory exists
  12. fs.existsSync(logDirectory) || fs.mkdirSync(logDirectory)
  13. // create a rotating write stream
  14. var accessLogStream = FileStreamRotator.getStream({
  15. date_format: 'YYYYMMDD',
  16. filename: logDirectory + '/access-%DATE%.log',
  17. frequency: 'daily',
  18. verbose: false
  19. })
  20. // setup the logger
  21. app.use(morgan('combined', {stream: accessLogStream}))
  22. app.use(morgan('combined'));
  23. app.use(function(req, res, next) {
  24. res.header("Access-Control-Allow-Origin", "*");
  25. res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  26. next();
  27. });
  28. app.use(bodyParser.json()); // for parsing application/json
  29. app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded
  30. app.use('/', route_manager);
  31. app.use('/source', require('magic-window')('/source', { ignore: ['config', 'redis', 'cert.pem', 'key.pem'] }))
  32. app.listen(3000, function () {
  33. console.log('Now accepting connections on port 3000.');
  34. });
  35. if (production === "-p") {
  36. var prkey = fs.readFileSync('key.pem');
  37. var certi = fs.readFileSync('cert.pem');
  38. https.createServer({
  39. key: prkey,
  40. cert: certi
  41. }, app).listen(443, function() {
  42. console.log("Now accepting HTTPS connections on port 443.");
  43. });
  44. }
  45. process.on('SIGINT', function() {
  46. console.log( "\nRecieved Ctrl-C, shutting down." );
  47. process.exit(0);
  48. })