예제 #1
0
        public RateLimitsClient(ITwitterClient client)
        {
            var executionContext = client.CreateTwitterExecutionContext();

            _client                = client;
            _helpRequester         = client.Raw.Help;
            _rateLimitCacheManager = executionContext.Container.Resolve <IRateLimitCacheManager>();
            _rateLimitAwaiter      = executionContext.Container.Resolve <IRateLimitAwaiter>();
        }
예제 #2
0
        public Task WaitForQueryRateLimitAsync(string url, RateLimitsSource from)
        {
            var credentialsRateLimitParameters = new WaitForCredentialsRateLimitParameters(url)
            {
                Credentials      = _client.Credentials,
                ExecutionContext = _client.CreateTwitterExecutionContext(),
                From             = from
            };

            return(_rateLimitAwaiter.WaitForCredentialsRateLimitAsync(credentialsRateLimitParameters));
        }
예제 #3
0
 public IAccountActivityRequestHandler CreateRequestHandler()
 {
     return(_client.CreateTwitterExecutionContext().Container.Resolve <IAccountActivityRequestHandler>());
 }
예제 #4
0
 public Task WaitForQueryRateLimitAsync(string url)
 {
     return(_rateLimitAwaiter.WaitForCredentialsRateLimitAsync(url, _client.Credentials, _client.CreateTwitterExecutionContext()));
 }