2021-03-10 15:24:13 -05:00
|
|
|
// Copyright 2013 The imageproxy authors.
|
|
|
|
// SPDX-License-Identifier: Apache-2.0
|
2013-12-06 20:40:35 -05:00
|
|
|
|
2014-07-30 20:23:43 -05:00
|
|
|
package imageproxy
|
2013-12-04 05:55:56 -05:00
|
|
|
|
2013-12-25 21:48:10 -05:00
|
|
|
// The Cache interface defines a cache for storing arbitrary data. The
|
|
|
|
// interface is designed to align with httpcache.Cache.
|
|
|
|
type Cache interface {
|
|
|
|
// Get retrieves the cached data for the provided key.
|
|
|
|
Get(key string) (data []byte, ok bool)
|
|
|
|
|
|
|
|
// Set caches the provided data.
|
|
|
|
Set(key string, data []byte)
|
|
|
|
|
|
|
|
// Delete deletes the cached data at the specified key.
|
|
|
|
Delete(key string)
|
|
|
|
}
|
2013-12-04 05:55:56 -05:00
|
|
|
|
|
|
|
// NopCache provides a no-op cache implementation that doesn't actually cache anything.
|
|
|
|
var NopCache = new(nopCache)
|
|
|
|
|
|
|
|
type nopCache struct{}
|
|
|
|
|
2013-12-25 21:48:10 -05:00
|
|
|
func (c nopCache) Get(string) ([]byte, bool) { return nil, false }
|
|
|
|
func (c nopCache) Set(string, []byte) {}
|
|
|
|
func (c nopCache) Delete(string) {}
|