From 969614e80cc8336f7d07deb21aa1f1f97371c51c Mon Sep 17 00:00:00 2001 From: synzr Date: Wed, 19 Nov 2025 10:34:23 +0500 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8F=20=D0=B8=20=D1=81=D0=BE=D0=B1=D1=8B?= =?UTF-8?q?=D1=82=D0=B8=D0=B5=20=D0=B2=20IntersvyazClient.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Intersvyaz.Net/IntersvyazClient.cs | 34 ++++++++++++++++++++------ 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/src/Intersvyaz.Net/IntersvyazClient.cs b/src/Intersvyaz.Net/IntersvyazClient.cs index 5ab752c..d59257a 100644 --- a/src/Intersvyaz.Net/IntersvyazClient.cs +++ b/src/Intersvyaz.Net/IntersvyazClient.cs @@ -10,28 +10,45 @@ namespace Intersvyaz.Net { public class IntersvyazClient { - private readonly Uri BASE_ADDRESS = new Uri("https://api.is74.ru"); + /// + /// URL-адрес API. + /// + private readonly Uri API_URI = new Uri("https://api.is74.ru"); + + /// + /// Клиент HTTP. + /// + private HttpClient _httpClient; - private HttpClient httpClient; + /// + /// Событие при успешном входе в систему. + /// + public event EventHandler OnLogin; public IntersvyazClient() { - httpClient = new HttpClient() + _httpClient = new HttpClient() { - BaseAddress = BASE_ADDRESS, + BaseAddress = API_URI, }; // TODO: Добавить здесь ссылку на репозитории. - httpClient.DefaultRequestHeaders.UserAgent.Add( + _httpClient.DefaultRequestHeaders.UserAgent.Add( new ProductInfoHeaderValue("Intersvyaz.Net", "1.0")); } public IntersvyazClient(string token) : base() { - httpClient.DefaultRequestHeaders.Authorization + _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); } + /// + /// Вход в систему. + /// + /// Имя пользователя. + /// Пароль пользователя. + /// Ответ от системы. public async Task Login(string username, string password) { var content = new JsonContent(new LoginRequestDto() @@ -40,7 +57,7 @@ namespace Intersvyaz.Net Password = password, }); - using (var message = await httpClient.PostAsync("/auth/mobile", content)) + using (var message = await _httpClient.PostAsync("/auth/mobile", content)) { var data = await message.Content.ReadAsStringAsync(); @@ -57,8 +74,9 @@ namespace Intersvyaz.Net var result = JsonConvert.DeserializeObject(data); - httpClient.DefaultRequestHeaders.Authorization = + _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result.Token); + OnLogin.Invoke(this, result); return result; }