/// <inheritdoc/> public async ValueTask <string?> GetMarkupFromUrlAsync(string?url) { if (url == null) { return(null); } if (_cache.TryGetValue(url, out var markup)) { return(markup); } var response = await _httpClient.GetAsync(url); if (response.IsSuccessStatusCode) { markup = await response.Content.ReadAsStringAsync(); // Add fetched svg to cache _cache.AddOrUpdate(url, markup); return(markup); } else if (_options.IconFetchBehavior == IconFetchBehavior.Once) { // Add entry to cache, so that the file won't get fetched again _cache.AddOrUpdate(url, null); } return(null); }