code: func (c *cache) Retrieve(key string) (*Resource, error) {
  	f, err := c.fs.Open(bodyPrefix + formatPrefix + hashKey(key))
  	if err != nil {
  		if vfs.IsNotExist(err) {
  			return nil, ErrNotFoundInCache
  		}
  		return nil, err
  	}
  	h, err := c.Header(key)
  	if err != nil {
  		if vfs.IsNotExist(err) {
  			return nil, ErrNotFoundInCache
  		}
  		return nil, err
  	}
  	res := NewResource(h.StatusCode, f, h.Header)
  	if staleTime, exists := c.stale[key]; exists {
  		if !res.DateAfter(staleTime) {
  			log.Printf("stale marker of %s found", staleTime)
  			res.MarkStale()
  		}
  	}
  	return res, nil
  }
docs: // Retrieve returns a cached Resource for the given key