| using System; | 
| using System.Collections.Generic; | 
| using System.Linq; | 
| using System.Net.Http.Headers; | 
| using System.Text; | 
| using System.Threading.Tasks; | 
|   | 
| namespace WIDESEA_Core.Helper | 
| { | 
|     public class HttpHelper | 
|     { | 
|         public static async Task<string> GetAsync(string serviceAddress, string contentType = "application/json", Dictionary<string, string>? headers = null) | 
|         { | 
|             try | 
|             { | 
|                 string result = string.Empty; | 
|                 using HttpClient httpClient = new HttpClient(); | 
|                 httpClient.Timeout = new TimeSpan(0, 0, 60); | 
|   | 
|                 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); | 
|             } | 
|             return null; | 
|         } | 
|   | 
|         public static async Task<string> PostAsync(string serviceAddress, string requestJson = null, string contentType = "application/json", Dictionary<string, string>? headers = null) | 
|         { | 
|             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); | 
|   | 
|                     if (headers != null) | 
|                     { | 
|                         foreach (var header in headers) | 
|                             httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); | 
|                     } | 
|   | 
|                     result = await httpClient.PostAsync(serviceAddress, httpContent).Result.Content.ReadAsStringAsync(); | 
|                 } | 
|                 return result; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 Console.WriteLine(e.Message); | 
|             } | 
|             return null; | 
|         } | 
|   | 
|         public static string Get(string serviceAddress, string contentType = "application/json", Dictionary<string, string>? headers = null) | 
|         { | 
|             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); | 
|   | 
|                 result = httpClient.GetStringAsync(serviceAddress).Result; | 
|                 return result; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 Console.WriteLine(e.Message); | 
|             } | 
|             return null; | 
|         } | 
|   | 
|         public static string Post(string serviceAddress, string requestJson = null, string contentType = "application/json", Dictionary<string, string>? headers = null) | 
|         { | 
|             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); | 
|   | 
|                     if (headers != null) | 
|                     { | 
|                         foreach (var header in headers) | 
|                             httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); | 
|                     } | 
|                     result = httpClient.PostAsync(serviceAddress, httpContent).Result.Content.ReadAsStringAsync().Result; | 
|                 } | 
|                 return result; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 Console.WriteLine(e.Message); | 
|             } | 
|             return null; | 
|         } | 
|     } | 
| } |