Ejemplo n.º 1
0
        internal static ApiLimit ParseRateLimit(IDictionary <string, string> header, string prefix)
        {
            var limitCount  = (int?)ParseHeaderValue(header, prefix + "Limit");
            var limitRemain = (int?)ParseHeaderValue(header, prefix + "Remaining");
            var limitReset  = ParseHeaderValue(header, prefix + "Reset");

            if (limitCount == null || limitRemain == null || limitReset == null)
            {
                return(null);
            }

            var limitResetDate = DateTimeUtc.FromUnixTime(limitReset.Value);

            return(new ApiLimit(limitCount.Value, limitRemain.Value, limitResetDate));
        }
Ejemplo n.º 2
0
        public void UpdateFromJson(TwitterRateLimits json)
        {
            var rateLimits =
                from res in json.Resources
                from item in res.Value
                select(
                    EndpointName : item.Key,
                    Limit : new ApiLimit(
                        item.Value.Limit,
                        item.Value.Remaining,
                        DateTimeUtc.FromUnixTime(item.Value.Reset)
                        )
                    );

            this.AccessLimit.AddAll(rateLimits.ToDictionary(x => x.EndpointName, x => x.Limit));
        }