Android

org.apache.http.protocol.HttpRequestExecutor

java.lang.Object
org.apache.http.protocol.HttpRequestExecutor

Sends HTTP requests and receives the responses. Takes care of request preprocessing and response postprocessing by the respective interceptors.

Summary

Public Constructors

            HttpRequestExecutor()
Create a new request executor.

Public Methods

          HttpResponse  execute(HttpRequest request, HttpClientConnection conn, HttpContext context)
Synchronously send a request and obtain the response.
          void  postProcess(HttpResponse response, HttpProcessor processor, HttpContext context)
Finish a response.
          void  preProcess(HttpRequest request, HttpProcessor processor, HttpContext context)
Prepare a request for sending.

Protected Methods

          boolean  canResponseHaveBody(HttpRequest request, HttpResponse response)
Decide whether a response comes with an entity.
          HttpResponse  doReceiveResponse(HttpRequest request, HttpClientConnection conn, HttpContext context)
Wait for and receive a response.
          HttpResponse  doSendRequest(HttpRequest request, HttpClientConnection conn, HttpContext context)
Send a request over a connection.
Methods inherited from class java.lang.Object

Details

Public Constructors

public HttpRequestExecutor()

Create a new request executor.

Public Methods

public HttpResponse execute(HttpRequest request, HttpClientConnection conn, HttpContext context)

Synchronously send a request and obtain the response.

Parameters

request the request to send. It will be preprocessed.
conn the open connection over which to send

Returns

  • the response to the request, postprocessed

Throws

HttpException in case of a protocol or processing problem
IOException in case of an I/O problem

public void postProcess(HttpResponse response, HttpProcessor processor, HttpContext context)

Finish a response. This includes post-processing of the response object. It does not read the response entity, if any. It does not allow for immediate re-use of the connection over which the response is coming in.

Parameters

response the response object to finish
processor the processor to use
context the context for post-processing the response

Throws

HttpException in case of a protocol or processing problem
IOException in case of an I/O problem

public void preProcess(HttpRequest request, HttpProcessor processor, HttpContext context)

Prepare a request for sending.

Parameters

request the request to prepare
processor the processor to use
context the context for sending the request

Throws

HttpException in case of a protocol or processing problem
IOException in case of an I/O problem

Protected Methods

protected boolean canResponseHaveBody(HttpRequest request, HttpResponse response)

Decide whether a response comes with an entity. The implementation in this class is based on RFC 2616. Unknown methods and response codes are supposed to indicate responses with an entity.
Derived executors can override this method to handle methods and response codes not specified in RFC 2616.

Parameters

request the request, to obtain the executed method
response the response, to obtain the status code

protected HttpResponse doReceiveResponse(HttpRequest request, HttpClientConnection conn, HttpContext context)

Wait for and receive a response. This method will automatically ignore intermediate responses with status code 1xx.

Parameters

request the request for which to obtain the response
conn the connection over which the request was sent
context the context for receiving the response

Returns

  • the final response, not yet post-processed

Throws

HttpException in case of a protocol or processing problem
IOException in case of an I/O problem

protected HttpResponse doSendRequest(HttpRequest request, HttpClientConnection conn, HttpContext context)

Send a request over a connection. This method also handles the expect-continue handshake if necessary. If it does not have to handle an expect-continue handshake, it will not use the connection for reading or anything else that depends on data coming in over the connection.

Parameters

request the request to send, already preprocessed
conn the connection over which to send the request, already established
context the context for sending the request

Returns

  • a terminal response received as part of an expect-continue handshake, or null if the expect-continue handshake is not used

Throws

HttpException in case of a protocol or processing problem
IOException in case of an I/O problem
Copyright 2007 Google Inc. Build 0.9_r1-98467 - 14 Aug 2008 18:48