32 instantiations of HttpRetryStrategyOptions
Microsoft.Extensions.Http.Resilience (2)
Polly\HttpRetryResiliencePipelineBuilderExtensions.cs (1)
60return new HttpRetryStrategyOptions
Resilience\HttpStandardResilienceOptions.cs (1)
66public HttpRetryStrategyOptions Retry { get; set; } = new HttpRetryStrategyOptions
Microsoft.Extensions.Http.Resilience.PerformanceTests (1)
RetryBenchmark.cs (1)
41.AddResilienceHandler("my-retries", builder => builder.AddRetry(new HttpRetryStrategyOptions
Microsoft.Extensions.Http.Resilience.Tests (29)
Polly\HttpRetryBudgetOptionsTests.cs (1)
26new HttpRetryStrategyOptions().RetryBudget.Should().BeNull();
Polly\HttpRetryResiliencePipelineBuilderExtensionsTests.cs (12)
32Assert.Throws<ArgumentNullException>(() => HttpRetryResiliencePipelineBuilderExtensions.AddRetryWithBudget(null!, new HttpRetryStrategyOptions())); 39var options = new HttpRetryStrategyOptions { MaxRetryAttempts = 5 }; 54var options = new HttpRetryStrategyOptions(); 65var options = new HttpRetryStrategyOptions { Name = "my-retry", RetryBudget = new() }; 79var options = new HttpRetryStrategyOptions { RetryBudget = new() }; 90var options = new HttpRetryStrategyOptions { Name = "my-retry", RetryBudget = new() { RetryRatio = 2 } }; 100var options = new HttpRetryStrategyOptions { ShouldHandle = null! }; 113var options = new HttpRetryStrategyOptions(); 143var options = new HttpRetryStrategyOptions 187var options = new HttpRetryStrategyOptions(); 285.AddRetryWithBudget(new HttpRetryStrategyOptions 342var options = new HttpRetryStrategyOptions
Polly\HttpRetryStrategyOptionsExtensionsTests.cs (9)
24Assert.Throws<ArgumentNullException>(() => new HttpRetryStrategyOptions().DisableFor(null!)); 30Assert.Throws<ArgumentException>(() => new HttpRetryStrategyOptions().DisableFor([])); 36var options = new HttpRetryStrategyOptions { ShouldHandle = null! }; 46var options = new HttpRetryStrategyOptions { ShouldHandle = _ => PredicateResult.True() }; 58var options = new HttpRetryStrategyOptions { ShouldHandle = _ => PredicateResult.False() }; 70var options = new HttpRetryStrategyOptions { ShouldHandle = _ => PredicateResult.True() }; 83var options = new HttpRetryStrategyOptions { ShouldHandle = _ => PredicateResult.True() }; 105var options = new HttpRetryStrategyOptions { ShouldHandle = _ => PredicateResult.True() }; 123var options = new HttpRetryStrategyOptions
Polly\HttpRetryStrategyOptionsTests.cs (7)
32private readonly HttpRetryStrategyOptions _testClass = new(); 37var options = new HttpRetryStrategyOptions(); 84var isTransientFailure = await new HttpRetryStrategyOptions().ShouldHandle(CreateArgs(Outcome.FromResult(response))); 94var shouldHandle = await new HttpRetryStrategyOptions().ShouldHandle(args); 101var options = new HttpRetryStrategyOptions { ShouldRetryAfterHeader = true }; 129var options = new HttpRetryStrategyOptions { ShouldRetryAfterHeader = true }; 151var options = new HttpRetryStrategyOptions
58 references to HttpRetryStrategyOptions
Microsoft.Extensions.Http.Resilience (23)
Internal\RetryBudgetAppliedAttribute.cs (1)
23var memberName = validationContext.MemberName ?? nameof(HttpRetryStrategyOptions.RetryBudget);
Internal\RetryBudgetValidationScope.cs (1)
9/// Marks the validation of <see cref="HttpRetryStrategyOptions"/> done by a consumer that applies the retry budget.
Polly\HttpRetryResiliencePipelineBuilderExtensions.cs (9)
26/// in custom pipelines, because <c>AddRetry</c> can't apply <see cref="HttpRetryStrategyOptions.RetryBudget"/> and rejects 34/// This method adds both. The budget is configured by <see cref="HttpRetryStrategyOptions.RetryBudget"/>. When it's 40public static ResiliencePipelineBuilder<HttpResponseMessage> AddRetryWithBudget(this ResiliencePipelineBuilder<HttpResponseMessage> builder, HttpRetryStrategyOptions options) 49internal static ResiliencePipelineBuilder<HttpResponseMessage> AddRetryWithOptionalBudget(this ResiliencePipelineBuilder<HttpResponseMessage> builder, HttpRetryStrategyOptions options) 58internal static HttpRetryStrategyOptions CreateBudgetedCopy(HttpRetryStrategyOptions options, HttpRetryBudgetOptions budgetOptions) 88HttpRetryStrategyOptions options, 91var validation = _budgetValidator.Validate($"{options.Name}.{nameof(HttpRetryStrategyOptions.RetryBudget)}", budgetOptions); 106var budgetedOptions = CreateBudgetedCopy(options, budgetOptions);
Polly\HttpRetryStrategyOptions.cs (2)
24/// Initializes a new instance of the <see cref="HttpRetryStrategyOptions"/> class. 80/// <see cref="HttpRetryResiliencePipelineBuilderExtensions.AddRetryWithBudget(ResiliencePipelineBuilder{HttpResponseMessage}, HttpRetryStrategyOptions)"/>.
Polly\HttpRetryStrategyOptionsExtensions.cs (6)
15/// Extensions for <see cref="HttpRetryStrategyOptions"/>. 30/// This method sets <see cref="HttpRetryStrategyOptions.RetryBudget"/> to a new <see cref="HttpRetryBudgetOptions"/> instance 33/// <see cref="HttpRetryResiliencePipelineBuilderExtensions.AddRetryWithBudget(ResiliencePipelineBuilder{HttpResponseMessage}, HttpRetryStrategyOptions)"/> 37public static void UseBudgetedRetries(this HttpRetryStrategyOptions options) 48public static void DisableForUnsafeHttpMethods(this HttpRetryStrategyOptions options) 64public static void DisableFor(this HttpRetryStrategyOptions options, params HttpMethod[] methods)
Resilience\HttpStandardResilienceOptions.cs (2)
62/// By default, this property is initialized with a unique instance of <see cref="HttpRetryStrategyOptions"/> using default properties values. 66public HttpRetryStrategyOptions Retry { get; set; } = new HttpRetryStrategyOptions
Resilience\HttpStandardResiliencePipelineBuilderExtensions.cs (2)
85/// This method applies <see cref="HttpRetryStrategyOptionsExtensions.UseBudgetedRetries(HttpRetryStrategyOptions)"/> to 87/// <see cref="HttpRetryStrategyOptions.RetryBudget"/> configured before this call, including through configuration sections
Microsoft.Extensions.Http.Resilience.Tests (35)
Polly\HttpRetryResiliencePipelineBuilderExtensionsTests.cs (18)
39var options = new HttpRetryStrategyOptions { MaxRetryAttempts = 5 }; 45var retry = descriptor.Strategies[1].Options.Should().BeOfType<HttpRetryStrategyOptions>().Subject; 54var options = new HttpRetryStrategyOptions(); 65var options = new HttpRetryStrategyOptions { Name = "my-retry", RetryBudget = new() }; 71var retry = descriptor.Strategies[1].Options.Should().BeOfType<HttpRetryStrategyOptions>().Subject; 79var options = new HttpRetryStrategyOptions { RetryBudget = new() }; 90var options = new HttpRetryStrategyOptions { Name = "my-retry", RetryBudget = new() { RetryRatio = 2 } }; 100var options = new HttpRetryStrategyOptions { ShouldHandle = null! }; 113var options = new HttpRetryStrategyOptions(); 143var options = new HttpRetryStrategyOptions 158var copy = HttpRetryResiliencePipelineBuilderExtensions.CreateBudgetedCopy(options, options.RetryBudget); 161var properties = typeof(HttpRetryStrategyOptions).GetProperties(BindingFlags.Public | BindingFlags.Instance).Where(p => p.CanWrite).ToList(); 176foreach (var property in properties.Where(p => p.Name != nameof(HttpRetryStrategyOptions.ShouldHandle))) 187var options = new HttpRetryStrategyOptions(); 189var copy = HttpRetryResiliencePipelineBuilderExtensions.CreateBudgetedCopy(options, new HttpRetryBudgetOptions()); 342var options = new HttpRetryStrategyOptions
Polly\HttpRetryStrategyOptionsExtensionsTests.cs (9)
18Assert.Throws<ArgumentNullException>(() => ((HttpRetryStrategyOptions)null!).DisableFor(HttpMethod.Get)); 36var options = new HttpRetryStrategyOptions { ShouldHandle = null! }; 46var options = new HttpRetryStrategyOptions { ShouldHandle = _ => PredicateResult.True() }; 58var options = new HttpRetryStrategyOptions { ShouldHandle = _ => PredicateResult.False() }; 70var options = new HttpRetryStrategyOptions { ShouldHandle = _ => PredicateResult.True() }; 83var options = new HttpRetryStrategyOptions { ShouldHandle = _ => PredicateResult.True() }; 105var options = new HttpRetryStrategyOptions { ShouldHandle = _ => PredicateResult.True() }; 117Assert.Throws<ArgumentNullException>(() => ((HttpRetryStrategyOptions)null!).UseBudgetedRetries()); 123var options = new HttpRetryStrategyOptions
Polly\HttpRetryStrategyOptionsTests.cs (5)
32private readonly HttpRetryStrategyOptions _testClass = new(); 37var options = new HttpRetryStrategyOptions(); 101var options = new HttpRetryStrategyOptions { ShouldRetryAfterHeader = true }; 129var options = new HttpRetryStrategyOptions { ShouldRetryAfterHeader = true }; 151var options = new HttpRetryStrategyOptions
Resilience\HttpClientBuilderExtensionsTests.RetryBudget.cs (2)
51descriptor.Strategies[3].Options.Should().BeOfType<HttpRetryStrategyOptions>(); 113var retry = GetStandardOptions(builder.Services).Retry;
Resilience\HttpClientBuilderExtensionsTests.Standard.cs (1)
172descriptor.Strategies[2].Options.Should().BeOfType<HttpRetryStrategyOptions>();