public async Task<Entity> Request(RequestType type,
string endpoint,
QueryParams parameters = null,
JToken data = null,
Dictionary<string, string> additionalHeaders = null,
string contentType = ContentType.JSON)
{
if (type == RequestType.GET)
{
return await Get(UrlCombiner.Combine(RestPath, endpoint), parameters, additionalHeaders, contentType);
}
else if (type == RequestType.POST)
{
return await Post(UrlCombiner.Combine(RestPath, endpoint), parameters, data, additionalHeaders, contentType);
}
else if (type == RequestType.PUT)
{
return await Put(UrlCombiner.Combine(RestPath, endpoint), parameters, data, additionalHeaders, contentType);
}
else if (type == RequestType.DELETE)
{
return await Delete(UrlCombiner.Combine(RestPath, endpoint), parameters, additionalHeaders, contentType);
}
else
{
throw new Exception("Invalid request type.");
}
}