/* Function: RepeatDadJokes(HttpClient, string, DadJokesSettings) * This function is called when Option 1 is selected from the UI. It hits the API, displays the joke, * waits 10 seconds, and then repeats the process. * */ public async Task RepeatDadJokes(CancellationTokenSource source) { try { using (HttpClient client = new HttpClient()) { InitializeClient(client); while (!source.IsCancellationRequested) { _responseBody = await client.GetStringAsync(_settings.BaseURL); DadJoke dadJoke = JsonConvert.DeserializeObject <DadJoke>(_responseBody); if (dadJoke.Status.Equals("200") && dadJoke.Joke.Length != 0) { Console.WriteLine(dadJoke.Joke); } await Task.Delay(_settings.JokesDelay); } } } catch (Exception e) { Console.WriteLine("Exception: " + e); Console.WriteLine("Press any key to exit."); } }
/// <summary> /// Called when user clicks on the add-in menu /// </summary> /// <param name="e">The context of the VS tools and metadata</param> public override void OnClick(AddinEventArgs e) { try { DadJoke joke = DadJoke.construct(Request.dadJoke()); MotivationalQuote quote = MotivationalQuote.construct(Request.motivationalQuote()); string message = string.Empty; if (joke.Id != null) { //message += string.Format("Dad joke:\n{0}", joke.Joke); message += joke.Joke; } //if (quote.Id != 0) //{ // message += "\n\n"; // message += string.Format("Motivational quote:\n{0}{1}", HttpUtility.HtmlDecode(quote.Content), quote.Title.ToUpper()); //} CoreUtility.DisplayInfo(message); } catch (Exception ex) { CoreUtility.HandleExceptionWithErrorMessage(ex); } }
public async Task <DadJoke> GetRandom() { DadJoke dadJokeResponse = null; try { using (var httpClient = new HttpClient()) { httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); httpClient.DefaultRequestHeaders.Add("User-Agent", "Lloyd needs a new job"); //icanhazdadjoke wants people to set a custome user agent using (var result = httpClient.GetAsync(baseUrl).Result) { if (result.IsSuccessStatusCode) { dadJokeResponse = JsonConvert.DeserializeObject <DadJoke>(result.Content.ReadAsStringAsync().Result); } } } } catch (Newtonsoft.Json.JsonException ex) { this.logger.Log(LogLevel.Information, ex.Message); } return(dadJokeResponse); }
//Call Dad Joke Http REST get Service public DadJoke GetRandomDadJoke() { //Call Dad Joke REST Service var client = new RestClient("https://icanhazdadjoke.com"); var request = new RestRequest("/", Method.GET); //Get Response from GET Http Call IRestResponse response = client.Execute(request); //Deserialize Response DadJoke joke = JsonConvert.DeserializeObject <DadJoke>(response.Content); return(joke); }
public async Task <DadJoke> GetRandomJoke() { using (HttpResponseMessage response = await _httpClient.GetAsync("https://icanhazdadjoke.com/")) { if (response.IsSuccessStatusCode) { DadJoke model = await response.Content.ReadAsAsync <DadJoke>(); return(model); } else { throw new Exception(response.ReasonPhrase); } } }
public async Task <DadJoke> GetDadJoke() { HttpResponseMessage response = await _httpClient.GetAsync(baseUrl); _httpClient.DefaultRequestHeaders .Accept .Add(new MediaTypeWithQualityHeaderValue("application/json"));//ACCEPT header if (response.IsSuccessStatusCode) { DadJoke dadjoke = await response.Content.ReadAsAsync <DadJoke>(); return(dadjoke); } return(null); }
public HomeModel(DadJoke joke, string searchTerm, JokeSearchResults searchResults) { this.Joke = joke; this.SearchTerm = searchTerm; this.SearchResults = searchResults; }
public HomeModel(DadJoke joke) { this.Joke = joke; }