public interface

NHttpRequestExecutionHandler

org.apache.http.nio.protocol.NHttpRequestExecutionHandler

Class Overview

HTTP request execution handler can be used by client-side protocol handlers to trigger the submission of a new HTTP request and the processing of an HTTP response. When a new response entity is available for consumption, responseEntity(HttpResponse, HttpContext) is called. After the ConsumingNHttpEntity consumes the response body, handleResponse(HttpResponse, HttpContext) is notified that the response is fully read.

Summary

Public Methods
abstract void finalizeContext(HttpContext context)
Triggered when the connection is terminated.
abstract void handleResponse(HttpResponse response, HttpContext context)
Triggered when an HTTP response is ready to be processed.
abstract void initalizeContext(HttpContext context, Object attachment)
Triggered when a new connection has been established and the HTTP context needs to be initialized.
abstract ConsumingNHttpEntity responseEntity(HttpResponse response, HttpContext context)
Triggered when a response is received with an entity.
abstract HttpRequest submitRequest(HttpContext context)
Triggered when the underlying connection is ready to send a new HTTP request to the target host.

Public Methods

public abstract void finalizeContext (HttpContext context)

Triggered when the connection is terminated. This event can be used to release objects stored in the context or perform some other kind of cleanup.

Parameters
context the actual HTTP context

public abstract void handleResponse (HttpResponse response, HttpContext context)

Triggered when an HTTP response is ready to be processed.

Parameters
response the HTTP response to be processed
context the actual HTTP context
Throws
IOException

public abstract void initalizeContext (HttpContext context, Object attachment)

Triggered when a new connection has been established and the HTTP context needs to be initialized.

The attachment object is the same object which was passed to the connecting I/O reactor when the connection request was made. The attachment may optionally contain some state information required in order to correctly initalize the HTTP context.

Parameters
context the actual HTTP context
attachment the object passed to the connecting I/O reactor upon the request for a new connection.

public abstract ConsumingNHttpEntity responseEntity (HttpResponse response, HttpContext context)

Triggered when a response is received with an entity. This method should return a ConsumingNHttpEntity that will be used to consume the entity. null is a valid response value, and will indicate that the entity should be silently ignored.

After the entity is fully consumed, handleResponse(HttpResponse, HttpContext) is called to notify a full response & entity are ready to be processed.

Parameters
response The response containing the existing entity.
context the actual HTTP context
Returns
  • An entity that will asynchronously consume the response's content body.
Throws
IOException

public abstract HttpRequest submitRequest (HttpContext context)

Triggered when the underlying connection is ready to send a new HTTP request to the target host. This method may return null if the client is not yet ready to send a request. In this case the connection will remain open and can be activated at a later point.

If the request has an entity, the entity must be an instance of ProducingNHttpEntity.

Parameters
context the actual HTTP context
Returns
  • an HTTP request to be sent or null if no request needs to be sent