OSDN Git Service

APIレスポンスに付くレートリミット関連のヘッダ名が小文字に変わったので対応
authorKimura Youichi <kim.upsilon@bucyou.net>
Sat, 6 Apr 2013 17:17:54 +0000 (02:17 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Sat, 6 Apr 2013 17:18:46 +0000 (02:18 +0900)
OpenTween.Tests/Api/TwitterApiStatusTest.cs
OpenTween/Connection/HttpConnection.cs
OpenTween/Connection/HttpTwitter.cs
OpenTween/Resources/ChangeLog.txt

index a1a36dd..508a3ab 100644 (file)
@@ -57,7 +57,15 @@ namespace OpenTween.Api
                 new ApiLimit(150, 100, new DateTime(2013, 1, 1, 0, 0, 0, DateTimeKind.Utc).ToLocalTime()),
             },
             new object[] {
-                new Dictionary<string, string> {
+                new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase) {
+                    {"x-ratelimit-limit", "150"},
+                    {"x-ratelimit-remaining", "100"},
+                    {"x-ratelimit-reset", "1356998400"},
+                },
+                new ApiLimit(150, 100, new DateTime(2013, 1, 1, 0, 0, 0, DateTimeKind.Utc).ToLocalTime()),
+            },
+            new object[] {
+                new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase) {
                     {"X-RateLimit-Limit", "150"},
                     {"X-RateLimit-Remaining", "100"},
                     {"X-RateLimit-Reset", "hogehoge"},
index c435a30..8aa22d7 100644 (file)
@@ -534,18 +534,14 @@ namespace OpenTween
 
             if (headerInfo.Count > 0)
             {
-                string[] keys = new string[headerInfo.Count];
-                headerInfo.Keys.CopyTo(keys, 0);
-                foreach (string key in keys)
+                var headers = webResponse.Headers;
+                var dictKeys = new string[headerInfo.Count];
+                headerInfo.Keys.CopyTo(dictKeys, 0);
+
+                foreach (var key in dictKeys)
                 {
-                    if (Array.IndexOf(webResponse.Headers.AllKeys, key) > -1)
-                    {
-                        headerInfo[key] = webResponse.Headers[key];
-                    }
-                    else
-                    {
-                        headerInfo[key] = "";
-                    }
+                    var value = headers[key];
+                    headerInfo[key] = value ?? "";
                 }
             }
 
index 94285c2..cd58505 100644 (file)
@@ -65,7 +65,7 @@ namespace OpenTween
         private static string tks = "";
         private static string un = "";
 
-        private Dictionary<string, string> apiStatusHeaders = new Dictionary<string, string>
+        private Dictionary<string, string> apiStatusHeaders = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase)
         {
             {"X-Access-Level", ""},
             {"X-RateLimit-Limit", ""},
index d674995..309b3a2 100644 (file)
@@ -7,6 +7,7 @@
  * FIX: プロフィール画像・サムネイルの表示切り替え時にエラーが起きる場合がある問題を修正
  * FIX: タイムライン上のアイコンが空白のまま表示されない場合がある問題を修正 (thx @5px!)
  * FIX: アカウント追加時の初回認証に失敗する問題を修正 (thx @polka_roco_!)
+ * FIX: ツールバー上のAPIレートリミット表示が正しく動作しなくなった問題を修正
 
 ==== Ver 1.0.9-beta1(2013/02/08)
  * ベータ版です