internal async Task<Entity> RequestJson(string endpoint,
QueryParams parameters = null,
JToken data = null,
HttpMethod httpMethod = null,
Dictionary<string, string> additionalHeaders = null,
string contentType = ContentType.JSON)
{
HttpRequestMessage request = new HttpRequestMessage(httpMethod ?? HttpMethod.Get, (endpoint.StartsWith("/") ? endpoint.Substring(1) : endpoint) + (parameters?.ToString() ?? string.Empty));
if (data != null)
{
string serializedData = JsonConvert.SerializeObject(data);
request.Content = new StringContent(serializedData, Encoding.UTF8, contentType);
}
return await ProcessRequest(request, additionalHeaders);
}