예제 #1
0
        public ITwitterIterator <ITweet, long?> GetRetweetsOfMeTimelineIterator(IGetRetweetsOfMeTimelineParameters parameters)
        {
            var pageIterator = _timelinesRequester.GetRetweetsOfMeTimelineIterator(parameters);

            return(new TwitterIteratorProxy <ITwitterResult <ITweetDTO[]>, ITweet, long?>(pageIterator,
                                                                                          twitterResult => _client.Factories.CreateTweets(twitterResult?.DataTransferObject)));
        }
예제 #2
0
 public void Validate(IGetRetweetsOfMeTimelineParameters parameters)
 {
     if (parameters == null)
     {
         throw new ArgumentNullException(nameof(parameters));
     }
 }
예제 #3
0
        public async Task <ITweet[]> GetRetweetsOfMeTimeline(IGetRetweetsOfMeTimelineParameters parameters)
        {
            var iterator     = GetRetweetsOfMeTimelineIterator(parameters);
            var firstResults = await iterator.NextPage().ConfigureAwait(false);

            return(firstResults?.ToArray());
        }
예제 #4
0
        // Retweets of Me Timeline
        public Task <ITwitterResult <ITweetDTO[]> > GetRetweetsOfMeTimelineAsync(IGetRetweetsOfMeTimelineParameters parameters, ITwitterRequest request)
        {
            var query = _timelineQueryGenerator.GetRetweetsOfMeTimelineQuery(parameters, request.ExecutionContext.TweetMode);

            request.Query.Url        = query;
            request.Query.HttpMethod = HttpMethod.GET;
            return(_twitterAccessor.ExecuteRequestAsync <ITweetDTO[]>(request));
        }
예제 #5
0
        public GetRetweetsOfMeTimelineParameters(IGetRetweetsOfMeTimelineParameters source) : base(source)
        {
            if (source == null)
            {
                PageSize = TwitterLimits.DEFAULTS.TIMELINE_RETWEETS_OF_ME_MAX_PAGE_SIZE;
                return;
            }

            IncludeUserEntities = source.IncludeUserEntities;
        }
        public void Validate(IGetRetweetsOfMeTimelineParameters parameters)
        {
            _timelineClientRequiredParametersValidator.Validate(parameters);

            var maxPageSize = Limits.TIMELINE_RETWEETS_OF_ME_MAX_PAGE_SIZE;

            if (parameters.PageSize > maxPageSize)
            {
                throw new TwitterArgumentLimitException($"{nameof(parameters.PageSize)}", maxPageSize, nameof(Limits.TIMELINE_RETWEETS_OF_ME_MAX_PAGE_SIZE), "page size");
            }
        }
예제 #7
0
        // Retweets of Me Timeline
        public string GetRetweetsOfMeTimelineQuery(IGetRetweetsOfMeTimelineParameters parameters, TweetMode?requestTweetMode)
        {
            var query = new StringBuilder(Resources.Timeline_GetRetweetsOfMeTimeline);

            _queryParameterGenerator.AddTimelineParameters(query, parameters, requestTweetMode);

            query.AddParameterToQuery("include_user_entities", parameters.IncludeUserEntities);
            query.AddFormattedParameterToQuery(parameters.FormattedCustomQueryParameters);

            return(query.ToString());
        }
예제 #8
0
 public void Validate(IGetRetweetsOfMeTimelineParameters parameters)
 {
     _timelineClientParametersValidator.Validate(parameters);
 }
예제 #9
0
        public ITwitterPageIterator <ITwitterResult <ITweetDTO[]>, long?> GetRetweetsOfMeTimelineIterator(IGetRetweetsOfMeTimelineParameters parameters, ITwitterRequest request)
        {
            return(_pageCursorIteratorFactories.Create(parameters, cursor =>
            {
                var cursoredParameters = new GetRetweetsOfMeTimelineParameters(parameters)
                {
                    MaxId = cursor
                };

                return _timelineQueryExecutor.GetRetweetsOfMeTimeline(cursoredParameters, new TwitterRequest(request));
            }));
        }
예제 #10
0
        public ITwitterPageIterator <ITwitterResult <ITweetDTO[]>, long?> GetRetweetsOfMeTimelineIterator(IGetRetweetsOfMeTimelineParameters parameters)
        {
            _validator.Validate(parameters);

            var request = TwitterClient.CreateRequest();

            return(_timelineController.GetRetweetsOfMeTimelineIterator(parameters, request));
        }