using BTCPayServer.HostedServices; using BTCPayServer.Services; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; namespace BTCPayServer.Payments.PayJoin { public static class PayJoinExtensions { public static void AddPayJoinServices(this IServiceCollection services) { services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(s => s.GetRequiredService()); services.AddSingleton(); services.AddSingleton(); services.AddTransient(); services.AddHttpClient(PayjoinClient.PayjoinOnionNamedClient) .ConfigureHttpClient(h => h.DefaultRequestHeaders.ConnectionClose = true) .ConfigurePrimaryHttpMessageHandler(); services.AddHttpClient(WebhookNotificationManager.OnionNamedClient) .ConfigureHttpClient(h => h.DefaultRequestHeaders.ConnectionClose = true) .ConfigurePrimaryHttpMessageHandler(); } } }