static async Task SaveFirstPageAsync( FinnaApiSearch search, HttpClient client, Throttler api, string id) { while (!api.IsAvailable(DateTime.Now)) { Thread.Sleep(api.MinIntervalMillis); } var request = search.CreateRequest(); Console.WriteLine("Request: " + request.RequestUri.ToString()); var response = await client.SendAsync(request); if (!response.IsSuccessStatusCode) { Console.WriteLine(response.StatusCode.ToString() + " " + response.ReasonPhrase); } if (response.Content != null) { var content = await response.Content.ReadAsStringAsync(); File.WriteAllText($"response{id}.json", content); } api.RequestCompleted(DateTime.Now); }
public void SetUp() { search = new FinnaApiSearch() { BaseUrl = "https://api.finna.fi/api/v1/search", LookFor = "x", Building = "0/Heili/", PublishDate = "2018", Genre = "tieteiskirjallisuus", Fields = new List <string>() { "field1", "field2" } }; request = search.CreateRequest(); uri = request.RequestUri; }
static FinnaApiSearch CreateSearch(NameValueCollection settings) { var baseUrl = settings["FinnaBaseUrl"]; var building = settings["FinnaBuildingParam"]; var resultsPerPage = settings["FinnaResultsPerPage"]; var fields = settings["FinnaFields"].Split(',').ToList(); var format = settings["FinnaFormat"]; var search = new FinnaApiSearch() { BaseUrl = baseUrl, Building = building, Limit = resultsPerPage, Fields = fields, }; if (format != null) { search.SetFilter("format", format); } return(search); }