private GitHubUser GetValidatedGitHubUser(Connection keychainConnection, IKeychainAdapter keychainAdapter) { try { var octorunTask = new OctorunTask(taskManager.Token, nodeJsExecutablePath, octorunScriptPath, "validate", user: keychainConnection.Username, userToken: keychainAdapter.Credential.Token) .Configure(processManager); var ret = octorunTask.RunSynchronously(); if (ret.IsSuccess) { var login = ret.Output[1]; if (login != keychainConnection.Username) { logger.Trace("LoadKeychainInternal: Api username does not match"); throw new TokenUsernameMismatchException(keychainConnection.Username, login); } return(new GitHubUser { Name = ret.Output[0], Login = login }); } throw new ApiClientException(ret.GetApiErrorMessage() ?? "Error validating current user"); } catch (KeychainEmptyException) { logger.Warning("Keychain is empty"); throw; } catch (Exception ex) { logger.Error(ex, "Error Getting Current User"); throw; } }
private GitHubUser GetValidatedGitHubUser(Connection keychainConnection, IKeychainAdapter keychainAdapter) { try { var octorunTask = new OctorunTask(taskManager.Token, keychain, environment, "validate") .Configure(processManager); var ret = octorunTask.RunSynchronously(); if (ret.IsSuccess) { var login = ret.Output[1]; if (!string.Equals(login, keychainConnection.Username, StringComparison.InvariantCultureIgnoreCase)) { logger.Trace("LoadKeychainInternal: Api username does not match"); throw new TokenUsernameMismatchException(keychainConnection.Username, login); } return(new GitHubUser { Name = ret.Output[0], Login = login }); } throw new ApiClientException(ret.GetApiErrorMessage() ?? "Error validating current user"); } catch (KeychainEmptyException) { logger.Warning("Keychain is empty"); throw; } catch (Exception ex) { logger.Error(ex, "Error Getting Current User"); throw; } }