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