public async Task <T> Get <T>(string url) { Uri uri = new Uri(Config.UrlPrefix + url); HttpResponseMessage result = await http.GetAsync(uri); if (!result.IsSuccessStatusCode) { LogError(url, result); } ; var resultContentString = await result.Content.ReadAsStringAsync(); KKCommonResponse resultObj = serializer.Deserialize <KKCommonResponse>(resultContentString); result.Dispose(); if (resultObj.status != 200) { var e = new KKHttpException(url, resultObj); SentryLogger.Log(e); return(default(T)); } var d = serializer.Deserialize <T>(resultObj.data); return(d); }
public async Task <dynamic> Post(string url, dynamic body) { HttpStringContent content = getJsonContent(body); var uri = new Uri(Config.UrlPrefix + url); HttpResponseMessage result = await http.PostAsync(uri, content); if (!result.IsSuccessStatusCode) { LogError(url, result); } ; var resultContentString = await result.Content.ReadAsStringAsync(); KKCommonResponse resultObj = serializer.Deserialize <KKCommonResponse>(resultContentString); result.Dispose(); if (resultObj.status != 200) { var e = new KKHttpException(url, resultObj); SentryLogger.Log(e); } return(resultObj.data); }
private void LogError(string url, HttpResponseMessage response) { string info = "Request to " + url + " failed with status code " + response.StatusCode + "content: " + response.Content; //Acquire the actual exception var ex = new Exception(info); info = string.Empty; //Log the exception and info message SentryLogger.Log(ex); throw ex; }
private async Task <KKCommonResponse> serializeBodyAsync(dynamic result, string url) { if (!result.IsSuccessStatusCode) { LogError(url, result); } ; var resultContentString = await result.Content.ReadAsStringAsync(); KKCommonResponse resultObj = serializer.Deserialize <KKCommonResponse>(resultContentString); result.Dispose(); if (resultObj.status != 200) { var e = new KKHttpException(url, resultObj); SentryLogger.Log(e); } return(resultObj); }