Skip to content

Instantly share code, notes, and snippets.

@ian-beer
Created December 10, 2018 22:11
Show Gist options
  • Save ian-beer/54ff92358b045113c0c1b8e3dd8b718e to your computer and use it in GitHub Desktop.
Save ian-beer/54ff92358b045113c0c1b8e3dd8b718e to your computer and use it in GitHub Desktop.
.Net HttpClient helpers
private static HttpClient _client = new HttpClient();
private static T HttpGet<T>(string url)
{
var response = _client.GetAsync(url).GetAwaiter().GetResult();
if (false == response.IsSuccessStatusCode)
{
var responseContent = response.Content.ReadAsStringAsync();
throw new Exception(responseContent.Result);
}
return JsonConvert.DeserializeObject<T>(response.Content.ReadAsStringAsync().GetAwaiter().GetResult());
}
private T HttpPost<T>(string url, object content)
{
var response = _client.PostAsJsonAsync(url, content).GetAwaiter().GetResult();
if (false == response.IsSuccessStatusCode)
{
var responseContent = response.Content.ReadAsStringAsync();
throw new Exception(responseContent.Result);
}
var result = response.Content.ReadAsStringAsync().GetAwaiter().GetResult();
return JsonConvert.DeserializeObject<T>(result);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment