| | |
| | | using Microsoft.Extensions.Configuration; |
| | | using Microsoft.Extensions.Logging; |
| | | using Newtonsoft.Json; |
| | | using WIDESEAWCS_Common; |
| | | using WIDESEAWCS_Common.HttpEnum; |
| | | using WIDESEAWCS_Core.Caches; |
| | | |
| | | namespace WIDESEA_Core |
| | |
| | | /// <returns></returns> |
| | | public HttpResponseResult Post(string url, string content, string contentType = "application/json", HttpRequestConfig? config = null) |
| | | { |
| | | url = _cache.Get(url); |
| | | HttpResponseResult httpResponseResult = ExecuteAsync(async (client) => |
| | | HttpResponseResult httpResponseResult = Task.Run(async () => |
| | | { |
| | | var request = new HttpRequestMessage(HttpMethod.Post, url); |
| | | request.Content = new StringContent(content ?? string.Empty, Encoding.UTF8, contentType); |
| | | SetRequestHeaders(request, config?.Headers); |
| | | return await client.SendAsync(request); |
| | | }, config, $"POST {url}").Result; |
| | | return await ExecuteAsync(async (client) => |
| | | { |
| | | var request = new HttpRequestMessage(HttpMethod.Post, url); |
| | | request.Content = new StringContent(content ?? string.Empty, Encoding.UTF8, contentType); |
| | | SetRequestHeaders(request, config?.Headers); |
| | | return await client.SendAsync(request); |
| | | }, config, $"POST {url}"); |
| | | }).GetAwaiter().GetResult(); |
| | | httpResponseResult.ApiUrl = url; |
| | | return httpResponseResult; |
| | | } |
| | | |
| | | public HttpResponseResult Get(string url, HttpRequestConfig? config = null) |
| | | { |
| | | HttpResponseResult httpResponseResult = ExecuteAsync(async (client) => |
| | | HttpResponseResult httpResponseResult = Task.Run(async () => |
| | | { |
| | | var request = new HttpRequestMessage(HttpMethod.Get, url); |
| | | SetRequestHeaders(request, config?.Headers); |
| | | return await client.SendAsync(request); |
| | | }, config, $"GET {url}").Result; |
| | | return await ExecuteAsync(async (client) => |
| | | { |
| | | var request = new HttpRequestMessage(HttpMethod.Get, url); |
| | | SetRequestHeaders(request, config?.Headers); |
| | | return await client.SendAsync(request); |
| | | }, config, $"GET {url}"); |
| | | }).GetAwaiter().GetResult(); |
| | | |
| | | httpResponseResult.ApiUrl = url; |
| | | return httpResponseResult; |
| | |
| | | public HttpResponseResult<TResponse> Post<TResponse>(string url, string content, string contentType = "application/json", HttpRequestConfig? config = null) |
| | | { |
| | | |
| | | url = BaseAPI.WMSBaseUrl + _cache.Get($"{RedisPrefix.Code}:{RedisName.API}:{url}"); |
| | | HttpResponseResult httpResponseResult = Post(url, content, contentType, config); |
| | | |
| | | HttpResponseResult<TResponse> result = new HttpResponseResult<TResponse> |
| | |
| | | |
| | | public HttpResponseResult<TResponse> Get<TResponse>(string url, HttpRequestConfig? config = null) |
| | | { |
| | | url = BaseAPI.WMSBaseUrl + _cache.Get(url); |
| | | HttpResponseResult httpResponseResult = Get(url, config); |
| | | |
| | | HttpResponseResult<TResponse> result = new HttpResponseResult<TResponse> |