//Available on all HTTP Verbs (GET, POST, PUT, DELETE, etc) and endpoints JSON, XMl, JSV, etc public object Any(TwitterFollowers request) { if (request.UserId.IsNullOrEmpty() && request.ScreenName.IsNullOrEmpty()) { throw new ArgumentNullException("UserId or UserName is required"); } var hasId = !request.UserId.IsNullOrEmpty(); //Create a unique cache key for this request var cacheKey = "cache:User:"******"Id:" + request.UserId : "Name:" + request.ScreenName) + ":skip:" + request.Skip + ":followers"; //This caches and returns the most optimal result the browser can handle, e.g. //If browser requests json and accepts deflate - it returns a deflated json payload from cache return(base.Request.ToOptimizedResultUsingCache(Cache, cacheKey, () => new TwitterFollowersResponse { Results = hasId ? AuthTwitterGateway.GetFollowers(ulong.Parse(request.UserId), request.Skip) : AuthTwitterGateway.GetFollowers(request.ScreenName, request.Skip) })); }
protected override object Run(TwitterTweets request) { var cacheKey = "cache:Tweet:" + request.ScreenName + ":tweets" + (request.Take.HasValue ? ":take:" + request.Take : "") + (!request.SinceId.IsNullOrEmpty() ? ":sinceid:" + request.SinceId : "") + (!request.MaxId.IsNullOrEmpty() ? ":maxid:" + request.MaxId : ""); //This caches and returns the most optimal result the browser can handle, e.g. //If the browser requests json and accepts deflate - it returns a deflated json payload from cache return(base.RequestContext.ToOptimizedResultUsingCache(Cache, cacheKey, () => new TwitterTweetsResponse { Results = AuthTwitterGateway.GetTweets( request.ScreenName, request.SinceId, request.MaxId, request.Take) })); }
public object Any(TwitterDirectMessages request) { var cacheKey = "cache:DirectMessage:" + base.UserSession.TwitterScreenName + ":dms" + (request.Take.HasValue ? ":take:" + request.Take : "") + (!request.SinceId.IsNullOrEmpty() ? ":sinceid:" + request.SinceId : "") + (!request.MaxId.IsNullOrEmpty() ? ":maxid:" + request.MaxId : ""); //This caches and returns the most optimal result the browser can handle, e.g. //If the browser requests json and accepts deflate - it returns a deflated json payload from cache return(base.RequestContext.ToOptimizedResultUsingCache(Cache, cacheKey, () => new TwitterDirectMessagesResponse { Results = AuthTwitterGateway.GetDirectMessages( request.SinceId, request.MaxId, request.Take) })); }
//Available on all HTTP Verbs (GET,POST,PUT,DELETE,etc) and endpoints JSON,XMl,JSV,etc public object Any(TwitterUsers request) { var userIds = request.UserIds ?? new List <string>(); var userNames = request.ScreenNames ?? new List <string>(); var results = new List <TwitterUser>(); if (userIds.Count > 0) { results.AddRange(AuthTwitterGateway.DownloadUsersByIds(userIds)); } if (userNames.Count > 0) { results.AddRange(AuthTwitterGateway.DownloadTwitterUsersByNames(userNames)); } return(new TwitterUsersResponse { Results = results }); }