示例#1
0
 private string FormatQuery(string query, int pageSize, PrismicRef prismicRef) => $"{_prismicApiUrl}/documents/search?ref={prismicRef.Ref}&pageSize={pageSize}&q={query}";
示例#2
0
        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)));
        }
示例#3
0
 private string FormatCacheKey(PrismicRef prismicRef, string cacheKeyBase) => $"{prismicRef.Ref}|{cacheKeyBase}";
示例#4
0
 internal void SetPrismicCacheItem <T>(PrismicRef prismicRef, string cacheKeyBase, T item) =>
 _cacheProvider.SetCacheItem(FormatCacheKey(prismicRef, cacheKeyBase), item, new MemoryCacheEntryOptions()
 {
     SlidingExpiration = TimeSpan.FromHours(3)
 });
示例#5
0
 internal T TryGetPrismicCacheItem <T>(PrismicRef prismicRef, string cacheKeyBase) =>
 _cacheProvider.TryGetCacheItem <T>(FormatCacheKey(prismicRef, cacheKeyBase));
示例#6
0
 internal void SetMasterRef(PrismicRef prismicRef) =>
 _cacheProvider.SetCacheItem(CacheKeys.MasterRef, prismicRef, new MemoryCacheEntryOptions()
 {
     AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(10)
 });