/// <inheritdoc /> public GitItem GetItem(SourceInformation searchInformation) { searchInformation.AssertIsValid(); Validators.AssertIsNotNull(_client, "GitHttpClient"); Logger.Trace("Entering"); var info = $"{nameof(searchInformation)}: {searchInformation}"; var result = WaitAndRetryPolicy.ExecuteAndCapture( _ => IgnoreExceptionsHelper.DoMethodIgnoringExceptions <GitItem>( new Func <SourceInformation, GitItem>(GetItemWrapper), new[] { typeof(VssServiceException) }, searchInformation ), MakeContext(info)); HandlePolicyResult(result, info); var output = result.Result; Logger.Trace("Exiting"); return(output); }
/// <inheritdoc /> public string GetItemContent(SourceInformation sourceInformation) { sourceInformation.AssertIsValid(); Validators.AssertIsNotNull(_client, "GitHttpClient"); Logger.Trace("Entering"); string output = null; var info = $"{nameof(sourceInformation)}: {sourceInformation}"; var result = WaitAndRetryPolicy.ExecuteAndCapture( _ => IgnoreExceptionsHelper.DoMethodIgnoringExceptions <Stream>( new Func <SourceInformation, Stream>(GetItemContentWrapper), new[] { typeof(VssServiceException) }, sourceInformation ), MakeContext(info)); HandlePolicyResult(result, info); var contentStream = result.Result; if (contentStream != null) { var reader = new StreamReader(contentStream); output = reader.ReadToEnd(); } Logger.Trace("Exiting"); return(output); }
/// <summary> /// Get a collection of projects. /// </summary> /// <returns></returns> public IEnumerable <TeamProjectReference> GetProjects() { Logger.Trace("Entering"); var result = WaitAndRetryPolicy.ExecuteAndCapture( _ => ProjectClient.Value.GetProjects().Result.ToList(), MakeContext()); HandlePolicyResult(result); var output = result.Result; Logger.Trace("Exiting"); return(output); }
private static void InitRegistory(ref IPolicyRegistry <string> registry) { NoOpPolicyClass.NoOpPolicy(ref registry); TimeoutPolicyClass.Timeout(ref registry, 10); WaitAndRetryPolicy.WaitAndRetry(ref registry); }