From b0baea5073d061d761dd046ea966905a8af761e5 Mon Sep 17 00:00:00 2001 From: Henry Oswald Date: Wed, 18 May 2016 10:09:22 +0100 Subject: [PATCH] add query string to end of project resources --- .../Features/Compile/ClsiManager.coffee | 22 +++++++++++++------ .../Features/Compile/CompileManager.coffee | 4 ++-- .../coffee/Compile/ClsiManagerTests.coffee | 2 ++ 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/services/web/app/coffee/Features/Compile/ClsiManager.coffee b/services/web/app/coffee/Features/Compile/ClsiManager.coffee index 473df0f5cd..df7b5749cf 100755 --- a/services/web/app/coffee/Features/Compile/ClsiManager.coffee +++ b/services/web/app/coffee/Features/Compile/ClsiManager.coffee @@ -20,11 +20,13 @@ module.exports = ClsiManager = logger.err err:error, project_id:project_id, "error sending request to clsi" return callback(error) logger.log project_id: project_id, response: response, "received compile response from CLSI" - callback( - null - response?.compile?.status - ClsiManager._parseOutputFiles(project_id, response?.compile?.outputFiles) - ) + ClsiCookieManager._getServerId project_id, (err, clsiServerId)-> + if err? + logger.err err:err, project_id:project_id, "error getting server id" + return callback(err) + outputFiles = ClsiManager._parseOutputFiles(project_id, response?.compile?.outputFiles, clsiServerId) + console.log outputFiles + callback(null, response?.compile?.status, outputFiles) deleteAuxFiles: (project_id, options, callback = (error) ->) -> compilerUrl = @_getCompilerUrl(options?.compileGroup) @@ -74,11 +76,17 @@ module.exports = ClsiManager = logger.error err: error, project_id: project_id, "CLSI returned failure code" callback error, body - _parseOutputFiles: (project_id, rawOutputFiles = []) -> + _parseOutputFiles: (project_id, rawOutputFiles = [], clsiServer) -> + # console.log rawOutputFiles outputFiles = [] for file in rawOutputFiles + console.log path + path = url.parse(file.url).path + path = path.replace("/project/#{project_id}/output/", "") + if clsiServer? + path = "#{path}?clsiserver=#{clsiServer}" outputFiles.push - path: url.parse(file.url).path.replace("/project/#{project_id}/output/", "") + path: path type: file.type build: file.build return outputFiles diff --git a/services/web/app/coffee/Features/Compile/CompileManager.coffee b/services/web/app/coffee/Features/Compile/CompileManager.coffee index c89e7107dd..8249352e5d 100755 --- a/services/web/app/coffee/Features/Compile/CompileManager.coffee +++ b/services/web/app/coffee/Features/Compile/CompileManager.coffee @@ -1,8 +1,6 @@ Settings = require('settings-sharelatex') - redis = require("redis-sharelatex") rclient = redis.createClient(Settings.redis.web) - DocumentUpdaterHandler = require "../DocumentUpdater/DocumentUpdaterHandler" Project = require("../../models/Project").Project ProjectRootDocManager = require "../Project/ProjectRootDocManager" @@ -13,6 +11,8 @@ logger = require("logger-sharelatex") rateLimiter = require("../../infrastructure/RateLimiter") module.exports = CompileManager = + + compile: (project_id, user_id, options = {}, _callback = (error) ->) -> timer = new Metrics.Timer("editor.compile") callback = (args...) -> diff --git a/services/web/test/UnitTests/coffee/Compile/ClsiManagerTests.coffee b/services/web/test/UnitTests/coffee/Compile/ClsiManagerTests.coffee index ba4f717e5f..89f312441d 100644 --- a/services/web/test/UnitTests/coffee/Compile/ClsiManagerTests.coffee +++ b/services/web/test/UnitTests/coffee/Compile/ClsiManagerTests.coffee @@ -11,6 +11,7 @@ describe "ClsiManager", -> @ClsiCookieManager = getCookieJar: sinon.stub().callsArgWith(1, null, @jar) setServerId: sinon.stub().callsArgWith(2) + _getServerId:sinon.stub() @ClsiManager = SandboxedModule.require modulePath, requires: "settings-sharelatex": @settings = apis: @@ -32,6 +33,7 @@ describe "ClsiManager", -> describe "sendRequest", -> beforeEach -> @ClsiManager._buildRequest = sinon.stub().callsArgWith(2, null, @request = "mock-request") + @ClsiCookieManager._getServerId.callsArgWith(1, null, "clsi3") describe "with a successful compile", -> beforeEach ->