mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
Merge pull request #326 from sharelatex/ho-fingerprintmultiple
Ho fingerprintmultiple
This commit is contained in:
commit
901e32a050
1 changed files with 26 additions and 16 deletions
|
@ -7,6 +7,7 @@ querystring = require('querystring')
|
|||
SystemMessageManager = require("../Features/SystemMessages/SystemMessageManager")
|
||||
AuthenticationController = require("../Features/Authentication/AuthenticationController")
|
||||
_ = require("underscore")
|
||||
async = require("async")
|
||||
Modules = require "./Modules"
|
||||
Url = require "url"
|
||||
|
||||
|
@ -21,27 +22,36 @@ jsPath =
|
|||
"/js/"
|
||||
|
||||
|
||||
logger.log "Generating file fingerprints..."
|
||||
for path in [
|
||||
"#{jsPath}libs/require.js",
|
||||
"#{jsPath}ide.js",
|
||||
"#{jsPath}main.js",
|
||||
"#{jsPath}libs.js",
|
||||
"#{jsPath}ace/ace.js",
|
||||
"#{jsPath}libs/pdfjs-1.3.91p1/pdf.js",
|
||||
"#{jsPath}libs/pdfjs-1.3.91p1/pdf.worker.js",
|
||||
"#{jsPath}libs/pdfjs-1.3.91p1/compatibility.js",
|
||||
"/stylesheets/style.css"
|
||||
]
|
||||
filePath = Path.join __dirname, "../../../", "public#{path}"
|
||||
getFileContent = (filePath)->
|
||||
filePath = Path.join __dirname, "../../../", "public#{filePath}"
|
||||
exists = fs.existsSync filePath
|
||||
if exists
|
||||
content = fs.readFileSync filePath
|
||||
hash = crypto.createHash("md5").update(content).digest("hex")
|
||||
logger.log "#{filePath}: #{hash}"
|
||||
fingerprints[path] = hash
|
||||
return content
|
||||
else
|
||||
logger.log filePath:filePath, "file does not exist for fingerprints"
|
||||
return ""
|
||||
|
||||
logger.log "Generating file fingerprints..."
|
||||
pathList = [
|
||||
["#{jsPath}libs/require.js"]
|
||||
["#{jsPath}ide.js"]
|
||||
["#{jsPath}main.js"]
|
||||
["#{jsPath}libs.js"]
|
||||
["#{jsPath}ace/ace.js","#{jsPath}ace/mode-latex.js", "#{jsPath}ace/snippets/latex.js"]
|
||||
["#{jsPath}libs/pdfjs-1.3.91p1/pdf.js"]
|
||||
["#{jsPath}libs/pdfjs-1.3.91p1/pdf.worker.js"]
|
||||
["#{jsPath}libs/pdfjs-1.3.91p1/compatibility.js"]
|
||||
["/stylesheets/style.css"]
|
||||
]
|
||||
|
||||
for paths in pathList
|
||||
contentList = _.map(paths, getFileContent)
|
||||
content = contentList.join("")
|
||||
hash = crypto.createHash("md5").update(content).digest("hex")
|
||||
_.each paths, (filePath)->
|
||||
logger.log "#{filePath}: #{hash}"
|
||||
fingerprints[filePath] = hash
|
||||
|
||||
getFingerprint = (path) ->
|
||||
if fingerprints[path]?
|
||||
|
|
Loading…
Reference in a new issue