Skip to content

Commit 8015a18

Browse files
committed
Linter errors
1 parent 2086139 commit 8015a18

File tree

1 file changed

+23
-11
lines changed

1 file changed

+23
-11
lines changed

src/Octoshift/RetryPolicy.cs

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,29 @@ public RetryPolicy(OctoLogger log)
2020
_log = log;
2121
}
2222

23-
/// <summary>
24-
/// NEW: Minimal overload for HTTP calls that returns HttpResponseMessage so we can
25-
/// honor Retry-After and X-RateLimit-* headers for secondary rate limits.
26-
/// Usage: var resp = await _retryPolicy.HttpRetry(() => _httpClient.SendAsync(request));
27-
/// </summary>
23+
2824
public async Task<HttpResponseMessage> HttpRetry(Func<Task<HttpResponseMessage>> func)
2925
{
3026
var policy = Policy
3127
.HandleResult<HttpResponseMessage>(r =>
3228
{
3329
var sc = (int)r.StatusCode;
34-
if (sc != 403 && sc != 429) return false;
30+
if (sc is not 403 and not 429)
31+
{
32+
return false;
33+
}
3534

3635
// Treat Retry-After or X-RateLimit-Remaining: 0 as secondary-rate limiting signals
37-
if (r.Headers.RetryAfter != null) return true;
36+
if (r.Headers.RetryAfter != null)
37+
{
38+
return true;
39+
}
40+
3841
if (r.Headers.TryGetValues("X-RateLimit-Remaining", out var remain) &&
39-
remain?.FirstOrDefault() == "0") return true;
42+
remain?.FirstOrDefault() == "0")
43+
{
44+
return true;
45+
}
4046

4147
// Fallback: any 403/429 without headers still gets backoff per docs
4248
return true;
@@ -49,7 +55,10 @@ public async Task<HttpResponseMessage> HttpRetry(Func<Task<HttpResponseMessage>>
4955

5056
// 1) Honor Retry-After header
5157
var ra = r.Headers.RetryAfter?.Delta;
52-
if (ra.HasValue) return ra.Value;
58+
if (ra.HasValue)
59+
{
60+
return ra.Value;
61+
}
5362

5463
// 2) If remaining == 0, wait until reset
5564
if (r.Headers.TryGetValues("X-RateLimit-Remaining", out var remainVals) &&
@@ -59,7 +68,10 @@ public async Task<HttpResponseMessage> HttpRetry(Func<Task<HttpResponseMessage>>
5968
{
6069
var resetAt = DateTimeOffset.FromUnixTimeSeconds(resetEpoch);
6170
var wait = resetAt - DateTimeOffset.UtcNow;
62-
if (wait > TimeSpan.Zero) return wait;
71+
if (wait > TimeSpan.Zero)
72+
{
73+
return wait;
74+
}
6375
}
6476

6577
// 3) Otherwise: at least 1 minute, exponential thereafter (1,2,4,8,...)
@@ -78,7 +90,7 @@ public async Task<HttpResponseMessage> HttpRetry(Func<Task<HttpResponseMessage>>
7890
$"Retry-After={r.Headers.RetryAfter?.Delta?.TotalSeconds}, " +
7991
$"X-RateLimit-Remaining={TryHeader(r, "X-RateLimit-Remaining")}, " +
8092
$"X-RateLimit-Reset={TryHeader(r, "X-RateLimit-Reset")}. " +
81-
$"Body={(body?.Length > 200 ? body.Substring(0, 200) + "…" : body)}");
93+
$"Body={(body?.Length > 200 ? body[..200] + "…" : body)}");
8294
});
8395

8496
var resp = await policy.ExecuteAsync(func);

0 commit comments

Comments
 (0)