private HttpResponseMessage GetJsonResponse(string MerchantId, string Path, string method, string requestBody)
{
try
{
var request = new HttpRequestMessage(new HttpMethod(method), Environment.DEVELOPMENT.GatewayURL + "/merchants/" + MerchantId + "/client_api/" + Path);
request.Headers.Add("X-ApiVersion", ApiVersion);
request.Headers.Add("Accept", "application/xml");
request.Headers.Add("UserAgent", "Braintree .NET " + typeof(TestHelper).GetTypeInfo().Assembly.GetName().Version.ToString());
request.Headers.Add("KeepAlive", "false");
request.Headers.Add("Timeout", "60000");
request.Headers.Add("ReadWriteTimeout", "60000");
if (requestBody != null)
{
var content = requestBody;
var utf8_string = Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(requestBody));
request.Content = new StringContent(utf8_string, Encoding.UTF8,"application/x-www-form-urlencoded");
request.Content.Headers.ContentLength = UTF8Encoding.UTF8.GetByteCount(utf8_string);
}
var httpClientHandler = new HttpClientHandler
{
AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate,
};
HttpResponseMessage response;
using (var client = new HttpClient(httpClientHandler))
{
response = client.SendAsync(request).GetAwaiter().GetResult();
}
return response;
}
catch (WebException e)
{
var errorWebResponse = e.Response as HttpWebResponse;
var errorResponseMessage = new HttpResponseMessage(errorWebResponse.StatusCode);
errorResponseMessage.Content = new StringContent(e.Response.ToString(), Encoding.UTF8, "application/json");
if (errorWebResponse == null) throw e;
return errorResponseMessage;
}
}
#else