File tree 2 files changed +35
-3
lines changed
2 files changed +35
-3
lines changed Original file line number Diff line number Diff line change @@ -17,13 +17,35 @@ public class Response
17
17
public HttpStatusCode StatusCode ;
18
18
public HttpContent ResponseBody ;
19
19
public HttpResponseHeaders ResponseHeaders ;
20
+ public Dictionary < string , dynamic > DSResponseBody ;
21
+ public Dictionary < string , string > DSResponseHeaders ;
20
22
21
23
public Response ( HttpStatusCode statusCode , HttpContent responseBody , HttpResponseHeaders responseHeaders )
22
24
{
23
25
StatusCode = statusCode ;
24
26
ResponseBody = responseBody ;
25
27
ResponseHeaders = responseHeaders ;
28
+ DSResponseBody = DeserializeResponseBody ( responseBody ) ;
29
+ DSResponseHeaders = DeserializeResponseHeaders ( responseHeaders ) ;
26
30
}
31
+
32
+ public Dictionary < string , dynamic > DeserializeResponseBody ( HttpContent content )
33
+ {
34
+ JavaScriptSerializer jss = new JavaScriptSerializer ( ) ;
35
+ var ds_content = jss . Deserialize < Dictionary < string , dynamic > > ( content . ReadAsStringAsync ( ) . Result ) ;
36
+ return ds_content ;
37
+ }
38
+
39
+ public Dictionary < string , string > DeserializeResponseHeaders ( HttpResponseHeaders content )
40
+ {
41
+ var ds_content = new Dictionary < string , string > ( ) ;
42
+ foreach ( var pair in content )
43
+ {
44
+ ds_content . Add ( pair . Key , pair . Value . First ( ) ) ;
45
+ }
46
+ return ds_content ;
47
+ }
48
+
27
49
}
28
50
29
51
public class Client : DynamicObject
Original file line number Diff line number Diff line change @@ -23,9 +23,19 @@ static void Main(string[] args)
23
23
'limit': 100
24
24
}" ;
25
25
dynamic response = client . version ( "v3" ) . api_keys . get ( query_params : query_params ) ;
26
- Console . WriteLine ( response . StatusCode ) ;
27
- Console . WriteLine ( response . ResponseBody . ReadAsStringAsync ( ) . Result ) ;
28
- Console . WriteLine ( response . ResponseHeaders . ToString ( ) ) ;
26
+ //Console.WriteLine(response.StatusCode);
27
+ //Console.WriteLine(response.ResponseBody.ReadAsStringAsync().Result);
28
+ //Console.WriteLine(response.ResponseHeaders.ToString());
29
+
30
+ foreach ( var value in response . DSResponseBody [ "result" ] )
31
+ {
32
+ Console . WriteLine ( "name: {0}, api_key_id: {1}" , value [ "name" ] , value [ "api_key_id" ] ) ;
33
+ }
34
+ foreach ( var pair in response . DSResponseHeaders )
35
+ {
36
+ Console . WriteLine ( "{0}: {1}" , pair . Key , pair . Value ) ;
37
+ }
38
+
29
39
30
40
Console . WriteLine ( "\n \n Press any key to continue." ) ;
31
41
Console . ReadLine ( ) ;
You can’t perform that action at this time.
0 commit comments