Skip to content

Commit

Permalink
fix: Make contextAttemptKey its own type.
Browse files Browse the repository at this point in the history
This is a best practice because it avoids any potential clashes with other
values of the context.
  • Loading branch information
octo committed Dec 17, 2024
1 parent 0fef4a5 commit 5c6e927
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions retry.go
Original file line number Diff line number Diff line change
Expand Up @@ -118,18 +118,18 @@ func Abort(err error) Error {
return permanentError{err}
}

var contextAttemptKey struct{}
type ctxKey struct{}

func withAttempt(ctx context.Context, attempt int) context.Context {
return context.WithValue(ctx, contextAttemptKey, attempt)
return context.WithValue(ctx, ctxKey{}, attempt)
}

// Attempt returns the number of previous attempts. In other words, it returns
// the zero-based index of the request.
//
// Only call this function from within a retried function.
func Attempt(ctx context.Context) int {
i := ctx.Value(contextAttemptKey)
i := ctx.Value(ctxKey{})
if i == nil {
return 0
}
Expand Down

0 comments on commit 5c6e927

Please sign in to comment.