private async Task <string> SendRequestAsync(GenericRequest request, string httpMethod) { string json = JsonConvert.SerializeObject(request); string json64 = Convert.ToBase64String(Encoding.UTF8.GetBytes(json)); byte[] data = Encoding.UTF8.GetBytes(json64); byte[] hash = hashMaker.ComputeHash(data); string signature = GetHexString(hash); HttpWebRequest wr = WebRequest.Create("https://api.bitfinex.com" + request.request) as HttpWebRequest; wr.Headers.Add("X-BFX-APIKEY", Key); wr.Headers.Add("X-BFX-PAYLOAD", json64); wr.Headers.Add("X-BFX-SIGNATURE", signature); wr.Method = httpMethod; string response = null; try { HttpWebResponse resp = wr.GetResponse() as HttpWebResponse; StreamReader sr = new StreamReader(resp.GetResponseStream()); response = await sr.ReadToEndAsync(); sr.Close(); } catch (WebException ex) { StreamReader sr = new StreamReader(ex.Response.GetResponseStream()); response = sr.ReadToEnd(); sr.Close(); throw new BitfinexException(ex, response); } return(response); }
private string SendRequest(GenericRequest request,string httpMethod) { string json = JsonConvert.SerializeObject(request); string json64 = Convert.ToBase64String(Encoding.UTF8.GetBytes(json)); byte[] data = Encoding.UTF8.GetBytes(json64); byte[] hash = hashMaker.ComputeHash(data); string signature = GetHexString(hash); HttpWebRequest wr = WebRequest.Create("https://api.bitfinex.com"+request.request) as HttpWebRequest; wr.Headers.Add("X-BFX-APIKEY", Key); wr.Headers.Add("X-BFX-PAYLOAD", json64); wr.Headers.Add("X-BFX-SIGNATURE", signature); wr.Method = httpMethod; string response = null; try { HttpWebResponse resp = wr.GetResponse() as HttpWebResponse; StreamReader sr = new StreamReader(resp.GetResponseStream()); response = sr.ReadToEnd(); sr.Close(); } catch (WebException ex) { StreamReader sr = new StreamReader(ex.Response.GetResponseStream()); response = sr.ReadToEnd(); sr.Close(); throw new BitfinexException(ex, response); } return response; }