public async Task <string> Delete <T>() { using (var httpClient = new HttpClient()) { var endpoint = _endpoint; var accessToken = _accesstoken; httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); if (accessToken != "") { httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + accessToken); } var response = await httpClient.DeleteAsync(endpoint).ConfigureAwait(false); // Addedd on 2nd-March-2017 to extend access token if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized) { ExtendURLRequestModel objextend = new ExtendURLRequestModel(); objextend.rtoken = Settings.RenewalTokenSettings; var renewjson = JsonConvert.SerializeObject(objextend); var renewaltoken = await ExtendToken <TokenResponse>(renewjson); Settings.AccessTokenSettings = renewaltoken?.accessToken; Settings.RenewalTokenSettings = renewaltoken?.renewalToken; httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + renewaltoken.accessToken); response = await httpClient.GetAsync(endpoint, HttpCompletionOption.ResponseHeadersRead).ConfigureAwait(false); } return(JsonConvert.DeserializeObject <string>(response.Content.ReadAsStringAsync().Result)); } }
public async Task <T> Get <T>(Dictionary <string, string> query) { if (!isInternetConnected) { SetupToast(); return(default(T)); } using (var httpClient = new HttpClient()) { var endpoint = _endpoint; var accessToken = _accesstoken; httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); if (accessToken != "") { httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + accessToken); } if (query != null) { var querystr = CreateQueryString(query); endpoint += "?" + querystr; } var response = await httpClient.GetAsync(endpoint, HttpCompletionOption.ResponseHeadersRead).ConfigureAwait(false); if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized) { ExtendURLRequestModel objextend = new ExtendURLRequestModel(); objextend.rtoken = Settings.RenewalTokenSettings; var renewjson = JsonConvert.SerializeObject(objextend); var renewaltoken = await ExtendToken <TokenResponse>(renewjson); Settings.AccessTokenSettings = renewaltoken.accessToken; Settings.RenewalTokenSettings = renewaltoken.renewalToken; httpClient.DefaultRequestHeaders.Clear(); httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + renewaltoken.accessToken); response = await httpClient.GetAsync(endpoint, HttpCompletionOption.ResponseHeadersRead); return(JsonConvert.DeserializeObject <T>(response.Content.ReadAsStringAsync().Result)); } return(JsonConvert.DeserializeObject <T>(response.Content.ReadAsStringAsync().Result)); } }
public async Task <T> Post <T>(string jsonobject) { if (!isInternetConnected) { SetupToast(); return(default(T)); } using (var httpClient = new HttpClient()) { var endpoint = _endpoint; var accessToken = _accesstoken; httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); if (accessToken != "") { httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + accessToken); } var response = await httpClient.PostAsync(endpoint, new StringContent(jsonobject, Encoding.UTF8, "application/json")).ConfigureAwait(false); if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized) { ExtendURLRequestModel objextend = new ExtendURLRequestModel(); objextend.rtoken = Settings.RenewalTokenSettings; var renewjson = JsonConvert.SerializeObject(objextend); var renewaltoken = await ExtendToken <TokenResponse>(renewjson); Settings.AccessTokenSettings = renewaltoken.accessToken; Settings.RenewalTokenSettings = renewaltoken.renewalToken; httpClient.DefaultRequestHeaders.Clear(); httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + renewaltoken.accessToken); response = await httpClient.PostAsync(endpoint, new StringContent(jsonobject, Encoding.UTF8, "application/json")).ConfigureAwait(false); return(JsonConvert.DeserializeObject <T>(response.Content.ReadAsStringAsync().Result)); } return(JsonConvert.DeserializeObject <T>(response.Content.ReadAsStringAsync().Result)); } }
public async Task <T> GetResponse <T>() { if (!isInternetConnected) { SetupToast(); return(default(T)); } Func <Task <T> > runTask = async() => { try { using (var httpClient = new HttpClient()) { var hasGoodConnection = await HasGoodConnection(); if (!hasGoodConnection) { httpClient.Timeout = TimeSpan.FromSeconds(30); } var endpoint = _endpoint; var accessToken = _accesstoken; httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); if (accessToken != "") { httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); } var response = await httpClient.GetAsync(endpoint, HttpCompletionOption.ResponseHeadersRead); if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized) { ExtendURLRequestModel objextend = new ExtendURLRequestModel(); objextend.rtoken = Settings.RenewalTokenSettings; var renewjson = JsonConvert.SerializeObject(objextend); var renewaltoken = await ExtendToken <TokenResponse>(renewjson); Settings.AccessTokenSettings = renewaltoken.accessToken; Settings.RenewalTokenSettings = renewaltoken.renewalToken; httpClient.DefaultRequestHeaders.Clear(); httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + renewaltoken.accessToken); response = await httpClient.GetAsync(endpoint, HttpCompletionOption.ResponseHeadersRead); return(JsonConvert.DeserializeObject <T>(response.Content.ReadAsStringAsync().Result)); } stringResult = await response.Content.ReadAsStringAsync().ConfigureAwait(false); return(JsonConvert.DeserializeObject <T>(stringResult)); } } catch (System.Net.Http.HttpRequestException requestException) { } catch (Exception exception) { if (!App.WasHttpFailed) { App.WasHttpFailed = true; return(await GetResponse <T>()); } } finally { App.WasHttpFailed = false; } return(default(T)); }; return(await Task.Run(runTask, tokenSource.Token)); }