public async Task<CacheEntry> GetEntryAsync(PrimaryCacheKey cacheKey)
 {
     if (_responseCache.ContainsKey(cacheKey))
     {
         return _responseCache[cacheKey].CacheEntry;
     }
     return null;
 }
        public async Task StoreResponseAsync(HttpResponseMessage response)
        {
            var primaryCacheKey = new PrimaryCacheKey(response.RequestMessage.RequestUri, response.RequestMessage.Method);

            CacheEntry cacheEntry = await _contentStore.GetEntryAsync(primaryCacheKey) ?? new CacheEntry(primaryCacheKey, response.Headers.Vary);

            var content = cacheEntry.CreateContent(response);
            await _contentStore.UpdateEntryAsync(content);

        }
 internal CacheEntry(PrimaryCacheKey key, HttpHeaderValueCollection<string> varyHeaders)
 {
     Key = key;
     VaryHeaders = varyHeaders;
 }