using System.Net;
using YandexMusic.API.Common.Providers;
using YandexMusic.API.Models.Account;
using YandexMusic.API.Requests.Common;
namespace YandexMusic.API.Common;
///
/// Хранилище данных пользователя
///
public class AuthStorage
{
///
/// Http-контекст
///
public HttpContext Context { get; }
///
/// Флаг авторизации
///
public bool IsAuthorized { get; internal set; }
///
/// Идентификатор устройства
///
public string DeviceId { get; set; } = "csharp";
///
/// Токен авторизации
///
public string Token { get; internal set; }
///
/// Аккаунт
///
public YAccount User { get; set; }
///
/// Провайдер запросов
///
public IRequestProvider Provider { get; }
///
/// Токен доступа
///
public YAccessToken AccessToken { get; set; }
internal YAuthToken AuthToken { get; set; }
///
/// Конструктор
///
public AuthStorage(IRequestProvider provider)
{
User = new YAccount();
Context = new HttpContext();
Provider = provider;
}
///
/// Конструктор
///
public AuthStorage()
{
User = new YAccount();
Context = new HttpContext();
Provider = new DefaultRequestProvider(this);
}
///
/// Установка прокси для пользователия
///
/// Прокси
public void SetProxy(IWebProxy proxy)
{
Context.WebProxy = proxy;
}
}