using FastGithub.Scanner;
using FastGithub.Scanner.Middlewares;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using System.Threading.Tasks;
namespace FastGithub
{
///
/// 服务注册扩展
///
public static class ScannerServiceCollectionExtensions
{
///
/// 注册程序集下所有服务下选项
///
///
/// 配置
///
public static IServiceCollection AddGithubScanner(this IServiceCollection services, IConfiguration configuration)
{
var assembly = typeof(ScannerServiceCollectionExtensions).Assembly;
return services
.AddHttpClient()
.AddSingleton(serviceProvider =>
{
return new GithubScanBuilder(serviceProvider, ctx => Task.CompletedTask)
.Use()
.Use()
.Use()
.Use()
.Build();
})
.AddServiceAndOptions(assembly, configuration)
.AddHostedService()
.AddHostedService()
;
}
}
}