Permalink
Browse files

tpl: Use hash for cache key

Use a hash for the cache key, to fix 'file name too long' errors when retreiving from long urls

Fixes #3690
  • Loading branch information...
RealOrangeOne authored and bep committed Jul 21, 2017
1 parent dbe6397 commit 6cd33f6953671edb13d42dcb15746bd10df3428b
Showing with 4 additions and 2 deletions.
  1. +4 −2 tpl/data/cache.go
View
@@ -14,8 +14,9 @@
package data
import (
"crypto/md5"
"encoding/hex"
"errors"
"net/url"
"sync"
"github.com/gohugoio/hugo/config"
@@ -27,7 +28,8 @@ var cacheMu sync.RWMutex
// getCacheFileID returns the cache ID for a string.
func getCacheFileID(cfg config.Provider, id string) string {
return cfg.GetString("cacheDir") + url.QueryEscape(id)
hash := md5.Sum([]byte(id))
return cfg.GetString("cacheDir") + hex.EncodeToString(hash[:])
}
// getCache returns the content for an ID from the file cache or an error.

0 comments on commit 6cd33f6

Please sign in to comment.