From 86ab9a6a42a49b4f37d7a5cdd71aeab0e46e4930 Mon Sep 17 00:00:00 2001 From: Sergey Karmanov Date: Fri, 21 Nov 2025 03:12:59 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BE=D0=B1=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=82=D0=BE=D0=BA?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SfeduSchedule/Program.cs | 9 ++++++++- SfeduSchedule/Services/ModeusService.cs | 9 +++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/SfeduSchedule/Program.cs b/SfeduSchedule/Program.cs index 624ce1a..e272333 100644 --- a/SfeduSchedule/Program.cs +++ b/SfeduSchedule/Program.cs @@ -30,6 +30,9 @@ var updateJwtCron = configuration["UPDATE_JWT_CRON"] ?? "0 0 4 ? * *"; if (string.IsNullOrEmpty(configuration["TZ"])) configuration["TZ"] = "Europe/Moscow"; +if (string.IsNullOrEmpty(configuration["MODEUS_URL"])) + configuration["MODEUS_URL"] = "https://sfedu.modeus.org/"; + var permitLimit = int.TryParse(configuration["PERMIT_LIMIT"], out var parsedPermitLimit) ? parsedPermitLimit : 40; var timeLimit = int.TryParse(configuration["TIME_LIMIT"], out var parsedTimeLimit) ? parsedTimeLimit : 10; @@ -61,7 +64,11 @@ if (!string.IsNullOrEmpty(tgChatId) && !string.IsNullOrEmpty(tgToken)) // Включаем MVC контроллеры var mvcBuilder = builder.Services.AddControllers(); -builder.Services.AddHttpClient(); +builder.Services.AddHttpClient("modeus", client => +{ + client.BaseAddress = new Uri(configuration["MODEUS_URL"]!); +}); +builder.Services.AddSingleton(); builder.Services.AddHttpClient("authClient"); builder.Services.AddAuthentication() diff --git a/SfeduSchedule/Services/ModeusService.cs b/SfeduSchedule/Services/ModeusService.cs index 036070b..9563a8a 100644 --- a/SfeduSchedule/Services/ModeusService.cs +++ b/SfeduSchedule/Services/ModeusService.cs @@ -16,13 +16,14 @@ public class ModeusService private readonly HttpClient _httpClient; private readonly ILogger _logger; - public ModeusService(HttpClient httpClient, ILogger logger, IConfiguration configuration) + public ModeusService(IHttpClientFactory httpClientFactory, + ILogger logger, + IConfiguration configuration) { - _httpClient = httpClient; + _httpClient = httpClientFactory.CreateClient("modeus"); _logger = logger; _configuration = configuration; - _httpClient.BaseAddress = new Uri("https://sfedu.modeus.org/"); - SetToken(_configuration["TOKEN"]); + SetToken(_configuration["TOKEN"]); // Установка предустановленного токена при инициализации, на случай если нет возможности связи с AUTH сервисом } public void SetToken(string? token)