INNER CODE UNIT · Go
NewDiskCache
cc1a2b/JShunter · internal/jshunter/cache.go:44
func NewDiskCache(dir string) (*DiskCache, error) {
if dir == "" {
return nil, nil
}
if err := os.MkdirAll(dir, 0o755); err != nil {
return nil, fmt.Errorf("create cache dir: %w", err)
}
return &DiskCache{dir: dir}, nil
}
func (c *DiskCache) keyFor(u string) string {
h := sha256.Sum256([]byte(u))
return hex.EncodeToString(h[:])
}
func (c *DiskCache) bodyPath(u string) string {
return filepath.Join(c.dir, c.keyFor(u)+".body")
}