[cas] use http client factory

This commit is contained in:
Andriy
2023-07-28 19:41:21 +03:00
parent 7aed09c87c
commit d2e564cec6
2 changed files with 10 additions and 8 deletions
@@ -1,5 +1,4 @@
using System;
using System.Net.Http;
using System.Net.Http;
using System.Threading.Tasks;
using Kruzya.TelegramBot.Core.Extensions;
using Telegram.Bot.Types;
@@ -8,12 +7,11 @@ namespace Kruzya.TelegramBot.CombotAntiSpam.Combot;
public class CombotClient : ICombotClient
{
public HttpClient _HttpClient;
private readonly HttpClient _httpClient;
public CombotClient()
public CombotClient(HttpClient httpClient)
{
_HttpClient = new HttpClient();
_HttpClient.BaseAddress = new Uri("https://api.cas.chat/check");
_httpClient = httpClient;
}
public bool IsSpammer(User user)
@@ -23,7 +21,7 @@ public class CombotClient : ICombotClient
public async Task<bool> IsSpammerAsync(User user)
{
var result = await _HttpClient.GetJsonAsync<CombotApiResponse>($"?user_id={user.Id}");
var result = await _httpClient.GetJsonAsync<CombotApiResponse>($"?user_id={user.Id}");
return result.IsSpammer;
}
}
+5 -1
View File
@@ -1,6 +1,7 @@
using Kruzya.TelegramBot.CombotAntiSpam.Combot;
using Kruzya.TelegramBot.Core;
using Microsoft.Extensions.DependencyInjection;
using System;
namespace Kruzya.TelegramBot.CombotAntiSpam;
@@ -12,6 +13,9 @@ public class CombotAntiSpam : Module
public override void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<ICombotClient, CombotClient>();
services.AddHttpClient<ICombotClient, CombotClient>(c =>
{
c.BaseAddress = new Uri("https://api.cas.chat/check");
});
}
}