OSDN Git Service

na-get-lib,ダウンロード処理において、HTTP圧縮に対応した。
authorttp <ttp@users.sourceforge.jp>
Wed, 23 Dec 2009 05:06:32 +0000 (14:06 +0900)
committerttp <ttp@users.sourceforge.jp>
Wed, 23 Dec 2009 05:06:32 +0000 (14:06 +0900)
na-get-lib/NaGet.Net/Downloader.cs

index bd74468..623e787 100644 (file)
@@ -165,6 +165,11 @@ public class Downloader : NaGetTask
                        request.Proxy = this.Proxy;\r
                        request.CachePolicy = new System.Net.Cache.RequestCachePolicy(CacheLevel);\r
                        \r
+                       HttpWebRequest httpRequest = request as HttpWebRequest;\r
+                       if (httpRequest != null) {\r
+                               httpRequest.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;  \r
+                       }\r
+                       \r
                        if (cancelCalled) {\r
                                throw new NaGetTaskCanceledException(string.Empty);\r
                        }\r
@@ -249,10 +254,13 @@ public class Downloader : NaGetTask
                        \r
                        // 更新日を補完\r
                        if (File.Exists(filepath)) {\r
-                               if (response is HttpWebResponse) {\r
-                                       File.SetLastWriteTime(filepath, ((HttpWebResponse) response).LastModified);\r
-                               } else if (response is FtpWebResponse) {\r
-                                       File.SetLastWriteTime(filepath, ((FtpWebResponse) response).LastModified);\r
+                               HttpWebResponse httpResponse = response as HttpWebResponse;\r
+                               FtpWebResponse  ftpResponse      = response as FtpWebResponse;\r
+                               \r
+                               if (httpResponse != null) {\r
+                                       File.SetLastWriteTime(filepath, httpResponse.LastModified);\r
+                               } else if (ftpResponse != null) {\r
+                                       File.SetLastWriteTime(filepath, ftpResponse.LastModified);\r
                                }\r
                        }\r
                } finally {\r