11using System ;
2- using System . Collections . Generic ;
3- using System . Linq ;
4- using System . Text ;
52using System . Net ;
63using System . IO ;
74
@@ -14,18 +11,15 @@ public abstract class Client
1411 public CallRet Call ( string url )
1512 {
1613 Console . WriteLine ( "URL: " + url ) ;
17- HttpWebRequest request = WebRequest . Create ( url ) as HttpWebRequest ;
18- if ( request == null )
19- throw new NullReferenceException ( "request is not a http request" ) ;
20-
2114 try
2215 {
16+ HttpWebRequest request = ( HttpWebRequest ) WebRequest . Create ( url ) ;
2317 request . Method = "POST" ;
2418 SetAuth ( request ) ;
25- HttpWebResponse response = request . GetResponse ( ) as HttpWebResponse ;
26- CallRet callRet = HandleResult ( response ) ;
27- response . Close ( ) ;
28- return callRet ;
19+ using ( HttpWebResponse response = request . GetResponse ( ) as HttpWebResponse )
20+ {
21+ return HandleResult ( response ) ;
22+ }
2923 }
3024 catch ( Exception e )
3125 {
@@ -37,12 +31,9 @@ public CallRet Call(string url)
3731 public CallRet CallWithBinary ( string url , string contentType , byte [ ] body )
3832 {
3933 Console . WriteLine ( "URL: " + url ) ;
40- HttpWebRequest request = WebRequest . Create ( url ) as HttpWebRequest ;
41- if ( request == null )
42- throw new NullReferenceException ( "request is not a http request" ) ;
43-
4434 try
4535 {
36+ HttpWebRequest request = ( HttpWebRequest ) WebRequest . Create ( url ) ;
4637 request . Method = "POST" ;
4738 request . ContentType = contentType ;
4839 request . ContentLength = body . Length ;
@@ -51,19 +42,10 @@ public CallRet CallWithBinary(string url, string contentType, byte[] body)
5142 {
5243 requestStream . Write ( body , 0 , body . Length ) ;
5344 }
54- }
55- catch ( Exception e )
56- {
57- Console . WriteLine ( e . ToString ( ) ) ;
58- return new CallRet ( HttpStatusCode . BadRequest , e ) ;
59- }
60-
61- try
62- {
63- HttpWebResponse response = request . GetResponse ( ) as HttpWebResponse ;
64- CallRet callRet = HandleResult ( response ) ;
65- response . Close ( ) ;
66- return callRet ;
45+ using ( HttpWebResponse response = request . GetResponse ( ) as HttpWebResponse )
46+ {
47+ return HandleResult ( response ) ;
48+ }
6749 }
6850 catch ( Exception e )
6951 {
@@ -74,23 +56,12 @@ public CallRet CallWithBinary(string url, string contentType, byte[] body)
7456
7557 public static CallRet HandleResult ( HttpWebResponse response )
7658 {
77- if ( response == null )
78- return new CallRet ( HttpStatusCode . BadRequest , "No response" ) ;
79-
8059 HttpStatusCode statusCode = response . StatusCode ;
81- string responseStr ;
82- try
60+ using ( StreamReader reader = new StreamReader ( response . GetResponseStream ( ) ) )
8361 {
84- StreamReader reader = new StreamReader ( response . GetResponseStream ( ) ) ;
85- responseStr = reader . ReadToEnd ( ) ;
62+ string responseStr = reader . ReadToEnd ( ) ;
63+ return new CallRet ( statusCode , responseStr ) ;
8664 }
87- catch ( Exception e )
88- {
89- Console . WriteLine ( e . ToString ( ) ) ;
90- return new CallRet ( HttpStatusCode . BadRequest , e ) ;
91- }
92-
93- return new CallRet ( statusCode , responseStr ) ;
9465 }
9566 }
9667}
0 commit comments