Beispiel #1
0
        public string GetRateLimitsQuery(IGetRateLimitsParameters parameters)
        {
            var query = new StringBuilder(Resources.Help_GetRateLimit);

            query.AddFormattedParameterToQuery(parameters.FormattedCustomQueryParameters);
            return(query.ToString());
        }
Beispiel #2
0
 public void Validate(IGetRateLimitsParameters parameters)
 {
     if (parameters == null)
     {
         throw new ArgumentNullException(nameof(parameters));
     }
 }
        public GetRateLimitsParameters(IGetRateLimitsParameters source)
        {
            if (source == null)
            {
                return;
            }

            From        = source.From;
            TrackerMode = source.TrackerMode;
        }
Beispiel #4
0
        public Task <ITwitterResult <CredentialsRateLimitsDTO> > GetRateLimits(IGetRateLimitsParameters parameters)
        {
            _validator.Validate(parameters);

            return(ExecuteRequest(request =>
            {
                if (parameters.TrackerMode != null)
                {
                    request.ExecutionContext.RateLimitTrackerMode = parameters.TrackerMode.Value;
                }

                return _helpController.GetRateLimits(parameters, request);
            }));
        }
Beispiel #5
0
        public async Task <ICredentialsRateLimits> GetRateLimitsAsync(IGetRateLimitsParameters parameters)
        {
            switch (parameters.From)
            {
            case RateLimitsSource.CacheOnly:
                return(await _rateLimitCacheManager.RateLimitCache.GetCredentialsRateLimitsAsync(_client.Credentials).ConfigureAwait(false));

            case RateLimitsSource.TwitterApiOnly:
                var twitterResult = await _helpRequester.GetRateLimitsAsync(parameters).ConfigureAwait(false);

                return(_client.Factories.CreateRateLimits(twitterResult?.Model));

            case RateLimitsSource.CacheOrTwitterApi:
                return(await _rateLimitCacheManager.GetCredentialsRateLimitsAsync(_client.Credentials).ConfigureAwait(false));

            default:
                throw new ArgumentException(nameof(parameters.From));
            }
        }
Beispiel #6
0
 public void Validate(IGetRateLimitsParameters parameters)
 {
     _helpClientParametersValidator.Validate(parameters);
 }
Beispiel #7
0
 public Task <ITwitterResult <CredentialsRateLimitsDTO> > GetRateLimitsAsync(IGetRateLimitsParameters parameters, ITwitterRequest request)
 {
     return(_helpQueryExecutor.GetRateLimitsAsync(parameters, request));
 }
Beispiel #8
0
 public Task <ITwitterResult <CredentialsRateLimitsDTO> > GetRateLimitsAsync(IGetRateLimitsParameters parameters, ITwitterRequest request)
 {
     request.Query.Url        = _helpQueryGenerator.GetRateLimitsQuery(parameters);
     request.Query.HttpMethod = HttpMethod.GET;
     return(_twitterAccessor.ExecuteRequestAsync <CredentialsRateLimitsDTO>(request));
 }