protected virtual IRestResponse SendAPICommand <T>(ICrewChiefRequest request) { var client = new RestClient(ApiBaseUrl); var apiRequest = new RestRequest(ApiEndpoint, ApiMethod); return(client.Execute(apiRequest)); }
public virtual void SendRequest(ICrewChiefRequest request) { var handler = ApiRequestHandlerFactory.GetHandler(request.MessageType); var response = handler.HandleRequest(request); OnCrewChiefResponse(response); }
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 { 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); }
protected virtual IRestResponse <T> SendAPIRequest <T>(ICrewChiefRequest request) where T : new() { var client = new RestClient(ApiBaseUrl); client.Timeout = 10000; var apiRequest = new RestRequest(ApiEndpoint, ApiMethod); var responseObj = client.Execute <T>(apiRequest); return(responseObj); }
public ICrewChiefResponse HandleRequest(ICrewChiefRequest request) { ICrewChiefDriversListResponse response = new DriversListResponse(); try { var apiResponse = SendAPIRequest <List <DriverModel> >(request); response.StatusCode = (int)apiResponse.StatusCode; switch (apiResponse.StatusCode) { case HttpStatusCode.OK: { response.IsSuccess = true; response.Drivers = apiResponse.Data; 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) { ICrewChiefDriversListResponse response = new DriversListResponse(); try { var apiResponse = SendAPIRequest<List<DriverModel>>(request); response.StatusCode = (int)apiResponse.StatusCode; switch (apiResponse.StatusCode) { case HttpStatusCode.OK: { response.IsSuccess = true; response.Drivers = apiResponse.Data; 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) { ICrewChiefAuthResponse response = new AuthResponse(); try { response.AuthToken = Guid.NewGuid().ToString(); } catch (Exception ex) { response.IsSuccess = false; response.ErrorMessage = ex.Message; response.ResponseData = ex.ToString(); } return response; }
public ICrewChiefResponse HandleRequest(ICrewChiefRequest request) { ICrewChiefServerStateResponse response = new ServerStateResponse(); try { response.ServerState = "true";// iRacingSDKConnection.IsConnected; } catch (Exception ex) { response.IsSuccess = false; response.ErrorMessage = ex.Message; response.ResponseData = ex.ToString(); } return response; }
public ICrewChiefResponse HandleRequest(ICrewChiefRequest request) { ICrewChiefServerStateResponse response = new ServerStateResponse(); try { response.ServerState = "true";// iRacingSDKConnection.IsConnected; } catch (Exception ex) { response.IsSuccess = false; response.ErrorMessage = ex.Message; response.ResponseData = ex.ToString(); } return(response); }
public ICrewChiefResponse HandleRequest(ICrewChiefRequest request) { ICrewChiefAuthResponse response = new AuthResponse(); try { response.AuthToken = Guid.NewGuid().ToString(); } catch (Exception ex) { response.IsSuccess = false; response.ErrorMessage = ex.Message; response.ResponseData = ex.ToString(); } 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 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); }