public bool GetSync <T, W>(string command, T t, out W w, out string outMessage) where W : struct { outMessage = string.Empty; using (var client = new HttpClient()) { //Passing service base url client.BaseAddress = new Uri(m_baseUrl); client.Timeout = new TimeSpan(0, 0, 5); client.DefaultRequestHeaders.Clear(); //Define request data format client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); if (m_token != null) { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", m_token.access_token); } try { var response = client.GetAsync($"{command}"); var result = response.Result; if (result.IsSuccessStatusCode) { string json = ""; using (HttpContent content = result.Content) { json = content.ReadAsStringAsync().Result; w = JsonConvert.DeserializeObject <W>(json); return(true); } } else { string json = ""; using (HttpContent content = result.Content) { json = content.ReadAsStringAsync().Result; HarmoniServiceResponse r = JsonConvert.DeserializeObject <HarmoniServiceResponse>(json); outMessage = r.msg; w = new W(); return(false); } } } catch (Exception ex) { outMessage = ex.Message; w = new W(); return(false); } } }
public async void PostAsync <T>(string command, T t, Action <bool, HarmoniServiceResponse> cb) { using (var client = new HttpClient()) { //Passing service base url client.BaseAddress = new Uri(m_baseUrl); client.Timeout = new TimeSpan(0, 0, 5); client.DefaultRequestHeaders.Clear(); //Define request data format client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); if (m_token != null) { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", m_token.access_token); } try { var result = await client.PostAsJsonAsync($"{command}", t); if (result.IsSuccessStatusCode) { string json = ""; using (HttpContent content = result.Content) { json = content.ReadAsStringAsync().Result; cb(true, JsonConvert.DeserializeObject <HarmoniServiceResponse>(json)); } } else { string json = ""; using (HttpContent content = result.Content) { json = content.ReadAsStringAsync().Result; HarmoniServiceResponse r = new HarmoniServiceResponse(); r.msg = json; cb(false, r); } } } catch (Exception ex) { HarmoniServiceResponse r = new HarmoniServiceResponse(); r.msg = ex.InnerException != null ? ex.InnerException.Message : ex.Message; cb(false, r); } } }