public async Task <IResult <InstaHashtagSearch> > Search(string query, IEnumerable <long> excludeList, string rankToken) { var RequestHeaderFieldsTooLarge = (HttpStatusCode)431; var count = 50; var tags = new InstaHashtagSearch(); try { var userUri = UriCreator.GetSearchTagUri(query, count, excludeList, rankToken); var request = HttpHelper.GetDefaultRequest(HttpMethod.Get, userUri, _deviceInfo); var response = await _httpRequestProcessor.SendAsync(request); var json = await response.Content.ReadAsStringAsync(); if (response.StatusCode == RequestHeaderFieldsTooLarge) { return(Result.Success(tags)); } if (response.StatusCode != HttpStatusCode.OK) { return(Result.UnExpectedResponse <InstaHashtagSearch>(response, json)); } var tagsResponse = JsonConvert.DeserializeObject <InstaHashtagSearchResponse>(json); tags = ConvertersFabric.Instance.GetHashTagsSearchConverter(tagsResponse).Convert(); if (tags.Any() && excludeList != null && excludeList.Contains(tags.First().Id)) { tags.RemoveAt(0); } if (!tags.Any()) { tags = new InstaHashtagSearch(); } return(Result.Success(tags)); } catch (Exception exception) { _logger?.LogException(exception); return(Result.Fail(exception, tags)); } }