server.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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 logger = require('logger-sharelatex')
  12. logger.initialize('chat-sharelatex')
  13. const metrics = require('metrics-sharelatex')
  14. metrics.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. if (app.get('env') === 'development') {
  23. console.log('Development Enviroment')
  24. app.use(express.errorHandler({ dumpExceptions: true, showStack: true }))
  25. }
  26. if (app.get('env') === 'production') {
  27. console.log('Production Enviroment')
  28. app.use(express.logger())
  29. app.use(express.errorHandler())
  30. }
  31. const profiler = require('v8-profiler')
  32. app.get('/profile', function(req, res) {
  33. const time = parseInt(req.query.time || '1000')
  34. profiler.startProfiling('test')
  35. return setTimeout(function() {
  36. const profile = profiler.stopProfiling('test')
  37. return res.json(profile)
  38. }, time)
  39. })
  40. Router.route(app)
  41. module.exports = {
  42. server,
  43. app
  44. }