public interface HttpAsyncRequestProducer extends Closeable
resetRequest()
method, at which point request producers are
expected to release currently allocated resources that are no longer needed
or re-acquire resources needed to repeat the process.Modifier and Type | Method and Description |
---|---|
void |
failed(Exception ex)
Invoked to signal that the response processing terminated abnormally.
|
HttpRequest |
generateRequest()
Invoked to generate a HTTP request message head.
|
HttpHost |
getTarget()
Invoked to obtain the request target host.
|
boolean |
isRepeatable()
Determines whether or not this producer is capable of producing
HTTP request messages more than once.
|
void |
produceContent(ContentEncoder encoder,
IOControl ioctrl)
Invoked to write out a chunk of content to the
ContentEncoder . |
void |
requestCompleted(HttpContext context)
Invoked to signal that the request has been fully written out.
|
void |
resetRequest()
Invoked to reset the producer to its initial state.
|
HttpHost getTarget()
HttpRequest generateRequest() throws IOException, HttpException
HttpEntityEnclosingRequest
interface if it is
to enclose a content entity. The produceContent(ContentEncoder, IOControl)
method will not be invoked if HttpEntityEnclosingRequest.getEntity()
returns null
.HttpException
- in case of HTTP protocol violationIOException
- in case of an I/O errorvoid produceContent(ContentEncoder encoder, IOControl ioctrl) throws IOException
ContentEncoder
.
The IOControl
interface can be used to suspend output events
if the producer is temporarily unable to produce more content.
When all content is finished, the producer MUST call
ContentEncoder.complete()
. Failure to do so may cause the entity
to be incorrectly delimited.encoder
- content encoder.ioctrl
- I/O control of the underlying connection.IOException
- in case of an I/O errorvoid requestCompleted(HttpContext context)
context
- HTTP contextvoid failed(Exception ex)
ex
- exceptionboolean isRepeatable()
void resetRequest() throws IOException
IOException
- in case of an I/O errorCopyright © 2005-2012 The Apache Software Foundation. All Rights Reserved.