File tree Expand file tree Collapse file tree
PreMailer.Net/PreMailer.Net/Downloaders Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -29,14 +29,32 @@ public static IWebDownloader SharedDownloader
2929 public string DownloadString ( Uri uri )
3030 {
3131 var request = WebRequest . Create ( uri ) ;
32- using ( var response = ( HttpWebResponse ) request . GetResponse ( ) )
32+ using ( var response = request . GetResponse ( ) )
3333 {
34- var charset = response . CharacterSet ;
35- var encoding = Encoding . GetEncoding ( charset ) ;
36- using ( var stream = response . GetResponseStream ( ) )
37- using ( var reader = new StreamReader ( stream , encoding ) )
34+ switch ( response )
3835 {
39- return reader . ReadToEnd ( ) ;
36+ case HttpWebResponse httpWebResponse :
37+ {
38+ var charset = httpWebResponse . CharacterSet ;
39+ var encoding = Encoding . GetEncoding ( charset ) ;
40+ using ( var stream = httpWebResponse . GetResponseStream ( ) )
41+ using ( var reader = new StreamReader ( stream , encoding ) )
42+ {
43+ return reader . ReadToEnd ( ) ;
44+ }
45+ }
46+
47+ case FileWebResponse fileWebResponse :
48+ {
49+ using ( var stream = fileWebResponse . GetResponseStream ( ) )
50+ using ( var reader = new StreamReader ( stream ) )
51+ {
52+ return reader . ReadToEnd ( ) ;
53+ }
54+ }
55+
56+ default :
57+ throw new NotSupportedException ( $ "The Uri type is giving a response in unsupported type '{ response . GetType ( ) } '.") ;
4058 }
4159 }
4260 }
You can’t perform that action at this time.
0 commit comments