private static async Task <IList <FoodTruck> > GetFoodTruckFromWeb(WebSettingsConfiguration webSettings, string day, double originLatitude, double originLongitude, double rangeInMeters) { using (HttpClient webClient = new HttpClient()) { //Setup AppToken Header webClient.DefaultRequestHeaders.Add("X-App-Token", webSettings.AppToken); //Setup URI UriBuilder uriBuilder = new UriBuilder(webSettings.Schema, webSettings.HostName); uriBuilder.Path = webSettings.Path; //Query will select the data we need and partially filter out unwanted foodtrucks as well as order the data by application uriBuilder.Query = String.Format(QUERYSTRING, day, originLatitude, originLongitude, rangeInMeters); HttpResponseMessage response = webClient.GetAsync(uriBuilder.Uri).Result; if (response.IsSuccessStatusCode) { return(JsonConvert.DeserializeObject <IList <FoodTruck> >(await response.Content.ReadAsStringAsync())); } else { throw new Exception(await response.Content.ReadAsStringAsync()); } } }
public FoodTruckWebSocrataRepository(IOptions <WebSettingsConfiguration> settings) { WebSettings = settings.Value; }