OpenTween.Api.TwitterApiStatus.UpdateFromHeader C# (CSharp) Method

UpdateFromHeader() public method

public UpdateFromHeader ( string>.IDictionary header ) : void
header string>.IDictionary
return void
        public void UpdateFromHeader(IDictionary<string, string> header)
        {
            var rateLimit = TwitterApiStatus.ParseRateLimit(header, "X-RateLimit-");
            if (rateLimit != null)
                this.AccessLimit = rateLimit;

            var mediaLimit = TwitterApiStatus.ParseRateLimit(header, "X-MediaRateLimit-");
            if (mediaLimit != null)
                this.MediaUploadLimit = mediaLimit;

            var accessLevel = TwitterApiStatus.ParseAccessLevel(header, "X-Access-Level");
            if (accessLevel.HasValue)
                this.AccessLevel = accessLevel.Value;
        }

Usage Example

Exemplo n.º 1
0
        public void UpdateFromHeader_DictionaryTest()
        {
            var status = new TwitterApiStatus();

            var header = new Dictionary <string, string>
            {
                ["X-Rate-Limit-Limit"]         = "150",
                ["X-Rate-Limit-Remaining"]     = "100",
                ["X-Rate-Limit-Reset"]         = "1356998400",
                ["X-MediaRateLimit-Limit"]     = "30",
                ["X-MediaRateLimit-Remaining"] = "20",
                ["X-MediaRateLimit-Reset"]     = "1357084800",
                ["X-Access-Level"]             = "read-write-directmessages",
            };

            Assert.Raises <TwitterApiStatus.AccessLimitUpdatedEventArgs>(
                x => status.AccessLimitUpdated += x,
                x => status.AccessLimitUpdated -= x,
                () => status.UpdateFromHeader(header, "/statuses/home_timeline")
                );

            var rateLimit = status.AccessLimit["/statuses/home_timeline"];

            Assert.Equal(150, rateLimit.AccessLimitCount);
            Assert.Equal(100, rateLimit.AccessLimitRemain);
            Assert.Equal(new DateTimeUtc(2013, 1, 1, 0, 0, 0), rateLimit.AccessLimitResetDate);

            var mediaLimit = status.MediaUploadLimit;

            Assert.Equal(30, mediaLimit.AccessLimitCount);
            Assert.Equal(20, mediaLimit.AccessLimitRemain);
            Assert.Equal(new DateTimeUtc(2013, 1, 2, 0, 0, 0), mediaLimit.AccessLimitResetDate);

            Assert.Equal(TwitterApiAccessLevel.ReadWriteAndDirectMessage, status.AccessLevel);
        }
All Usage Examples Of OpenTween.Api.TwitterApiStatus::UpdateFromHeader