public static async Task <T> Get <T>(string getUrl, string queryString) { using (var httpClient = new HttpClient()) { var result = default(T); httpClient.Timeout = new TimeSpan(0, 0, 150); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var response = await httpClient.GetAsync(getUrl + queryString); if (response.IsSuccessStatusCode) { result = await JSONSerialization.DeserializeJSONFromHttpResponse <T>(response); } else { throw new Exception($"Request failure for object {typeof(T)}: GET Status {response.StatusCode} returned for {getUrl} with query string {queryString}"); } return(result); } }
public static async Task <T> Post <T>(string bodyToPost, string postUrl) { using (var httpClient = new HttpClient()) { var result = default(T); httpClient.Timeout = new TimeSpan(0, 0, 150); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var content = new StringContent(bodyToPost, Encoding.UTF8, "application/json"); var response = await httpClient.PostAsync(postUrl, content); if (response.IsSuccessStatusCode) { result = await JSONSerialization.DeserializeJSONFromHttpResponse <T>(response); } else { throw new Exception($"Request failure for object {typeof(T)}: POST Status {response.StatusCode} with body {await response.Content.ReadAsStringAsync()} returned for {postUrl} with payload {bodyToPost}"); } return(result); } }