public ICrewChiefResponse HandleRequest(ICrewChiefRequest request) { ICrewChiefDataSampleResponse response = new DataSampleResponse(); try { HttpClient client = new HttpClient(); client.BaseAddress = new Uri(ApiBaseUrl); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage httpResponse = client.GetAsync(ApiEndpoint).Result; if (httpResponse.IsSuccessStatusCode) { var sample = httpResponse.Content.ReadAsStringAsync().Result; response.StatusCode = (int)httpResponse.StatusCode; response.IsSuccess = true; response.Data = JsonConvert.DeserializeObject <DataSample>(sample); } } catch (Exception ex) { response.IsSuccess = false; response.ErrorMessage = ex.Message; } return(response); }
public ICrewChiefResponse HandleRequest(ICrewChiefRequest request) { ICrewChiefDataSampleResponse response = new DataSampleResponse(); try { var socketResponse = base.SendRequest(request.MessageType.ToString()); response.ResponseData = socketResponse; response.Data = JsonConvert.DeserializeObject <DataSample>(socketResponse); response.MessageType = request.MessageType; response.StatusCode = 200; response.IsSuccess = true; } catch (Exception ex) { response.IsSuccess = false; response.ErrorMessage = ex.ToString(); } return(response); }
public ICrewChiefResponse HandleRequest(ICrewChiefRequest request) { ICrewChiefDataSampleResponse response = new DataSampleResponse(); try { //var apiResponse = SendAPIRequest<Data>(request); var apiResponse = SendAPIRequest(request); response.StatusCode = (int)apiResponse.StatusCode; switch (apiResponse.StatusCode) { case HttpStatusCode.OK: { response.IsSuccess = true; var jsonContent = apiResponse.Content; response.Data = JsonConvert.DeserializeObject<DataSampleModel>(jsonContent); // JsonConvert.DeserializeObject<SessionData>(apiResponse.Data); //response.SessionData = new SessionData() { Raw = apiResponse.Content }; //response.SessionData = apiResponse.Data; //var sessionInfoString = apiResponse.Content.Replace("\\r\\n", "\\n"); //var input = new StringReader(sessionInfoString); //var deserializer = new Deserializer(); //var result = (SessionData)deserializer.Deserialize(input, typeof(SessionData)); //response.SessionData = result; //var cleaned = apiResponse.Content.TrimEnd('"').Substring(1).Replace("\r\n","").Replace(@"\",""); //response.Data = JsonConvert.DeserializeObject<Data>(cleaned); break; } case HttpStatusCode.NoContent: { response.IsSuccess = false; response.ErrorMessage = "iRacing is not running."; break; } default: { response.IsSuccess = false; if (null != apiResponse.ErrorException) { response.ErrorMessage = apiResponse.ErrorException.Message; } else if (null != apiResponse.ErrorMessage) { response.ErrorMessage = apiResponse.ErrorMessage; } else { response.ErrorMessage = String.Format("Server returned {0}\r\n{1}", apiResponse.StatusDescription, apiResponse.Content); } break; } } } catch (Exception ex) { response.IsSuccess = false; response.ErrorMessage = ex.Message; } return response; }
public ICrewChiefResponse HandleRequest(ICrewChiefRequest request) { ICrewChiefDataSampleResponse response = new DataSampleResponse(); try { //var apiResponse = SendAPIRequest<Data>(request); var apiResponse = SendAPIRequest(request); response.StatusCode = (int)apiResponse.StatusCode; switch (apiResponse.StatusCode) { case HttpStatusCode.OK: { response.IsSuccess = true; var jsonContent = apiResponse.Content; response.Data = JsonConvert.DeserializeObject <DataSampleModel>(jsonContent); // JsonConvert.DeserializeObject<SessionData>(apiResponse.Data); //response.SessionData = new SessionData() { Raw = apiResponse.Content }; //response.SessionData = apiResponse.Data; //var sessionInfoString = apiResponse.Content.Replace("\\r\\n", "\\n"); //var input = new StringReader(sessionInfoString); //var deserializer = new Deserializer(); //var result = (SessionData)deserializer.Deserialize(input, typeof(SessionData)); //response.SessionData = result; //var cleaned = apiResponse.Content.TrimEnd('"').Substring(1).Replace("\r\n","").Replace(@"\",""); //response.Data = JsonConvert.DeserializeObject<Data>(cleaned); break; } case HttpStatusCode.NoContent: { response.IsSuccess = false; response.ErrorMessage = "iRacing is not running."; break; } default: { response.IsSuccess = false; if (null != apiResponse.ErrorException) { response.ErrorMessage = apiResponse.ErrorException.Message; } else if (null != apiResponse.ErrorMessage) { response.ErrorMessage = apiResponse.ErrorMessage; } else { response.ErrorMessage = String.Format("Server returned {0}\r\n{1}", apiResponse.StatusDescription, apiResponse.Content); } break; } } } catch (Exception ex) { response.IsSuccess = false; response.ErrorMessage = ex.Message; } return(response); }