private static async Task <string> Send(string method, string path, IDictionary <string, string> args, ApiObject contentObject) { HttpContent content = null; if (contentObject != null) { var body = JsonConvert.SerializeObject(contentObject.AsDict()); content = new StringContent(body, System.Text.UTF8Encoding.Default, "application/json"); } using (var client = new HttpClient()) { client.Timeout = TimeSpan.FromSeconds(350); var url = ApiUrl(path, args); var message = new HttpRequestMessage(new HttpMethod(method), url); if (content != null) { message.Content = content; } client.DefaultRequestHeaders.Add("Authorization", "token " + AuthToken); var response = await client.SendAsync(message); var responseBody = await response.Content.ReadAsStringAsync(); if (!response.IsSuccessStatusCode) { Console.Error.WriteLine("Error: {0} to `{1}` not successful: {2}", method, url, responseBody); return(null); } return(responseBody); } }
private static async Task<string> Send (string method, string path, IDictionary<string, string> args, ApiObject contentObject) { HttpContent content = null; if (contentObject != null) { var body = JsonConvert.SerializeObject (contentObject.AsDict ()); content = new StringContent (body, System.Text.UTF8Encoding.Default, "application/json"); } using (var client = new HttpClient ()) { client.Timeout = TimeSpan.FromSeconds (350); var url = ApiUrl (path, args); var message = new HttpRequestMessage (new HttpMethod (method), url); if (content != null) message.Content = content; client.DefaultRequestHeaders.Add ("Authorization", "token " + AuthToken); var response = await client.SendAsync (message); var responseBody = await response.Content.ReadAsStringAsync (); if (!response.IsSuccessStatusCode) { Console.Error.WriteLine ("Error: {0} to `{1}` not successful: {2}", method, url, responseBody); return null; } return responseBody; } }