public async Task StoreResponseAsync(HttpResponseMessage response) { var primaryCacheKey = new PrimaryCacheKey( response.RequestMessage.RequestUri, response.RequestMessage.Method); var cacheEntry = await _contentStore.GetEntryAsync(primaryCacheKey) ?? new CacheEntry(primaryCacheKey, response.Headers.Vary); var content = cacheEntry.CreateContent(response); await _contentStore.UpdateEntryAsync(content); }
public Task<CacheEntry> GetEntryAsync(PrimaryCacheKey cacheKey) { // NB: Task.FromResult doesn't exist in MS.BCL.Async var ret = new TaskCompletionSource<CacheEntry>(); if (_responseCache.ContainsKey(cacheKey)) { ret.SetResult(_responseCache[cacheKey].CacheEntry); } else { ret.SetResult(null); } return ret.Task; }
public Task <CacheEntry> GetEntryAsync(PrimaryCacheKey cacheKey) { // NB: Task.FromResult doesn't exist in MS.BCL.Async var ret = new TaskCompletionSource <CacheEntry>(); if (_responseCache.ContainsKey(cacheKey)) { ret.SetResult(_responseCache[cacheKey].CacheEntry); } else { ret.SetResult(null); } return(ret.Task); }
internal CacheEntry(PrimaryCacheKey key, HttpHeaderValueCollection <string> varyHeaders) { Key = key; VaryHeaders = varyHeaders; }
internal CacheEntry(PrimaryCacheKey key, HttpHeaderValueCollection<string> varyHeaders) { Key = key; VaryHeaders = varyHeaders; }