private async Task <AuthorizedToken> GetTokenAsync() { SecureStorageService secureStorageService = new SecureStorageService(); AuthorizedToken response = await secureStorageService.GetAsync <AuthorizedToken>(Enums.SecureStorageKey.AuthorizedToken); return(response); }
protected async Task <T> CreatHttpPOSTRequestAsync <T>(string url, Dictionary <string, string> headers = null, string body = null, Enums.Views page = Enums.Views.None) { IsCheckInternetConnectivity(); MessagingCenter.Send <MainPage, Enums.Views>(new MainPage(), MessageCenterAuthenticator.RequestStarted.ToString(), page); Type temp = typeof(T); T obj = Activator.CreateInstance <T>(); try { HttpWebRequest request = CreateRequest(url); request.Method = ConfigSettings.Constant.RequestMethod.Post; request.ContentType = ConfigSettings.Constant.ContentType.Json; if (headers != null) { foreach (var item in headers) { request.Headers.Add(item.Key, item.Value); } } AuthorizedToken authorizedToken = await GetTokenAsync(); if (authorizedToken != null) { request.Headers.Add(ConfigSettings.Constant.HeaderKey.Authorization, string.Format("Bearer {0}", authorizedToken.Token)); } using (StreamWriter w = new StreamWriter(request.GetRequestStream())) { if (body != null) { w.Write(body); } w.Flush(); } var httpResponse = (HttpWebResponse)await request.GetResponseAsync(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var result = streamReader.ReadToEnd(); obj = JsonConvert.DeserializeObject <T>(result); } } catch (WebException ex) { HandleBadResponse(ex); } finally { MessagingCenter.Send <MainPage, Enums.Views>(new MainPage(), MessageCenterAuthenticator.RequestCompleted.ToString(), page); } return(obj); }
protected async Task <T> CreateHttpGETRequestAsync <T>(string url, WebHeaderCollection headers = null, Enums.Views page = Enums.Views.None) { IsCheckInternetConnectivity(); MessagingCenter.Send <MainPage, Enums.Views>(new MainPage(), MessageCenterAuthenticator.RequestStarted.ToString(), page); Type temp = typeof(T); T obj = Activator.CreateInstance <T>(); HttpWebRequest request = CreateRequest(url); request.Method = ConfigSettings.Constant.RequestMethod.Get; if (headers != null) { request.Headers = headers; } AuthorizedToken authorizedToken = await GetTokenAsync(); if (authorizedToken != null) { request.Headers.Add(ConfigSettings.Constant.HeaderKey.Authorization, string.Format("Bearer {0}", authorizedToken.Token)); } try { var httpResponse = (HttpWebResponse)await request.GetResponseAsync(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var result = streamReader.ReadToEnd(); obj = JsonConvert.DeserializeObject <T>(result); } } catch (WebException ex) { HandleBadResponse(ex); } finally { MessagingCenter.Send <MainPage, Enums.Views>(new MainPage(), MessageCenterAuthenticator.RequestCompleted.ToString(), page); } return(obj); }