1
0
镜像自地址 https://github.com/astaxie/beego.git 已同步 2025-07-17 18:52:16 +00:00

isOk to check whether the file is latest

这个提交包含在:
JessonChan
2015-11-16 14:05:05 +08:00
父节点 d963bb79bd
当前提交 5d01afe3a6

查看文件

@@ -100,15 +100,13 @@ var (
func openFile(filePath string, fi os.FileInfo, acceptEncoding string) (bool, string, *serveContentHolder, error) {
mapKey := acceptEncoding + ":" + filePath
mapFile, ok := staticFileMap[mapKey]
if ok {
if mapFile.modTime == fi.ModTime() && mapFile.size == fi.Size() {
return mapFile.encoding != "", mapFile.encoding, mapFile, nil
}
mapFile, _ := staticFileMap[mapKey]
if isOk(mapFile, fi) {
return mapFile.encoding != "", mapFile.encoding, mapFile, nil
}
mapLock.Lock()
defer mapLock.Unlock()
if mapFile, ok = staticFileMap[mapKey]; !ok {
if mapFile, _ = staticFileMap[mapKey]; !isOk(mapFile, fi) {
file, err := os.Open(filePath)
if err != nil {
return false, "", nil, err
@@ -126,6 +124,13 @@ func openFile(filePath string, fi os.FileInfo, acceptEncoding string) (bool, str
return mapFile.encoding != "", mapFile.encoding, mapFile, nil
}
func isOk(s *serveContentHolder, fi os.FileInfo) bool {
if s == nil {
return false
}
return s.modTime == fi.ModTime() && s.size == fi.Size()
}
// isStaticCompress detect static files
func isStaticCompress(filePath string) bool {