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; }