func WithRetryPolicy(retryPolicy RetryPolicy) Option {
	return func(roundtripper *RetryRoundtripper) {
		roundtripper.ShouldRetry = retryPolicy
	}
}
WithRetryPolicy sets the user defined retry policy.

Default: RetryPolicy checks for some common errors that are likely not retryable and for status codes
that should be retried.

For example:
- url parsing errors
- too many redirects
- certificate errors
- BadGateway
- ServiceUnavailable
- etc.
package httpretry
type Option func(*RetryRoundtripper)
func WithMaxRetryCount(maxRetryCount int) Option {
	if maxRetryCount < 0 {
		maxRetryCount = 0
	}
	return func(roundtripper *RetryRoundtripper) {
		roundtripper.MaxRetryCount = maxRetryCount
	}
}