@@ -41,13 +41,13 @@ public bool ResponseValidation
4141 init { this . _options . ResponseValidation = value ; }
4242 }
4343
44- public int MaxRetries
44+ public int ? MaxRetries
4545 {
4646 get { return this . _options . MaxRetries ; }
4747 init { this . _options . MaxRetries = value ; }
4848 }
4949
50- public TimeSpan Timeout
50+ public TimeSpan ? Timeout
5151 {
5252 get { return this . _options . Timeout ; }
5353 init { this . _options . Timeout = value ; }
@@ -106,7 +106,8 @@ public async Task<HttpResponse> Execute<T>(
106106 )
107107 where T : ParamsBase
108108 {
109- if ( this . MaxRetries <= 0 )
109+ var maxRetries = this . MaxRetries ?? ClientOptions . DefaultMaxRetries ;
110+ if ( maxRetries <= 0 )
110111 {
111112 return await ExecuteOnce ( request , cancellationToken ) . ConfigureAwait ( false ) ;
112113 }
@@ -121,13 +122,13 @@ public async Task<HttpResponse> Execute<T>(
121122 }
122123 catch ( Exception e )
123124 {
124- if ( ++ retries > this . MaxRetries || ! ShouldRetry ( e ) )
125+ if ( ++ retries > maxRetries || ! ShouldRetry ( e ) )
125126 {
126127 throw ;
127128 }
128129 }
129130
130- if ( response != null && ( ++ retries > this . MaxRetries || ! ShouldRetry ( response ) ) )
131+ if ( response != null && ( ++ retries > maxRetries || ! ShouldRetry ( response ) ) )
131132 {
132133 if ( response . Message . IsSuccessStatusCode )
133134 {
@@ -171,7 +172,9 @@ async Task<HttpResponse> ExecuteOnce<T>(
171172 Content = request . Params . BodyContent ( ) ,
172173 } ;
173174 request . Params . AddHeadersToRequest ( requestMessage , this . _options ) ;
174- using CancellationTokenSource timeoutCts = new ( this . Timeout ) ;
175+ using CancellationTokenSource timeoutCts = new (
176+ this . Timeout ?? ClientOptions . DefaultTimeout
177+ ) ;
175178 using var cts = CancellationTokenSource . CreateLinkedTokenSource (
176179 timeoutCts . Token ,
177180 cancellationToken
0 commit comments