using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Primitives;
using Nacos.V2;
using Nacos.V2.Naming;
using Nacos.V2.Naming.Dtos;
using Newtonsoft.Json;
using System.Threading;
using Yarp.ReverseProxy.Configuration;
using YuanXuan.IM.Api.Proxy;
namespace YuanXuan.IM.Api.CollectionExtensions
{
public static class YarpServiceCollectionExtensions
{
///
/// 添加YARP反向代理服务
///
///
///
///
public static IServiceCollection AddYarpWithNacos(this IServiceCollection services, IConfiguration configuration)
{
// 添加YARP服务
services.AddReverseProxy();
// 注册Nacos服务发现提供者
services.AddSingleton();
services.AddSingleton(provider => provider.GetRequiredService());
return services;
}
}
}