org.apache.hc.client5.http.impl.classic

## Class RetryExec

- java.lang.Object
- - org.apache.hc.client5.http.impl.classic.RetryExec

All Implemented Interfaces:
  ExecChainHandler

    @Contract(threading=STATELESS)
    @Internal
    public final class RetryExec
    extends Object
    implements ExecChainHandler

Request execution handler in the classic request execution chain responsible for making a decision whether a request failed due to an I/O error should be re-executed.

Further responsibilities such as communication with the opposite endpoint is delegated to the next executor in the request execution chain.

Since:
  4.3

### Constructor Summary

Constructors
Constructor and Description
`RetryExec(HttpRequestRetryHandler retryHandler)`

### Method Summary

Methods
`ClassicHttpResponse` `execute(ClassicHttpRequest request, ExecChain.Scope scope, ExecChain chain)` Executes the actual HTTP request.

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

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

### Constructor Detail

#### RetryExec

    public RetryExec(HttpRequestRetryHandler retryHandler)

### Method Detail

#### execute

    public ClassicHttpResponse execute(ClassicHttpRequest request,
                              ExecChain.Scope scope,
                              ExecChain chain)
                                throws IOException,
                                       HttpException

Description copied from interface: `ExecChainHandler`
Executes the actual HTTP request. The handler can choose to return a response message or delegate request execution to the next element in the execution chain.

Specified by:
  `execute` in interface `ExecChainHandler`
Parameters:
  `request` - the actual request.
  `scope` - the execution scope .
  `chain` - the next element in the request execution chain.
Throws:
  `IOException`
  `HttpException`