From 9a93df3a2b1e50f907925f8d0853cfbe5cbe8a8b Mon Sep 17 00:00:00 2001 From: xiaochanghai Date: Fri, 12 Apr 2024 13:13:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Extensions/ExpressionExtensions_Nacos.cs | 270 +++++++++--------- Tiobon.Core.Common/Tiobon.Core.Common.csproj | 1 - .../Extensions/CustomOcelotSetup.cs | 2 +- 3 files changed, 136 insertions(+), 137 deletions(-) diff --git a/Tiobon.Core.Common/Extensions/ExpressionExtensions_Nacos.cs b/Tiobon.Core.Common/Extensions/ExpressionExtensions_Nacos.cs index 8129581f..d27c7278 100644 --- a/Tiobon.Core.Common/Extensions/ExpressionExtensions_Nacos.cs +++ b/Tiobon.Core.Common/Extensions/ExpressionExtensions_Nacos.cs @@ -13,140 +13,140 @@ namespace Tiobon.Core.Common.Helper /// public static class ExpressionExtensions_Nacos { - #region Nacos NamingService - - private static string GetServiceUrl(Nacos.V2.INacosNamingService serv, string ServiceName, string Group, - string apiurl) - { - try - { - var instance = serv.SelectOneHealthyInstance(ServiceName, Group).GetAwaiter().GetResult(); - var host = $"{instance.Ip}:{instance.Port}"; - if (instance.Metadata.ContainsKey("endpoint")) host = instance.Metadata["endpoint"]; - - - var baseUrl = instance.Metadata.TryGetValue("secure", out _) - ? $"https://{host}" - : $"http://{host}"; - - if (string.IsNullOrWhiteSpace(baseUrl)) - { - return ""; - } - - return $"{baseUrl}{apiurl}"; - } - catch (Exception e) - { - Console.WriteLine(e.Message); - } - - return ""; - } - - public static async Task Cof_NaoceGet(this Nacos.V2.INacosNamingService serv, string ServiceName, - string Group, string apiurl, Dictionary Parameters = null) - { - try - { - var url = GetServiceUrl(serv, ServiceName, Group, apiurl); - if (string.IsNullOrEmpty(url)) return ""; - if (Parameters != null && Parameters.Any()) - { - StringBuilder sb = new StringBuilder(); - foreach (var pitem in Parameters) - { - sb.Append($"{pitem.Key}={pitem.Value}&"); - } - - url = $"{url}?{sb.ToString().Trim('&')}"; - } - - HttpHelper.Httpclient.DefaultRequestHeaders.Accept.Add( - new MediaTypeWithQualityHeaderValue("application/json")); - var result = await HttpHelper.Httpclient.GetAsync(url); - return await result.Content.ReadAsStringAsync(); - } - catch (Exception e) - { - Console.WriteLine(e.Message); - } - - return ""; - } - - public static async Task Cof_NaocePostForm(this Nacos.V2.INacosNamingService serv, string ServiceName, - string Group, string apiurl, Dictionary Parameters) - { - try - { - var url = GetServiceUrl(serv, ServiceName, Group, apiurl); - if (string.IsNullOrEmpty(url)) return ""; - - var content = (Parameters != null && Parameters.Any()) ? new FormUrlEncodedContent(Parameters) : null; - HttpHelper.Httpclient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); - var result = await HttpHelper.Httpclient.PostAsync(url, content); - return await result.Content.ReadAsStringAsync(); //.GetAwaiter().GetResult(); - } - catch (Exception e) - { - Console.WriteLine(e.Message); - } - - return ""; - } - - public static async Task Cof_NaocePostJson(this Nacos.V2.INacosNamingService serv, string ServiceName, - string Group, string apiurl, string jSonData) - { - try - { - var url = GetServiceUrl(serv, ServiceName, Group, apiurl); - if (string.IsNullOrEmpty(url)) return ""; - HttpHelper.Httpclient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); - var result = - await HttpHelper.Httpclient.PostAsync(url, new StringContent(jSonData, Encoding.UTF8, "application/json")); - return await result.Content.ReadAsStringAsync(); //.GetAwaiter().GetResult(); - - //httpClient.BaseAddress = new Uri("https://www.testapi.com"); - //httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); - //httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); - } - catch (Exception e) - { - Console.WriteLine(e.Message); - } - - return ""; - } - - public static async Task Cof_NaocePostFile(this Nacos.V2.INacosNamingService serv, string ServiceName, - string Group, string apiurl, Dictionary Parameters) - { - try - { - var url = GetServiceUrl(serv, ServiceName, Group, apiurl); - if (string.IsNullOrEmpty(url)) return ""; - - var content = new MultipartFormDataContent(); - foreach (var pitem in Parameters) - { - content.Add(new ByteArrayContent(pitem.Value), "files", pitem.Key); - } - - HttpHelper.Httpclient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); - var result = await HttpHelper.Httpclient.PostAsync(url, content); - return await result.Content.ReadAsStringAsync(); //.GetAwaiter().GetResult(); - } - catch (Exception e) - { - //InfluxdbHelper.GetInstance().AddLog("Cof_NaocePostFile.Err", ee); - Console.WriteLine(e.Message); - } - - return ""; - } - - #endregion + //#region Nacos NamingService + + //private static string GetServiceUrl(Nacos.V2.INacosNamingService serv, string ServiceName, string Group, + // string apiurl) + //{ + // try + // { + // var instance = serv.SelectOneHealthyInstance(ServiceName, Group).GetAwaiter().GetResult(); + // var host = $"{instance.Ip}:{instance.Port}"; + // if (instance.Metadata.ContainsKey("endpoint")) host = instance.Metadata["endpoint"]; + + + // var baseUrl = instance.Metadata.TryGetValue("secure", out _) + // ? $"https://{host}" + // : $"http://{host}"; + + // if (string.IsNullOrWhiteSpace(baseUrl)) + // { + // return ""; + // } + + // return $"{baseUrl}{apiurl}"; + // } + // catch (Exception e) + // { + // Console.WriteLine(e.Message); + // } + + // return ""; + //} + + //public static async Task Cof_NaoceGet(this Nacos.V2.INacosNamingService serv, string ServiceName, + // string Group, string apiurl, Dictionary Parameters = null) + //{ + // try + // { + // var url = GetServiceUrl(serv, ServiceName, Group, apiurl); + // if (string.IsNullOrEmpty(url)) return ""; + // if (Parameters != null && Parameters.Any()) + // { + // StringBuilder sb = new StringBuilder(); + // foreach (var pitem in Parameters) + // { + // sb.Append($"{pitem.Key}={pitem.Value}&"); + // } + + // url = $"{url}?{sb.ToString().Trim('&')}"; + // } + + // HttpHelper.Httpclient.DefaultRequestHeaders.Accept.Add( + // new MediaTypeWithQualityHeaderValue("application/json")); + // var result = await HttpHelper.Httpclient.GetAsync(url); + // return await result.Content.ReadAsStringAsync(); + // } + // catch (Exception e) + // { + // Console.WriteLine(e.Message); + // } + + // return ""; + //} + + //public static async Task Cof_NaocePostForm(this Nacos.V2.INacosNamingService serv, string ServiceName, + // string Group, string apiurl, Dictionary Parameters) + //{ + // try + // { + // var url = GetServiceUrl(serv, ServiceName, Group, apiurl); + // if (string.IsNullOrEmpty(url)) return ""; + + // var content = (Parameters != null && Parameters.Any()) ? new FormUrlEncodedContent(Parameters) : null; + // HttpHelper.Httpclient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); + // var result = await HttpHelper.Httpclient.PostAsync(url, content); + // return await result.Content.ReadAsStringAsync(); //.GetAwaiter().GetResult(); + // } + // catch (Exception e) + // { + // Console.WriteLine(e.Message); + // } + + // return ""; + //} + + //public static async Task Cof_NaocePostJson(this Nacos.V2.INacosNamingService serv, string ServiceName, + // string Group, string apiurl, string jSonData) + //{ + // try + // { + // var url = GetServiceUrl(serv, ServiceName, Group, apiurl); + // if (string.IsNullOrEmpty(url)) return ""; + // HttpHelper.Httpclient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); + // var result = + // await HttpHelper.Httpclient.PostAsync(url, new StringContent(jSonData, Encoding.UTF8, "application/json")); + // return await result.Content.ReadAsStringAsync(); //.GetAwaiter().GetResult(); + + // //httpClient.BaseAddress = new Uri("https://www.testapi.com"); + // //httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); + // //httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); + // } + // catch (Exception e) + // { + // Console.WriteLine(e.Message); + // } + + // return ""; + //} + + //public static async Task Cof_NaocePostFile(this Nacos.V2.INacosNamingService serv, string ServiceName, + // string Group, string apiurl, Dictionary Parameters) + //{ + // try + // { + // var url = GetServiceUrl(serv, ServiceName, Group, apiurl); + // if (string.IsNullOrEmpty(url)) return ""; + + // var content = new MultipartFormDataContent(); + // foreach (var pitem in Parameters) + // { + // content.Add(new ByteArrayContent(pitem.Value), "files", pitem.Key); + // } + + // HttpHelper.Httpclient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); + // var result = await HttpHelper.Httpclient.PostAsync(url, content); + // return await result.Content.ReadAsStringAsync(); //.GetAwaiter().GetResult(); + // } + // catch (Exception e) + // { + // //InfluxdbHelper.GetInstance().AddLog("Cof_NaocePostFile.Err", ee); + // Console.WriteLine(e.Message); + // } + + // return ""; + //} + + //#endregion } } \ No newline at end of file diff --git a/Tiobon.Core.Common/Tiobon.Core.Common.csproj b/Tiobon.Core.Common/Tiobon.Core.Common.csproj index a9066f05..2d619448 100644 --- a/Tiobon.Core.Common/Tiobon.Core.Common.csproj +++ b/Tiobon.Core.Common/Tiobon.Core.Common.csproj @@ -43,7 +43,6 @@ - diff --git a/Tiobon.Core.Gateway/Extensions/CustomOcelotSetup.cs b/Tiobon.Core.Gateway/Extensions/CustomOcelotSetup.cs index d6bb8c27..9f67736a 100644 --- a/Tiobon.Core.Gateway/Extensions/CustomOcelotSetup.cs +++ b/Tiobon.Core.Gateway/Extensions/CustomOcelotSetup.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using Ocelot.DependencyInjection; using Ocelot.Middleware; -using Ocelot.Provider.Nacos; +//using Ocelot.Provider.Nacos; using Ocelot.Provider.Polly; using System; using System.Threading.Tasks;