public async Task <string> GetOEmbedJsonByUrlAndProvider(string url, string providerName) { IOEmbedProvider provider = null; if (String.IsNullOrEmpty(providerName)) { provider = GetOEmbedProviderByUrl(url); } else { provider = GetOembedProviderByName(providerName); } if (provider == null) { return(null); } else { return(await GetOEmbedJsonOrNullWhenNotFoundByUrlForProvider(url, provider)); } }
public async Task <string> GetOEmbedJsonOrNullWhenNotFoundByUrlForProvider(string url, IOEmbedProvider provider) { if (provider == null) { throw new ArgumentException("Wrong argument has been supplied. Provider cannot be null."); } using (HttpClient httpClient = new HttpClient()) { var finalUrl = provider.BaseUrl + url; HttpResponseMessage response = await httpClient.GetAsync(finalUrl); if (response.StatusCode == System.Net.HttpStatusCode.NotFound) { return(null); } return(await response.Content.ReadAsStringAsync()); } }