private string FormatQuery(string query, int pageSize, PrismicRef prismicRef) => $"{_prismicApiUrl}/documents/search?ref={prismicRef.Ref}&pageSize={pageSize}&q={query}";
private async Task <string> GetSerialisedResponse(string query, int pageSize, PrismicRef prismicRef) { if (Uri.TryCreate(query, UriKind.Absolute, out var uri)) { return(await _httpClient.GetStringAsync(query)); } return(await _httpClient.GetStringAsync(FormatQuery(query, pageSize, prismicRef))); }
private string FormatCacheKey(PrismicRef prismicRef, string cacheKeyBase) => $"{prismicRef.Ref}|{cacheKeyBase}";
internal void SetPrismicCacheItem <T>(PrismicRef prismicRef, string cacheKeyBase, T item) => _cacheProvider.SetCacheItem(FormatCacheKey(prismicRef, cacheKeyBase), item, new MemoryCacheEntryOptions() { SlidingExpiration = TimeSpan.FromHours(3) });
internal T TryGetPrismicCacheItem <T>(PrismicRef prismicRef, string cacheKeyBase) => _cacheProvider.TryGetCacheItem <T>(FormatCacheKey(prismicRef, cacheKeyBase));
internal void SetMasterRef(PrismicRef prismicRef) => _cacheProvider.SetCacheItem(CacheKeys.MasterRef, prismicRef, new MemoryCacheEntryOptions() { AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(10) });