/// <summary> /// Sends an API request for user information. /// </summary> /// <param name="handle">The handle of the requested user.</param> /// <returns>An instance of <see cref="IUser"/> containing the information about the requested user.</returns> public async Task <IUser> GetUser(string handle) { var requestUrl = string.Format(ApiRequestUrl, _apiKey, $"user/{handle}"); using var client = new HttpClient(); var response = await client.GetAsync(requestUrl); if (!response.IsSuccessStatusCode) { throw new Exception(response.ReasonPhrase); } var content = await response.Content.ReadAsStringAsync(); var data = JObject.Parse(content); var profileData = data["data"]?["profile"]; var organizationData = data["data"]?["organization"]; var user = new StarCitizenUser { Profile = ParseUserProfile(profileData), Organization = ParseUserOrganizationInfo(organizationData) }; return(user); }
public async Task <StarCitizenUser> GetUser(string handle) { var requestUrl = string.Format(_config.ApiRequestUrl, _config.ApiKey, $"user/{handle}"); var content = await _httpService.Get(requestUrl); var data = JObject.Parse(content); var profileData = data["data"]?["profile"]; var organizationData = data["data"]?["organization"]; var user = new StarCitizenUser { Profile = ParseUserProfile(profileData), Organization = ParseUserOrganizationInfo(organizationData) }; return(user); }