public class BackOffHandler : IHttpUnsuccessfulResponseHandler, IHttpExceptionHandlerA thread-safe back-off handler which handles an abnormal HTTP response or an exception with IBackOff.
Namespace
Google.Apis.HttpAssembly
Google.Apis.Core.dll
Constructors
BackOffHandler(Initializer)
public BackOffHandler(BackOffHandler.Initializer initializer)Constructs a new back-off handler with the given initializer.
| Parameter | |
|---|---|
| Name | Description | 
initializer | 
        BackOffHandlerInitializer | 
      
BackOffHandler(IBackOff)
public BackOffHandler(IBackOff backOff)Constructs a new back-off handler with the given back-off.
| Parameter | |
|---|---|
| Name | Description | 
backOff | 
        IBackOffThe back-off policy.  | 
      
Properties
BackOff
public IBackOff BackOff { get; }Gets the back-off policy used by this back-off handler.
| Property Value | |
|---|---|
| Type | Description | 
IBackOff | 
        |
HandleExceptionFunc
public Func<Exception, bool> HandleExceptionFunc { get; }Gets a delegate function which indicates whether this back-off handler should handle an exception. The default is DefaultHandleExceptionFunc.
| Property Value | |
|---|---|
| Type | Description | 
FuncExceptionbool | 
        |
HandleUnsuccessfulResponseFunc
public Func<HttpResponseMessage, bool> HandleUnsuccessfulResponseFunc { get; }Gets a delegate function which indicates whether this back-off handler should handle an abnormal HTTP response. The default is DefaultHandleUnsuccessfulResponseFunc.
| Property Value | |
|---|---|
| Type | Description | 
FuncHttpResponseMessagebool | 
        |
MaxTimeSpan
public TimeSpan MaxTimeSpan { get; }Gets the maximum time span to wait. If the back-off instance returns a greater time span, the handle method
returns false. Default value is 16 seconds per a retry request.
| Property Value | |
|---|---|
| Type | Description | 
TimeSpan | 
        |
Methods
HandleExceptionAsync(HandleExceptionArgs)
public virtual Task<bool> HandleExceptionAsync(HandleExceptionArgs args)Handles an exception thrown when sending a HTTP request. 
A simple rule must be followed, if you modify the request object in a way that the exception can be 
resolved, you must return true.
| Parameter | |
|---|---|
| Name | Description | 
args | 
        HandleExceptionArgsHandle exception argument which properties such as the request, exception, current failed try.  | 
      
| Returns | |
|---|---|
| Type | Description | 
Taskbool | 
        Whether this handler has made a change that requires the request to be resent.  | 
      
HandleResponseAsync(HandleUnsuccessfulResponseArgs)
public virtual Task<bool> HandleResponseAsync(HandleUnsuccessfulResponseArgs args)Handles an abnormal response when sending a HTTP request. 
A simple rule must be followed, if you modify the request object in a way that the abnormal response can 
be resolved, you must return true.
| Parameter | |
|---|---|
| Name | Description | 
args | 
        HandleUnsuccessfulResponseArgsHandle response argument which contains properties such as the request, response, current failed try.  | 
      
| Returns | |
|---|---|
| Type | Description | 
Taskbool | 
        Whether this handler has made a change that requires the request to be resent.  | 
      
Wait(TimeSpan, CancellationToken)
protected virtual Task Wait(TimeSpan ts, CancellationToken cancellationToken)Waits the given time span. Overriding this method is recommended for mocking purposes.
| Parameters | |
|---|---|
| Name | Description | 
ts | 
        TimeSpanTimeSpan to wait (and block the current thread).  | 
      
cancellationToken | 
        CancellationTokenThe cancellation token in case the user wants to cancel the operation in the middle.  | 
      
| Returns | |
|---|---|
| Type | Description | 
Task | 
        |