org.apache.hc.client5.http.impl.sync

## Class AbstractResponseHandler<T>

- java.lang.Object
- - org.apache.hc.client5.http.impl.sync.AbstractResponseHandler<T>

All Implemented Interfaces:
  ResponseHandler<T>

Direct Known Subclasses:
  BasicResponseHandler

    @Immutable
    public abstract class AbstractResponseHandler<T>
    extends Object
    implements ResponseHandler<T>

A generic `ResponseHandler` that works with the response entity for successful (2xx) responses. If the response code was >= 300, the response body is consumed and an `HttpResponseException` is thrown.

If this is used with `HttpClient.execute( org.apache.hc.client5.http.methods.HttpUriRequest, ResponseHandler)`, HttpClient may handle redirects (3xx responses) internally.

Since:
  4.4

### Constructor Summary

Constructors
Constructor and Description
`AbstractResponseHandler()`

### Method Summary

Methods
`abstract T` `handleEntity(org.apache.hc.core5.http.HttpEntity entity)` Handle the response entity and transform it into the actual response object.
`T` `handleResponse(org.apache.hc.core5.http.HttpResponse response)` Read the entity from the response body and pass it to the entity handler method if the response was successful (a 2xx status code).

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

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

### Constructor Detail

#### AbstractResponseHandler

    public AbstractResponseHandler()

### Method Detail

#### handleResponse

    public T handleResponse(org.apache.hc.core5.http.HttpResponse response)
                     throws IOException

Read the entity from the response body and pass it to the entity handler method if the response was successful (a 2xx status code). If no response body exists, this returns null. If the response was unsuccessful (>= 300 status code), throws an `HttpResponseException`.

Specified by:
  `handleResponse` in interface `ResponseHandler<T>`
Parameters:
  `response` - The response to process
Returns:
  A value determined by the response
Throws:
  `IOException` - in case of a problem or the connection was aborted

#### handleEntity

    public abstract T handleEntity(org.apache.hc.core5.http.HttpEntity entity)
                            throws IOException

Handle the response entity and transform it into the actual response object.

Throws:
  `IOException`