Versions in this module Expand all Collapse all v1 v1.1.0 Aug 19, 2023 v1.0.0 May 31, 2023 Changes in this version + const DbDirectory + const DbName + const DefaultKey + const Hash + const OnlyIfCachedKey + const PagesPath + var ErrOnlyIfCached = errors.New("HTTP 504 Unsatisfiable Request (only-if-cached)") + func CloseDatabase(db *bolt.DB) + func LoggerConfig(prefix string) + func OpenDatabase(path string) (*bolt.DB, error) + type CacheCleaner struct + func NewCacheCleaner(dbFile *os.File, maxFileSize int64, fillFactor float64, frequency *time.Ticker) *CacheCleaner + type CachingProperties struct + PagesCount int + Size int64 + func NewCachingProperties(db *bolt.DB, cleaner *CacheCleaner) *CachingProperties + func (p *CachingProperties) CalculateSize() + func (p *CachingProperties) Cleaner() *CacheCleaner + func (p *CachingProperties) ClearCache() error + func (p *CachingProperties) DB() *bolt.DB + func (p *CachingProperties) GetPageFromCache(key []byte, req *http.Request) (*Page, error) + func (p *CachingProperties) IncrementSize(delta int64) + func (p *CachingProperties) InsertPageInCache(key []byte, req *http.Request, resp *http.Response, page *Page) error + func (p *CachingProperties) Observe() + func (p *CachingProperties) RemovePageFromCache(key []byte) (*PageMetadata, error) + func (p *CachingProperties) RequestHashKey(req *http.Request) []byte + type Key int + type Page struct + Body []byte + Header http.Header + type PageMetadata struct + ResponseDirectives responseDirectives + Size int64 + type UrlToKeyBuilder map[string]func(r *http.Request) string