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;
 }