//Available on all HTTP Verbs (GET, POST, PUT, DELETE, etc) and endpoints JSON, XMl, JSV, etc public object Any(TwitterFriends 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 + ":friends"; //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.Request.ToOptimizedResultUsingCache(Cache, cacheKey, () => new TwitterFriendsResponse { Results = hasId ? AuthTwitterGateway.GetFriends(ulong.Parse(request.UserId), request.Skip) : AuthTwitterGateway.GetFriends(request.ScreenName, request.Skip) })); }
//Available on all HTTP Verbs (GET, POST, PUT, DELETE, etc) and endpoints JSON, XMl, JSV, etc public object Any(TwitterFriends 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 + ":friends"; //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 TwitterFriendsResponse { Results = hasId ? TwitterGateway.GetFriends(ulong.Parse(request.UserId), request.Skip) : TwitterGateway.GetFriends(request.ScreenName, request.Skip) }); }