示例#1
0
        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);
            }
        }
示例#2
0
		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;
			}
		}