/// <summary> /// Initializes a new instance of the <see cref="OrdersService" /> class. /// </summary> /// <param name="httpClient">The HTTP client.</param> /// <param name="endPoints">The end points.</param> /// <param name="authorizationToken">The authorization token.</param> /// <param name="rateLimits">The rate limits.</param> public OrdersService( HttpClient httpClient, IEndPoints endPoints, IAuthorizationToken authorizationToken, RateLimits rateLimits = null) : base(httpClient, endPoints, authorizationToken, rateLimits) { }
/// <summary> /// Initializes a new instance of the <see cref="AuthenticatedClientBase"/> class. /// </summary> /// <param name="httpClient">The HTTP client.</param> /// <param name="endPoints">The end points.</param> /// <param name="authorizationToken">The authorization token.</param> /// <param name="rateLimits">The rate limits.</param> protected AuthenticatedClientBase( HttpClient httpClient, IEndPoints endPoints, IAuthorizationToken authorizationToken, RateLimits rateLimits = null) : base(httpClient, endPoints) { _authorizationToken = authorizationToken; RateLimits = rateLimits ?? new RateLimits(); }
public async Task <Request> Apply(Request request) { var expireTime = _authorizationToken?.ExpireTime; if (_authorizationToken == null || (expireTime.HasValue && expireTime.Value < DateTime.UtcNow)) { _authorizationToken = await _getCookie(); } return(request.Header("Cookie", _authorizationToken.Content)); }
public async Task Reauthorize() { try { await _semaphore.WaitAsync(); _authorizationToken = await _getAuthorizationToken(); } finally { _semaphore.Release(); } }
public async Task <Request> Apply(Request request) { if (!AuthorizationTokenValid) { try { await _semaphore.WaitAsync(); if (!AuthorizationTokenValid) { _authorizationToken = await _getAuthorizationToken(); } } finally { _semaphore.Release(); } } return(request.Header("Authorization", $"Bearer {_authorizationToken.Content}")); }
public async Task Reauthorize() { _authorizationToken = await _getCookie(); }