mirror of
https://github.com/overleaf/overleaf.git
synced 2025-01-31 20:04:27 +00:00
rename staticServer to staticCompileServer
This commit is contained in:
parent
96b8d001f7
commit
bdbfe70086
1 changed files with 21 additions and 17 deletions
|
@ -118,21 +118,25 @@ const ForbidSymlinks = require('./app/js/StaticServerForbidSymlinks')
|
|||
// create a static server which does not allow access to any symlinks
|
||||
// avoids possible mismatch of root directory between middleware check
|
||||
// and serving the files
|
||||
const staticServer = ForbidSymlinks(express.static, Settings.path.compilesDir, {
|
||||
setHeaders(res, path, stat) {
|
||||
if (Path.basename(path) === 'output.pdf') {
|
||||
// Calculate an etag in the same way as nginx
|
||||
// https://github.com/tj/send/issues/65
|
||||
const etag = (path, stat) =>
|
||||
`"${Math.ceil(+stat.mtime / 1000).toString(16)}` +
|
||||
'-' +
|
||||
Number(stat.size).toString(16) +
|
||||
'"'
|
||||
res.set('Etag', etag(path, stat))
|
||||
const staticCompileServer = ForbidSymlinks(
|
||||
express.static,
|
||||
Settings.path.compilesDir,
|
||||
{
|
||||
setHeaders(res, path, stat) {
|
||||
if (Path.basename(path) === 'output.pdf') {
|
||||
// Calculate an etag in the same way as nginx
|
||||
// https://github.com/tj/send/issues/65
|
||||
const etag = (path, stat) =>
|
||||
`"${Math.ceil(+stat.mtime / 1000).toString(16)}` +
|
||||
'-' +
|
||||
Number(stat.size).toString(16) +
|
||||
'"'
|
||||
res.set('Etag', etag(path, stat))
|
||||
}
|
||||
return res.set('Content-Type', ContentTypeMapper.map(path))
|
||||
}
|
||||
return res.set('Content-Type', ContentTypeMapper.map(path))
|
||||
}
|
||||
})
|
||||
)
|
||||
|
||||
app.get(
|
||||
'/project/:project_id/user/:user_id/build/:build_id/output/*',
|
||||
|
@ -141,7 +145,7 @@ app.get(
|
|||
req.url =
|
||||
`/${req.params.project_id}-${req.params.user_id}/` +
|
||||
OutputCacheManager.path(req.params.build_id, `/${req.params[0]}`)
|
||||
return staticServer(req, res, next)
|
||||
return staticCompileServer(req, res, next)
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -154,7 +158,7 @@ app.get('/project/:project_id/build/:build_id/output/*', function (
|
|||
req.url =
|
||||
`/${req.params.project_id}/` +
|
||||
OutputCacheManager.path(req.params.build_id, `/${req.params[0]}`)
|
||||
return staticServer(req, res, next)
|
||||
return staticCompileServer(req, res, next)
|
||||
})
|
||||
|
||||
app.get('/project/:project_id/user/:user_id/output/*', function (
|
||||
|
@ -164,7 +168,7 @@ app.get('/project/:project_id/user/:user_id/output/*', function (
|
|||
) {
|
||||
// for specific user get the path to the top level file
|
||||
req.url = `/${req.params.project_id}-${req.params.user_id}/${req.params[0]}`
|
||||
return staticServer(req, res, next)
|
||||
return staticCompileServer(req, res, next)
|
||||
})
|
||||
|
||||
app.get('/project/:project_id/output/*', function (req, res, next) {
|
||||
|
@ -179,7 +183,7 @@ app.get('/project/:project_id/output/*', function (req, res, next) {
|
|||
} else {
|
||||
req.url = `/${req.params.project_id}/${req.params[0]}`
|
||||
}
|
||||
return staticServer(req, res, next)
|
||||
return staticCompileServer(req, res, next)
|
||||
})
|
||||
|
||||
app.get('/oops', function (req, res, next) {
|
||||
|
|
Loading…
Reference in a new issue