Documentation ¶
Index ¶
- Constants
- Variables
- type Cache
- func (c *Cache) Get(id string) (ItemInfo, io.ReadCloser, error)
- func (c *Cache) GetBytes(id string) (ItemInfo, []byte, error)
- func (c *Cache) GetOrCreate(id string, create func() (io.ReadCloser, error)) (ItemInfo, io.ReadCloser, error)
- func (c *Cache) GetOrCreateBytes(id string, create func() ([]byte, error)) (ItemInfo, []byte, error)
- func (c *Cache) GetString(id string) string
- func (c *Cache) ReadOrCreate(id string, read func(info ItemInfo, r io.ReadSeeker) error, ...) (info ItemInfo, err error)
- func (c *Cache) WriteCloser(id string) (ItemInfo, io.WriteCloser, error)
- type Caches
- type ItemInfo
Constants ¶
const (
FilecacheRootDirname = "filecache"
)
Variables ¶
var ErrFatal = errors.New("fatal filecache error")
ErrFatal can be used to signal an unrecoverable error.
Functions ¶
This section is empty.
Types ¶
type Cache ¶
Cache caches a set of files in a directory. This is usually a file on disk, but since this is backed by an Afero file system, it can be anything.
func (*Cache) GetBytes ¶
GetBytes gets the file content with the given id from the cache, nil if none found.
func (*Cache) GetOrCreate ¶
func (c *Cache) GetOrCreate(id string, create func() (io.ReadCloser, error)) (ItemInfo, io.ReadCloser, error)
GetOrCreate tries to get the file with the given id from cache. If not found or expired, create will be invoked and the result cached. This method is protected by a named lock using the given id as identifier.
func (*Cache) GetOrCreateBytes ¶
func (c *Cache) GetOrCreateBytes(id string, create func() ([]byte, error)) (ItemInfo, []byte, error)
GetOrCreateBytes is the same as GetOrCreate, but produces a byte slice.
func (*Cache) ReadOrCreate ¶
func (c *Cache) ReadOrCreate(id string, read func(info ItemInfo, r io.ReadSeeker) error, create func(info ItemInfo, w io.WriteCloser) error, ) (info ItemInfo, err error)
ReadOrCreate tries to lookup the file in cache. If found, it is passed to read and then closed. If not found a new file is created and passed to create, which should close it when done.
func (*Cache) WriteCloser ¶
WriteCloser returns a transactional writer into the cache. It's important that it's closed when done.
type Caches ¶
Caches is a named set of caches.
func (Caches) AssetsCache ¶
AssetsCache gets the file cache for assets (processed resources, SCSS etc.).
func (Caches) GetResourceCache ¶
GetResourceCache gets the file cache for remote resources.