private async Task <string> ProcessResponseMessageAsStringAsync(HttpResponseMessage responseMessage, string url, string parameters, ContentTypeEnum contentType) { if (responseMessage.StatusCode == HttpStatusCode.NoContent) { return(default(string)); } var responseString = await responseMessage.Content.ReadAsStringAsync(); if (responseMessage.StatusCode != HttpStatusCode.OK) { var exception = new CustomWebException($"Request({url}) fault with code = {responseMessage.StatusCode}, data: {parameters}, responseString: {responseString}", responseMessage.StatusCode, responseString); if (responseMessage.StatusCode == HttpStatusCode.InternalServerError) { exception.Data["ErrorMessage"] = responseString; } throw exception; } return(responseString); }
private async Task <T> ProcessResponseMessageAsync <T>(HttpResponseMessage responseMessage, string url, string parameters, ContentTypeEnum contentType) { if (responseMessage.StatusCode == HttpStatusCode.NoContent) { return(default(T)); } T result; var response = responseMessage; var responseString = await response.Content?.ReadAsStringAsync(); if (responseMessage.StatusCode != HttpStatusCode.OK && responseMessage.StatusCode != HttpStatusCode.Created) { var exception = new CustomWebException($"Request({url}) fault with code = {responseMessage.StatusCode}, data: {parameters}", responseMessage.StatusCode, responseString); if (responseMessage.StatusCode == HttpStatusCode.InternalServerError) { exception.Data["ErrorMessage"] = responseString; } throw exception; } if (contentType == ContentTypeEnum.ApplicationJson) { result = JsonConvert.DeserializeObject <T>(responseString, _jsonSerializerSettings); } else { using (var stream = new MemoryStream(StringToUTF8ByteArray(responseString))) { result = (T) new XmlSerializer(typeof(T)).Deserialize(stream); } } return(result); }