public ITwitterIterator <ITweet, long?> GetHomeTimelineIterator(IGetHomeTimelineParameters parameters) { var pageIterator = _timelinesRequester.GetHomeTimelineIterator(parameters); return(new TwitterIteratorProxy <ITwitterResult <ITweetDTO[]>, ITweet, long?>(pageIterator, twitterResult => _client.Factories.CreateTweets(twitterResult?.DataTransferObject))); }
public void Validate(IGetHomeTimelineParameters parameters) { if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } }
// Home Timeline public Task <ITwitterResult <ITweetDTO[]> > GetHomeTimelineAsync(IGetHomeTimelineParameters parameters, ITwitterRequest request) { var query = _timelineQueryGenerator.GetHomeTimelineQuery(parameters, request.ExecutionContext.TweetMode); request.Query.Url = query; request.Query.HttpMethod = HttpMethod.GET; return(_twitterAccessor.ExecuteRequestAsync <ITweetDTO[]>(request)); }
public void Validate(IGetHomeTimelineParameters parameters) { _timelineClientRequiredParametersValidator.Validate(parameters); var maxPageSize = Limits.TIMELINE_HOME_PAGE_MAX_PAGE_SIZE; if (parameters.PageSize > maxPageSize) { throw new TwitterArgumentLimitException($"{nameof(parameters.PageSize)}", maxPageSize, nameof(Limits.TIMELINE_HOME_PAGE_MAX_PAGE_SIZE), "page size"); } }
// Home Timeline public string GetHomeTimelineQuery(IGetHomeTimelineParameters parameters, TweetMode?requestTweetMode) { var query = new StringBuilder(Resources.Timeline_GetHomeTimeline); _queryParameterGenerator.AddTimelineParameters(query, parameters, requestTweetMode); query.AddParameterToQuery("exclude_replies", parameters.ExcludeReplies); query.AddFormattedParameterToQuery(parameters.FormattedCustomQueryParameters); return(query.ToString()); }
public GetHomeTimelineParameters(IGetHomeTimelineParameters source) : base(source) { if (source == null) { PageSize = TwitterLimits.DEFAULTS.TIMELINE_HOME_PAGE_MAX_PAGE_SIZE; return; } PageSize = source.PageSize; ExcludeReplies = source.ExcludeReplies; }
public void Validate(IGetHomeTimelineParameters parameters) { _timelineClientParametersValidator.Validate(parameters); }
public async Task <ITweet[]> GetHomeTimeline(IGetHomeTimelineParameters parameters) { var iterator = GetHomeTimelineIterator(parameters); return((await iterator.NextPage().ConfigureAwait(false)).ToArray()); }
// Home Timeline public ITwitterPageIterator <ITwitterResult <ITweetDTO[]>, long?> GetHomeTimelineIterator(IGetHomeTimelineParameters parameters, ITwitterRequest request) { return(_pageCursorIteratorFactories.Create(parameters, cursor => { var cursoredParameters = new GetHomeTimelineParameters(parameters) { MaxId = cursor }; return _timelineQueryExecutor.GetHomeTimeline(cursoredParameters, new TwitterRequest(request)); })); }
public ITwitterPageIterator <ITwitterResult <ITweetDTO[]>, long?> GetHomeTimelineIterator(IGetHomeTimelineParameters parameters) { _validator.Validate(parameters); var request = TwitterClient.CreateRequest(); return(_timelineController.GetHomeTimelineIterator(parameters, request)); }