/// <inheritdoc /> public async Task <ProfileIconListStatic> GetAllAsync(string version, Language language = Language.en_US) { var cacheKey = ProfileIconsCacheKey + language + version; var wrapper = cache.Get <string, ProfileIconsStaticWrapper>(cacheKey); if (wrapper != null && language == wrapper.Language && version == wrapper.Version) { return(wrapper.ProfileIconListStatic); } var json = await requester.CreateGetRequestAsync(Host, CreateUrl(version, language, ProfileIconsDataKey)).ConfigureAwait(false); var profileIcons = JsonConvert.DeserializeObject <ProfileIconListStatic>(json); wrapper = new ProfileIconsStaticWrapper(profileIcons, language, version); cache.Add(cacheKey, wrapper, SlidingExpirationTime); return(wrapper.ProfileIconListStatic); }
public async Task <ProfileIconListStatic> GetProfileIconsAsync(Region region, Language language = Language.en_US) { var wrapper = cache.Get <string, ProfileIconsStaticWrapper>(ProfileIconsCacheKey); if (wrapper != null && language == wrapper.Language) { return(wrapper.ProfileIconListStatic); } var json = await requester.CreateGetRequestAsync(StaticDataRootUrl + ProfileIconsUrl, region, new List <string> { $"locale={language}", }).ConfigureAwait(false); var profileIcons = JsonConvert.DeserializeObject <ProfileIconListStatic>(json); wrapper = new ProfileIconsStaticWrapper(profileIcons, language); cache.Add(ProfileIconsCacheKey, wrapper, SlidingExpirationTime); return(wrapper.ProfileIconListStatic); }