public async Task <XUser> GetCurrentUser() { HttpClient client = GetClient(); var request = new HttpRequestMessage(); Uri siteUrl = new Uri(SiteUrl); Uri getCurrentUser = new Uri(siteUrl, "/_api/Web/CurrentUser"); request.Method = HttpMethod.Get; request.RequestUri = getCurrentUser; XUser user = null; //TODO: add error handling await client.SendAsync(request).ContinueWith((taskwithmsg) => { var response = taskwithmsg.Result; var responseContentTask = response.Content.ReadAsStringAsync(); responseContentTask.Wait(); string resPonseData = responseContentTask.Result; user = XUser.ParseUser(resPonseData); user.Context = this; return(user); }); return(user); }