Explorar el Código

added asset proxying from templates in, used for old images etc which people linked to

Henry Oswald hace 12 años
padre
commit
8f6dac77d0

+ 13 - 0
services/web/app/coffee/infrastructure/OldAssetProxy.coffee

@@ -0,0 +1,13 @@
+settings = require("settings-sharelatex")
+logger = require("logger-sharelatex")
+request = require("request")
+
+module.exports = (req, res, next)->
+	requestedUrl = req.url
+
+	redirectUrl = settings.proxyUrls[requestedUrl]
+	if redirectUrl?
+		logger.log redirectUrl:redirectUrl, reqUrl:req.url, "proxying url"
+		request(redirectUrl).pipe(res)
+	else
+		next()

+ 2 - 0
services/web/app/coffee/infrastructure/Server.coffee

@@ -17,6 +17,7 @@ cookieParser = express.cookieParser(Settings.security.sessionSecret)
 oneDayInMilliseconds = 86400000
 oneDayInMilliseconds = 86400000
 ReferalConnect = require('../Features/Referal/ReferalConnect')
 ReferalConnect = require('../Features/Referal/ReferalConnect')
 RedirectManager = require("./RedirectManager")
 RedirectManager = require("./RedirectManager")
+OldAssetProxy = require("./OldAssetProxy")
 
 
 metrics.mongodb.monitor(Path.resolve(__dirname + "/../../../node_modules/mongojs/node_modules/mongodb"), logger)
 metrics.mongodb.monitor(Path.resolve(__dirname + "/../../../node_modules/mongojs/node_modules/mongodb"), logger)
 metrics.mongodb.monitor(Path.resolve(__dirname + "/../../../node_modules/mongoose/node_modules/mongodb"), logger)
 metrics.mongodb.monitor(Path.resolve(__dirname + "/../../../node_modules/mongoose/node_modules/mongodb"), logger)
@@ -76,6 +77,7 @@ app.configure 'production', ->
 
 
 app.use metrics.http.monitor(logger)
 app.use metrics.http.monitor(logger)
 app.use RedirectManager
 app.use RedirectManager
+app.use OldAssetProxy
 
 
 app.use (req, res, next)->
 app.use (req, res, next)->
 	metrics.inc "http-request"
 	metrics.inc "http-request"

+ 2 - 0
services/web/config/settings.defaults.coffee

@@ -269,3 +269,5 @@ module.exports =
 	redirects:
 	redirects:
 		"/templates/index": "/templates/"
 		"/templates/index": "/templates/"
 
 
+	proxyUrls: {}
+