32 instantiations of HttpRetryStrategyOptions
Microsoft.Extensions.Http.Resilience (2)
Polly\HttpRetryResiliencePipelineBuilderExtensions.cs (1)
60
return new
HttpRetryStrategyOptions
Resilience\HttpStandardResilienceOptions.cs (1)
66
public 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)
26
new
HttpRetryStrategyOptions
().RetryBudget.Should().BeNull();
Polly\HttpRetryResiliencePipelineBuilderExtensionsTests.cs (12)
32
Assert.Throws<ArgumentNullException>(() => HttpRetryResiliencePipelineBuilderExtensions.AddRetryWithBudget(null!, new
HttpRetryStrategyOptions
()));
39
var options = new
HttpRetryStrategyOptions
{ MaxRetryAttempts = 5 };
54
var options = new
HttpRetryStrategyOptions
();
65
var options = new
HttpRetryStrategyOptions
{ Name = "my-retry", RetryBudget = new() };
79
var options = new
HttpRetryStrategyOptions
{ RetryBudget = new() };
90
var options = new
HttpRetryStrategyOptions
{ Name = "my-retry", RetryBudget = new() { RetryRatio = 2 } };
100
var options = new
HttpRetryStrategyOptions
{ ShouldHandle = null! };
113
var options = new
HttpRetryStrategyOptions
();
143
var options = new
HttpRetryStrategyOptions
187
var options = new
HttpRetryStrategyOptions
();
285
.AddRetryWithBudget(new
HttpRetryStrategyOptions
342
var options = new
HttpRetryStrategyOptions
Polly\HttpRetryStrategyOptionsExtensionsTests.cs (9)
24
Assert.Throws<ArgumentNullException>(() => new
HttpRetryStrategyOptions
().DisableFor(null!));
30
Assert.Throws<ArgumentException>(() => new
HttpRetryStrategyOptions
().DisableFor([]));
36
var options = new
HttpRetryStrategyOptions
{ ShouldHandle = null! };
46
var options = new
HttpRetryStrategyOptions
{ ShouldHandle = _ => PredicateResult.True() };
58
var options = new
HttpRetryStrategyOptions
{ ShouldHandle = _ => PredicateResult.False() };
70
var options = new
HttpRetryStrategyOptions
{ ShouldHandle = _ => PredicateResult.True() };
83
var options = new
HttpRetryStrategyOptions
{ ShouldHandle = _ => PredicateResult.True() };
105
var options = new
HttpRetryStrategyOptions
{ ShouldHandle = _ => PredicateResult.True() };
123
var options = new
HttpRetryStrategyOptions
Polly\HttpRetryStrategyOptionsTests.cs (7)
32
private readonly HttpRetryStrategyOptions _testClass =
new
();
37
var options = new
HttpRetryStrategyOptions
();
84
var isTransientFailure = await new
HttpRetryStrategyOptions
().ShouldHandle(CreateArgs(Outcome.FromResult(response)));
94
var shouldHandle = await new
HttpRetryStrategyOptions
().ShouldHandle(args);
101
var options = new
HttpRetryStrategyOptions
{ ShouldRetryAfterHeader = true };
129
var options = new
HttpRetryStrategyOptions
{ ShouldRetryAfterHeader = true };
151
var options = new
HttpRetryStrategyOptions
58 references to HttpRetryStrategyOptions
Microsoft.Extensions.Http.Resilience (23)
Internal\RetryBudgetAppliedAttribute.cs (1)
23
var 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
40
public static ResiliencePipelineBuilder<HttpResponseMessage> AddRetryWithBudget(this ResiliencePipelineBuilder<HttpResponseMessage> builder,
HttpRetryStrategyOptions
options)
49
internal static ResiliencePipelineBuilder<HttpResponseMessage> AddRetryWithOptionalBudget(this ResiliencePipelineBuilder<HttpResponseMessage> builder,
HttpRetryStrategyOptions
options)
58
internal static
HttpRetryStrategyOptions
CreateBudgetedCopy(
HttpRetryStrategyOptions
options, HttpRetryBudgetOptions budgetOptions)
88
HttpRetryStrategyOptions
options,
91
var validation = _budgetValidator.Validate($"{options.Name}.{nameof(
HttpRetryStrategyOptions
.RetryBudget)}", budgetOptions);
106
var
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
)"/>
37
public static void UseBudgetedRetries(this
HttpRetryStrategyOptions
options)
48
public static void DisableForUnsafeHttpMethods(this
HttpRetryStrategyOptions
options)
64
public 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.
66
public
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)
39
var
options = new HttpRetryStrategyOptions { MaxRetryAttempts = 5 };
45
var
retry = descriptor.Strategies[1].Options.Should().BeOfType<
HttpRetryStrategyOptions
>().Subject;
54
var
options = new HttpRetryStrategyOptions();
65
var
options = new HttpRetryStrategyOptions { Name = "my-retry", RetryBudget = new() };
71
var
retry = descriptor.Strategies[1].Options.Should().BeOfType<
HttpRetryStrategyOptions
>().Subject;
79
var
options = new HttpRetryStrategyOptions { RetryBudget = new() };
90
var
options = new HttpRetryStrategyOptions { Name = "my-retry", RetryBudget = new() { RetryRatio = 2 } };
100
var
options = new HttpRetryStrategyOptions { ShouldHandle = null! };
113
var
options = new HttpRetryStrategyOptions();
143
var
options = new HttpRetryStrategyOptions
158
var
copy = HttpRetryResiliencePipelineBuilderExtensions.CreateBudgetedCopy(options, options.RetryBudget);
161
var properties = typeof(
HttpRetryStrategyOptions
).GetProperties(BindingFlags.Public | BindingFlags.Instance).Where(p => p.CanWrite).ToList();
176
foreach (var property in properties.Where(p => p.Name != nameof(
HttpRetryStrategyOptions
.ShouldHandle)))
187
var
options = new HttpRetryStrategyOptions();
189
var
copy = HttpRetryResiliencePipelineBuilderExtensions.CreateBudgetedCopy(options, new HttpRetryBudgetOptions());
342
var
options = new HttpRetryStrategyOptions
Polly\HttpRetryStrategyOptionsExtensionsTests.cs (9)
18
Assert.Throws<ArgumentNullException>(() => ((
HttpRetryStrategyOptions
)null!).DisableFor(HttpMethod.Get));
36
var
options = new HttpRetryStrategyOptions { ShouldHandle = null! };
46
var
options = new HttpRetryStrategyOptions { ShouldHandle = _ => PredicateResult.True() };
58
var
options = new HttpRetryStrategyOptions { ShouldHandle = _ => PredicateResult.False() };
70
var
options = new HttpRetryStrategyOptions { ShouldHandle = _ => PredicateResult.True() };
83
var
options = new HttpRetryStrategyOptions { ShouldHandle = _ => PredicateResult.True() };
105
var
options = new HttpRetryStrategyOptions { ShouldHandle = _ => PredicateResult.True() };
117
Assert.Throws<ArgumentNullException>(() => ((
HttpRetryStrategyOptions
)null!).UseBudgetedRetries());
123
var
options = new HttpRetryStrategyOptions
Polly\HttpRetryStrategyOptionsTests.cs (5)
32
private readonly
HttpRetryStrategyOptions
_testClass = new();
37
var
options = new HttpRetryStrategyOptions();
101
var
options = new HttpRetryStrategyOptions { ShouldRetryAfterHeader = true };
129
var
options = new HttpRetryStrategyOptions { ShouldRetryAfterHeader = true };
151
var
options = new HttpRetryStrategyOptions
Resilience\HttpClientBuilderExtensionsTests.RetryBudget.cs (2)
51
descriptor.Strategies[3].Options.Should().BeOfType<
HttpRetryStrategyOptions
>();
113
var
retry = GetStandardOptions(builder.Services).Retry;
Resilience\HttpClientBuilderExtensionsTests.Standard.cs (1)
172
descriptor.Strategies[2].Options.Should().BeOfType<
HttpRetryStrategyOptions
>();