server.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /* eslint-disable
  2. no-unused-vars,
  3. */
  4. // TODO: This file was created by bulk-decaffeinate.
  5. // Fix any style issues and re-enable lint.
  6. /*
  7. * decaffeinate suggestions:
  8. * DS102: Remove unnecessary code created because of implicit returns
  9. * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
  10. */
  11. const metrics = require('metrics-sharelatex')
  12. metrics.initialize('chat')
  13. const logger = require('logger-sharelatex')
  14. logger.initialize('chat')
  15. const Path = require('path')
  16. const express = require('express')
  17. const app = express()
  18. const server = require('http').createServer(app)
  19. const Router = require('./router')
  20. app.use(express.bodyParser())
  21. app.use(metrics.http.monitor(logger))
  22. metrics.injectMetricsRoute(app)
  23. if (app.get('env') === 'development') {
  24. console.log('Development Enviroment')
  25. app.use(express.errorHandler({ dumpExceptions: true, showStack: true }))
  26. }
  27. if (app.get('env') === 'production') {
  28. console.log('Production Enviroment')
  29. app.use(express.logger())
  30. app.use(express.errorHandler())
  31. }
  32. const profiler = require('v8-profiler')
  33. app.get('/profile', function(req, res) {
  34. const time = parseInt(req.query.time || '1000')
  35. profiler.startProfiling('test')
  36. return setTimeout(function() {
  37. const profile = profiler.stopProfiling('test')
  38. return res.json(profile)
  39. }, time)
  40. })
  41. Router.route(app)
  42. module.exports = {
  43. server,
  44. app
  45. }