overleaf/services/chat/app/coffee/server.coffee
Xavier Trochu 0323787a64 Remove the internal metrics module.
The internal metrics module is unneeded as metrics-sharelatex does the
same function.
2015-11-19 17:00:12 +01:00

51 lines
1.2 KiB
CoffeeScript

logger = require 'logger-sharelatex'
logger.initialize("chat-sharelatex")
metrics = require("metrics-sharelatex")
metrics.initialize("chat")
Path = require("path")
express = require("express")
app = express()
server = require("http").createServer(app)
io = require("socket.io").listen(server)
io.set("resource", "/chat/socket.io")
io.set("log level", 1)
Router = require "./router"
metrics.mongodb.monitor(Path.resolve(__dirname + "/../../node_modules/mongojs/node_modules/mongodb"), logger)
app.use express.bodyParser()
app.use metrics.http.monitor(logger)
Router.route(app, io)
if (app.get 'env') == 'development'
console.log "Development Enviroment"
app.use express.errorHandler({ dumpExceptions: true, showStack: true })
if (app.get 'env') == 'production'
console.log "Production Enviroment"
app.use express.logger()
app.use express.errorHandler()
mountPoint = "/chat"
app.use (req, res, next) ->
if req.url.slice(0, mountPoint.length) == mountPoint
req.url = req.url.slice(mountPoint.length)
next()
else
res.send(404)
app.use(express.static(__dirname + "/../../public/build"))
module.exports = {
server: server
io: io
app: app
}
require("./Features/Sockets/RealTimeEventManager").listenForChatEvents()