|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | public class HttpHelper | 
|---|
|  |  |  | { | 
|---|
|  |  |  | public static async Task<string> GetAsync(string serviceAddress, string contentType = "application/json", Dictionary<string, string>? headers = null) | 
|---|
|  |  |  | public static async Task<string> GetAsync(string serviceAddress, Dictionary<string, string>? headers = null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string result = string.Empty; | 
|---|
|  |  |  | DateTime beginDate = DateTime.Now; | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string result = string.Empty; | 
|---|
|  |  |  | using HttpClient httpClient = new HttpClient(); | 
|---|
|  |  |  | httpClient.Timeout = new TimeSpan(0, 0, 60); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | foreach (var header in headers) | 
|---|
|  |  |  | httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (headers != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | foreach (var header in headers) | 
|---|
|  |  |  | httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | result = await httpClient.GetAsync(serviceAddress).Result.Content.ReadAsStringAsync(); | 
|---|
|  |  |  | return result; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Console.WriteLine(e.Message); | 
|---|
|  |  |  | throw new Exception(e.Message); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | finally | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Logger.Add(serviceAddress, "", result, beginDate); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static async Task<string> PostAsync(string serviceAddress, string requestJson = null, string contentType = "application/json", Dictionary<string, string>? headers = null) | 
|---|
|  |  |  | public static async Task<string?> PostAsync(string serviceAddress, string requestJson = "", string contentType = "application/json", Dictionary<string, string>? headers = null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string result = string.Empty; | 
|---|
|  |  |  | DateTime beginDate = DateTime.Now; | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string result = string.Empty; | 
|---|
|  |  |  | using (HttpContent httpContent = new StringContent(requestJson)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); | 
|---|
|  |  |  | using HttpClient httpClient = new HttpClient(); | 
|---|
|  |  |  | httpClient.Timeout = new TimeSpan(0, 0, 60); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | foreach (var header in headers) | 
|---|
|  |  |  | httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); | 
|---|
|  |  |  | if (headers != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | foreach (var header in headers) | 
|---|
|  |  |  | httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | result = await httpClient.PostAsync(serviceAddress, httpContent).Result.Content.ReadAsStringAsync(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Console.WriteLine(e.Message); | 
|---|
|  |  |  | throw new Exception(e.Message); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | finally | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Logger.Add(serviceAddress, requestJson, result, beginDate); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static string Get(string serviceAddress, string contentType = "application/json", Dictionary<string, string>? headers = null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string result = string.Empty; | 
|---|
|  |  |  | DateTime beginDate = DateTime.Now; | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string result = string.Empty; | 
|---|
|  |  |  | using HttpClient httpClient = new HttpClient(); | 
|---|
|  |  |  | httpClient.Timeout = new TimeSpan(0, 0, 60); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | foreach (var header in headers) | 
|---|
|  |  |  | httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); | 
|---|
|  |  |  | if (headers != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | foreach (var header in headers) | 
|---|
|  |  |  | httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | result = httpClient.GetStringAsync(serviceAddress).Result; | 
|---|
|  |  |  | return result; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Console.WriteLine(e.Message); | 
|---|
|  |  |  | throw new Exception(e.Message); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | finally | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Logger.Add(serviceAddress, "", result, beginDate); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static string Post(string serviceAddress, string requestJson = null, string contentType = "application/json", Dictionary<string, string>? headers = null) | 
|---|
|  |  |  | public static string Post(string serviceAddress, string requestJson = "", string contentType = "application/json", Dictionary<string, string>? headers = null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string result = string.Empty; | 
|---|
|  |  |  | DateTime beginDate = DateTime.Now; | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string result = string.Empty; | 
|---|
|  |  |  | using (HttpContent httpContent = new StringContent(requestJson)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); | 
|---|
|  |  |  | using HttpClient httpClient = new HttpClient(); | 
|---|
|  |  |  | httpClient.Timeout = new TimeSpan(0, 0, 60); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | foreach (var header in headers) | 
|---|
|  |  |  | httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); | 
|---|
|  |  |  | if (serviceAddress.Contains("cimforce/AtomJsonService")) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | httpClient.Timeout = new TimeSpan(0, 0, 30); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (headers != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | foreach (var header in headers) | 
|---|
|  |  |  | httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | result = httpClient.PostAsync(serviceAddress, httpContent).Result.Content.ReadAsStringAsync().Result; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Console.WriteLine(e.Message); | 
|---|
|  |  |  | throw new Exception(e.Message); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | finally | 
|---|
|  |  |  | { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Logger.Add(serviceAddress, requestJson, result, beginDate); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|