public async Task <UserAndMetaData> GetUserAsync(string username, GetUserOptions?options = null) { options ??= GetUserOptions.Default; var uri = GetUsersUri(options.DomainNameValue, username); _logger.LogInformation("Attempting to get user with username {username} - {uri}", _redactor.UserData(username), _redactor.SystemData(uri)); try { // check user exists before trying to read content var result = await _client.GetAsync(uri, options.TokenValue).ConfigureAwait(false); if (result.StatusCode == HttpStatusCode.NotFound) { throw new UserNotFoundException(username); } result.EnsureSuccessStatusCode(); // get user from result var json = JObject.Parse(await result.Content.ReadAsStringAsync().ConfigureAwait(false)); return(UserAndMetaData.FromJson(json)); } catch (Exception exception) { _logger.LogError(exception, "Error trying to get user with username {username} - {uri}", _redactor.UserData(username), _redactor.SystemData(uri)); throw; } }
public async Task <UserAndMetaData> GetUserAsync(string username, GetUserOptions options) { var uri = GetUsersUri(options.DomainName, username); Logger.LogInformation($"Attempting to get user with username {username} - {uri}"); try { // check user exists before trying to read content var result = await _client.GetAsync(uri, options.CancellationToken).ConfigureAwait(false); if (result.StatusCode == HttpStatusCode.NotFound) { throw new UserNotFoundException(username); } result.EnsureSuccessStatusCode(); // get user from result var json = JObject.Parse(await result.Content.ReadAsStringAsync().ConfigureAwait(false)); return(UserAndMetaData.FromJson(json)); } catch (Exception exception) { Logger.LogError(exception, $"Error trying to get user with username {username} - {uri}"); throw; } }