RealTimeProxyRouter.coffee 572 B

123456789101112131415161718192021
  1. settings = require "settings-sharelatex"
  2. httpProxy = require('http-proxy');
  3. proxy = httpProxy.createProxyServer({
  4. target: settings.apis.realTime.url
  5. })
  6. wsProxy = httpProxy.createProxyServer({
  7. target: settings.apis.realTime.url.replace("http://", "ws://")
  8. ws: true
  9. })
  10. module.exports =
  11. apply: (webRouter, apiRouter) ->
  12. webRouter.all /\/socket\.io\/.*/, (req, res, next) ->
  13. proxy.web req, res, next
  14. setTimeout () ->
  15. Server = require "../../infrastructure/Server"
  16. Server.server.on "upgrade", (req, socket, head) ->
  17. wsProxy.ws req, socket, head
  18. , 0