/// <summary> /// Query the /v2/everything endpoint for recent articles all over the web. /// </summary> /// <param name="request">The params and filters for the request.</param> /// <returns></returns> public ArticlesResult GetEverything(EverythingRequestNews request) { return(GetEverythingAsync(request).Result); }
/// <summary> /// Query the /v2/everything endpoint for recent articles all over the web. /// </summary> /// <param name="request">The params and filters for the request.</param> /// <returns></returns> public async Task <ArticlesResult> GetEverythingAsync(EverythingRequestNews request) { // build the querystring var queryParams = new List <string>(); // q if (!string.IsNullOrWhiteSpace(request.Q)) { queryParams.Add("q=" + request.Q); } // sources if (request.Sources.Count > 0) { queryParams.Add("sources=" + string.Join(",", request.Sources)); } // domains if (request.Domains.Count > 0) { queryParams.Add("domains=" + string.Join(",", request.Sources)); } // from if (request.From.HasValue) { queryParams.Add("from=" + string.Format("{0:s}", request.From.Value)); } // to if (request.To.HasValue) { queryParams.Add("to=" + string.Format("{0:s}", request.To.Value)); } // language if (request.Language.HasValue) { queryParams.Add("language=" + request.Language.Value.ToString().ToLowerInvariant()); } // sortBy if (request.SortBy.HasValue) { queryParams.Add("sortBy=" + request.SortBy.Value.ToString()); } // page if (request.Page > 1) { queryParams.Add("page=" + request.Page); } // page size if (request.PageSize > 0) { queryParams.Add("pageSize=" + request.PageSize); } // join them together var querystring = string.Join("&", queryParams.ToArray()); return(await MakeRequest("everything", querystring)); }