public static async Task <HttpResponseMessage> UpdateDataAsync <T>(T data, string url, string id = null) { HttpResponseMessage response; try { using (var gzip = new HttpGZipClientHandler()) { using (var client = new HttpClient(gzip)) { string json = JsonConvert.SerializeObject(data, Formatting.None); var content = new StringContent(json, Encoding.UTF8, "application/json"); if (id != null) { url = $"{url}/{id}"; } response = await client.PutAsync(url, content); } } } catch (HttpRequestException) { response = new HttpResponseMessage(HttpStatusCode.ServiceUnavailable); } catch (Exception e) { response = new HttpResponseMessage(HttpStatusCode.InternalServerError); } return(response); }
public static async Task <HttpResponseMessage> InsertDataAsync <T>(T data, string url, string id = null) { HttpResponseMessage response; try { // Simply create an instance of the HttpGZipClientHandler class using (var gzip = new HttpGZipClientHandler()) { // Pass it as the handler for the HttpClient instance using (var client = new HttpClient(gzip)) { client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); string json = JsonConvert.SerializeObject(data); var content = new StringContent(json, Encoding.UTF8, "application/json"); if (id != null) { url = $"{url}/{id}"; } response = await client.PostAsync(url, content); } } } catch (HttpRequestException) { response = new HttpResponseMessage(HttpStatusCode.ServiceUnavailable); } catch (Exception) { response = new HttpResponseMessage(HttpStatusCode.InternalServerError); } return(response); }