@@ -47,6 +47,18 @@ private string BuildQueryData(Dictionary<string, string> param)
47
47
catch ( Exception ) { return "" ; }
48
48
}
49
49
50
+ private string BuildJSON ( Dictionary < string , string > param )
51
+ {
52
+ if ( param == null )
53
+ return "" ;
54
+
55
+ var entries = new List < string > ( ) ;
56
+ foreach ( var item in param )
57
+ entries . Add ( string . Format ( "\" {0}\" :\" {1}\" " , item . Key , item . Value ) ) ;
58
+
59
+ return "{" + string . Join ( "," , entries ) + "}" ;
60
+ }
61
+
50
62
public static string ByteArrayToString ( byte [ ] ba )
51
63
{
52
64
StringBuilder hex = new StringBuilder ( ba . Length * 2 ) ;
@@ -61,9 +73,9 @@ private long GetNonce()
61
73
return DateTime . UtcNow . Ticks - yearBegin . Ticks ;
62
74
}
63
75
64
- private string Query ( string method , string function , Dictionary < string , string > param = null , bool auth = false )
76
+ private string Query ( string method , string function , Dictionary < string , string > param = null , bool auth = false , bool json = false )
65
77
{
66
- string paramData = BuildQueryData ( param ) ;
78
+ string paramData = json ? BuildJSON ( param ) : BuildQueryData ( param ) ;
67
79
string url = "/api/v1" + function + ( ( method == "GET" && paramData != "" ) ? "?" + paramData : "" ) ;
68
80
string postData = ( method != "GET" ) ? paramData : "" ;
69
81
@@ -86,7 +98,7 @@ private string Query(string method, string function, Dictionary<string, string>
86
98
{
87
99
if ( postData != "" )
88
100
{
89
- webRequest . ContentType = "application/x-www-form-urlencoded" ;
101
+ webRequest . ContentType = json ? "application/json" : "application/x-www-form-urlencoded" ;
90
102
var data = Encoding . UTF8 . GetBytes ( postData ) ;
91
103
using ( var stream = webRequest . GetRequestStream ( ) )
92
104
{
@@ -152,6 +164,14 @@ public string PostOrders()
152
164
return Query ( "POST" , "/order" , param , true ) ;
153
165
}
154
166
167
+ public string DeleteOrders ( )
168
+ {
169
+ var param = new Dictionary < string , string > ( ) ;
170
+ param [ "orderID" ] = "de709f12-2f24-9a36-b047-ab0ff090f0bb" ;
171
+ param [ "text" ] = "cancel order by ID" ;
172
+ return Query ( "DELETE" , "/order" , param , true , true ) ;
173
+ }
174
+
155
175
private byte [ ] hmacsha256 ( byte [ ] keyByte , byte [ ] messageBytes )
156
176
{
157
177
using ( var hash = new HMACSHA256 ( keyByte ) )
0 commit comments