org.apache.http.impl.client

## Class DefaultHttpRequestRetryHandler

- java.lang.Object
- - org.apache.http.impl.client.DefaultHttpRequestRetryHandler

All Implemented Interfaces:
  HttpRequestRetryHandler

Direct Known Subclasses:
  StandardHttpRequestRetryHandler

    @Contract(threading=IMMUTABLE)
    public class DefaultHttpRequestRetryHandler
    extends Object
    implements HttpRequestRetryHandler

The default `HttpRequestRetryHandler` used by request executors.

Since:
  4.0

### Field Summary

Fields
`static DefaultHttpRequestRetryHandler` `INSTANCE`

### Constructor Summary

Constructors
`` `DefaultHttpRequestRetryHandler()` Create the request retry handler with a retry count of 3, requestSentRetryEnabled false and using the following list of non-retriable IOException classes: InterruptedIOException UnknownHostException ConnectException SSLException
`` `DefaultHttpRequestRetryHandler(int retryCount, boolean requestSentRetryEnabled)` Create the request retry handler using the following list of non-retriable IOException classes: InterruptedIOException UnknownHostException ConnectException SSLException
`protected` `DefaultHttpRequestRetryHandler(int retryCount, boolean requestSentRetryEnabled, Collection<Class<? extends IOException>> clazzes)` Create the request retry handler using the specified IOException classes

### Method Summary

Methods
`int` `getRetryCount()`
`protected boolean` `handleAsIdempotent(org.apache.http.HttpRequest request)`
`boolean` `isRequestSentRetryEnabled()`
`protected boolean` `requestIsAborted(org.apache.http.HttpRequest request)` Deprecated. (4.3)
`boolean` `retryRequest(IOException exception, int executionCount, org.apache.http.protocol.HttpContext context)` Used `retryCount` and `requestSentRetryEnabled` to determine if the given method should be retried.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### INSTANCE

    public static final DefaultHttpRequestRetryHandler INSTANCE

### Constructor Detail

#### DefaultHttpRequestRetryHandler

    protected DefaultHttpRequestRetryHandler(int retryCount,
                                  boolean requestSentRetryEnabled,
                                  Collection<Class<? extends IOException>> clazzes)

Create the request retry handler using the specified IOException classes

Parameters:
  `retryCount` - how many times to retry; 0 means no retries
  `requestSentRetryEnabled` - true if it's OK to retry requests that have been sent
  `clazzes` - the IOException types that should not be retried
Since:
  4.3

#### DefaultHttpRequestRetryHandler

    public DefaultHttpRequestRetryHandler(int retryCount,
                                  boolean requestSentRetryEnabled)

Create the request retry handler using the following list of non-retriable IOException classes:

- InterruptedIOException
- UnknownHostException
- ConnectException
- SSLException

Parameters:
  `retryCount` - how many times to retry; 0 means no retries
  `requestSentRetryEnabled` - true if it's OK to retry non-idempotent requests that have been sent

#### DefaultHttpRequestRetryHandler

    public DefaultHttpRequestRetryHandler()

Create the request retry handler with a retry count of 3, requestSentRetryEnabled false and using the following list of non-retriable IOException classes:

- InterruptedIOException
- UnknownHostException
- ConnectException
- SSLException

### Method Detail

#### retryRequest

    public boolean retryRequest(IOException exception,
                       int executionCount,
                       org.apache.http.protocol.HttpContext context)

Used `retryCount` and `requestSentRetryEnabled` to determine if the given method should be retried.

Specified by:
  `retryRequest` in interface `HttpRequestRetryHandler`
Parameters:
  `exception` - the exception that occurred
  `executionCount` - the number of times this method has been unsuccessfully executed
  `context` - the context for the request execution
Returns:
  `true` if the method should be retried, `false` otherwise

#### isRequestSentRetryEnabled

    public boolean isRequestSentRetryEnabled()

Returns:
  `true` if this handler will retry methods that have successfully sent their request, `false` otherwise

#### getRetryCount

    public int getRetryCount()

Returns:
  the maximum number of times a method will be retried

#### handleAsIdempotent

    protected boolean handleAsIdempotent(org.apache.http.HttpRequest request)

Since:
  4.2

#### requestIsAborted

    @Deprecated
    protected boolean requestIsAborted(org.apache.http.HttpRequest request)

Deprecated. (4.3)

Since:
  4.2