overleaf/services/web/app/coffee/Features/RealTimeProxy/RealTimeProxyRouter.coffee

21 lines
572 B
CoffeeScript
Raw Normal View History

settings = require "settings-sharelatex"
httpProxy = require('http-proxy');
proxy = httpProxy.createProxyServer({
target: settings.apis.realTime.url
2015-03-20 19:08:35 +00:00
})
wsProxy = httpProxy.createProxyServer({
target: settings.apis.realTime.url.replace("http://", "ws://")
ws: true
})
module.exports =
apply: (webRouter, apiRouter) ->
webRouter.all /\/socket\.io\/.*/, (req, res, next) ->
2015-03-20 19:08:35 +00:00
proxy.web req, res, next
setTimeout () ->
Server = require "../../infrastructure/Server"
Server.server.on "upgrade", (req, socket, head) ->
wsProxy.ws req, socket, head
, 0