summaryrefslogtreecommitdiffstats
path: root/resource
diff options
context:
space:
mode:
Diffstat (limited to 'resource')
-rw-r--r--resource/image_cache.go13
1 files changed, 12 insertions, 1 deletions
diff --git a/resource/image_cache.go b/resource/image_cache.go
index 4fb45c17f..e5149e7a2 100644
--- a/resource/image_cache.go
+++ b/resource/image_cache.go
@@ -33,7 +33,7 @@ type imageCache struct {
func (c *imageCache) isInCache(key string) bool {
c.mu.RLock()
- _, found := c.store[key]
+ _, found := c.store[c.normalizeKey(key)]
c.mu.RUnlock()
return found
}
@@ -41,6 +41,7 @@ func (c *imageCache) isInCache(key string) bool {
func (c *imageCache) deleteByPrefix(prefix string) {
c.mu.Lock()
defer c.mu.Unlock()
+ prefix = c.normalizeKey(prefix)
for k := range c.store {
if strings.HasPrefix(k, prefix) {
delete(c.store, k)
@@ -48,6 +49,16 @@ func (c *imageCache) deleteByPrefix(prefix string) {
}
}
+func (c *imageCache) normalizeKey(key string) string {
+ // It is a path with Unix style slashes and it always starts with a leading slash.
+ key = filepath.ToSlash(key)
+ if !strings.HasPrefix(key, "/") {
+ key = "/" + key
+ }
+
+ return key
+}
+
func (c *imageCache) clear() {
c.mu.Lock()
defer c.mu.Unlock()