private async Task <string> SendRequestAsync(HttpMethod method, string url, BinanceTrOptions options, Dictionary <string, string> parameters = null, CancellationToken ct = default) { try { using var httpClient = new HttpClient(); var requestUri = BinanceTrHelper.GetRequestUrl(url, true); var requestMessage = new HttpRequestMessage(method, requestUri); requestMessage.Headers.Add("X-MBX-APIKEY", options.ApiKey); if (method == HttpMethod.Get) { requestMessage.RequestUri = new Uri(requestMessage.RequestUri.OriginalString + BinanceTrHelper.CreateQueryString(BinanceTrHelper.BuildRequest(options.ApiSecret, parameters))); } else { requestMessage.Content = new FormUrlEncodedContent(BinanceTrHelper.BuildRequest(options.ApiSecret, parameters)); } var response = await httpClient.SendAsync(requestMessage, ct).ConfigureAwait(false); return(await response.Content.ReadAsStringAsync().ConfigureAwait(false)); } catch (Exception ex) { return(ex.Message); } }
private static async Task <string> SendRequestWithoutAuth(string url, Dictionary <string, string> parameters = null, bool baseUrl = false, CancellationToken ct = default) { try { using var httpClient = new HttpClient(); var requestUri = BinanceTrHelper.GetRequestUrl(url, baseUrl); var requestMessage = new HttpRequestMessage(HttpMethod.Get, requestUri); requestMessage.RequestUri = new Uri(requestMessage.RequestUri.OriginalString + BinanceTrHelper.CreateQueryString(BinanceTrHelper.BuildRequest(null, parameters))); var response = await httpClient.SendAsync(requestMessage, ct).ConfigureAwait(false); return(await response.Content.ReadAsStringAsync().ConfigureAwait(false)); } catch (Exception ex) { return(ex.Message); } }