package storage import ( "image" ) // Request combines different attributes needed for storage operations. type Request struct { // The checksum of the source file // Will be used to determine if a thumbnail exists Checksum string // Types provided by the encoder. // Contains the mimetypes of the thumbnail. // In case of jpg/jpeg it will contain both. Types []string // The resolution of the thumbnail Resolution image.Rectangle // Characteristic defines the different image characteristics, // for example, if it's scaled up to fit in the bounding box or not, // is it a chroma version of the image, and so on... // the main propose for this is to be able to differentiate between images which have // the same resolution but different characteristics. Characteristic string } // Storage defines the interface for a thumbnail store. type Storage interface { Stat(key string) bool Get(key string) ([]byte, error) Put(key string, img []byte) error BuildKey(r Request) string }