Merge branch 'master' into multicurrency

This commit is contained in:
Henry Oswald 2014-11-25 11:35:59 +00:00
commit dbecadcaea
9 changed files with 36 additions and 14 deletions

View file

@ -22,6 +22,7 @@ module.exports = BlogController =
logger.log url:url, "proxying request to blog api"
request.get blogUrl, (err, r, data)->
return next(err) if err?
if r?.statusCode == 404
return ErrorController.notFound(req, res, next)
data = data.trim()
@ -37,4 +38,7 @@ module.exports = BlogController =
BlogController.getPage req, res
_directProxy: (originUrl, res)->
request.get(originUrl).pipe res
upstream = request.get(originUrl)
upstream.on "error", (error) ->
logger.error err: error, "blog proxy error"
upstream.pipe res

View file

@ -63,6 +63,7 @@ module.exports = EditorController =
buildJoinProjectView: (project_id, user_id, callback = (error, project, privilegeLevel) ->) ->
ProjectGetter.getProjectWithoutDocLines project_id, (error, project) ->
return callback(error) if error?
return callback(new Error("not found")) if !project?
ProjectGetter.populateProjectWithUsers project, (error, project) ->
return callback(error) if error?
UserGetter.getUser user_id, { isAdmin: true }, (error, user) ->

View file

@ -3,23 +3,26 @@ Base = require("mocha/lib/reporters/base")
redis = require("redis-sharelatex")
settings = require("settings-sharelatex")
redisCheck = redis.activeHealthCheckRedis(settings.redis.web)
logger = require "logger-sharelatex"
domain = require "domain"
module.exports = HealthCheckController =
check: (req, res, next = (error) ->) ->
mocha = new Mocha(reporter: Reporter(res), timeout: 10000)
mocha.addFile("test/smoke/js/SmokeTests.js")
mocha.run () ->
path = require.resolve(__dirname + "/../../../../test/smoke/js/SmokeTests.js")
delete require.cache[path]
d = domain.create()
d.on "error", (error) ->
logger.err err: error, "error in mocha"
d.run () ->
mocha = new Mocha(reporter: Reporter(res), timeout: 10000)
mocha.addFile("test/smoke/js/SmokeTests.js")
mocha.run () ->
path = require.resolve(__dirname + "/../../../../test/smoke/js/SmokeTests.js")
delete require.cache[path]
checkRedis: (req, res, next)->
if redisCheck.isAlive()
res.send 200
else
res.send 500
Reporter = (res) ->
(runner) ->

View file

@ -31,4 +31,7 @@ module.exports = UniversityController =
UniversityController.getPage req, res
_directProxy: (originUrl, res)->
request.get(originUrl).pipe res
upstream = request.get(originUrl)
upstream.on "error", (error) ->
logger.error err: error, "university proxy error"
upstream.pipe res

View file

@ -27,7 +27,10 @@ module.exports =
zipUrl = "#{settings.apis.web.url}#{zipUrl}"
else
zipUrl = "#{settings.apis.templates.url}#{zipUrl}"
request(zipUrl).pipe(writeStream)
zipReq = request(zipUrl)
zipReq.on "error", (error) ->
logger.error err: error, "error getting zip from template API"
zipReq.pipe(writeStream)
writeStream.on 'close', ->
ProjectUploadManager.createProjectFromZipArchive req.session.user._id, req.session.templateData.templateName, dumpPath, (err, project)->
if err?

View file

@ -24,7 +24,8 @@ module.exports = FileTypeManager =
isDirectory: (path, callback = (error, result) ->) ->
fs.stat path, (error, stats) ->
callback(error, stats.isDirectory())
return callback(error) if error?
callback(null, stats?.isDirectory())
isBinary: (name, fsPath, callback = (error, result) ->) ->
parts = name.split(".")

View file

@ -8,6 +8,9 @@ module.exports = (req, res, next)->
redirectUrl = settings.proxyUrls[requestedUrl]
if redirectUrl?
logger.log redirectUrl:redirectUrl, reqUrl:req.url, "proxying url"
request(redirectUrl).pipe(res)
upstream = request(redirectUrl)
upstream.on "error", (error) ->
logger.error err: error, "error in OldAssetProxy"
upstream.pipe(res)
else
next()

View file

@ -12,7 +12,10 @@ describe 'TemplatesController', ->
beforeEach ->
@request = sinon.stub()
@request.returns pipe:->
@request.returns {
pipe:->
on:->
}
@fs = {
unlink : sinon.stub()
createWriteStream : sinon.stub().returns(on:(_, cb)->cb())

View file

@ -8,6 +8,7 @@ Settings = require "settings-sharelatex"
port = Settings.internal?.web?.port or Settings.port or 3000
cookeFilePath = "/tmp/smoke-test-cookie-#{port}.txt"
buildUrl = (path) -> " -b #{cookeFilePath} --resolve 'smoke#{Settings.cookieDomain}:#{port}:127.0.0.1' http://smoke#{Settings.cookieDomain}:#{port}/#{path}?setLng=en"
logger = require "logger-sharelatex"
describe "Opening", ->