server.coffee 929 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. logger = require 'logger-sharelatex'
  2. logger.initialize("chat-sharelatex")
  3. metrics = require("metrics-sharelatex")
  4. metrics.initialize("chat")
  5. Path = require("path")
  6. express = require("express")
  7. app = express()
  8. server = require("http").createServer(app)
  9. Router = require "./router"
  10. app.use express.bodyParser()
  11. app.use metrics.http.monitor(logger)
  12. if (app.get 'env') == 'development'
  13. console.log "Development Enviroment"
  14. app.use express.errorHandler({ dumpExceptions: true, showStack: true })
  15. if (app.get 'env') == 'production'
  16. console.log "Production Enviroment"
  17. app.use express.logger()
  18. app.use express.errorHandler()
  19. profiler = require "v8-profiler"
  20. app.get "/profile", (req, res) ->
  21. time = parseInt(req.query.time || "1000")
  22. profiler.startProfiling("test")
  23. setTimeout () ->
  24. profile = profiler.stopProfiling("test")
  25. res.json(profile)
  26. , time
  27. Router.route(app)
  28. module.exports = {
  29. server: server
  30. app: app
  31. }