public async Task PostAsync <T>(string action, T data) { using (var client = new BearerHttpClient()) { var result = await client.PostAsJsonAsync(BuildActionUri(action), data); if (result.IsSuccessStatusCode) { return; } string json = await result.Content.ReadAsStringAsync(); throw new ApiException(result.StatusCode, json); } }
public async Task <T> GetAsync <T>(string action, string bearerToken = null) { using (var client = new BearerHttpClient()) { if (!bearerToken.IsNullOrWhiteSpace()) { //Add the authorization header client.DefaultRequestHeaders.Authorization = AuthenticationHeaderValue.Parse("Bearer " + bearerToken); } var result = await client.GetAsync(BuildActionUri(action)); string json = await result.Content.ReadAsStringAsync(); if (result.IsSuccessStatusCode) { return(JsonConvert.DeserializeObject <T>(json)); } throw new ApiException(result.StatusCode, json); } }