public string Execute(Command command)
{
HttpWebRequest request = GetNextRequest();
string json = command.ToJson();
byte[] content = Encoding.UTF8.GetBytes(json);
request.ContentLength = content.Length;
using (Stream requestStream = request.GetRequestStream())
{
requestStream.Write(content, 0, content.Length);
requestStream.Close();
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
byte[] responseContent = new byte[response.ContentLength];
using (var responseStream = response.GetResponseStream())
{
responseStream.Read(responseContent, 0, responseContent.Length);
responseStream.Close();
}
string responseString = Encoding.UTF8.GetString(responseContent);
JArray a = JArray.Parse(responseString);
JToken t = a[0];
command.OnCallback(t);
return responseString;
}