Class HttpRequestExecutor

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

@Contract(threading=IMMUTABLE) public class HttpRequestExecutor extends Object
HttpRequestExecutor is a client side HTTP protocol handler based on the blocking (classic) I/O model.

HttpRequestExecutor relies on HttpProcessor to generate mandatory protocol headers for all outgoing messages and apply common, cross-cutting message transformations to all incoming and outgoing messages. Application specific processing can be implemented outside HttpRequestExecutor once the request has been executed and a response has been received.

Since:
4.0
  • Field Details

    • DEFAULT_WAIT_FOR_CONTINUE

      public static final int DEFAULT_WAIT_FOR_CONTINUE
      See Also:
  • Constructor Details

    • HttpRequestExecutor

      public HttpRequestExecutor(int waitForContinue)
      Creates new instance of HttpRequestExecutor.
      Since:
      4.3
    • HttpRequestExecutor

      public HttpRequestExecutor()
  • Method Details

    • execute

      public HttpResponse execute(HttpRequest request, HttpClientConnection conn, HttpContext context) throws IOException, HttpException
      Sends the request and obtain a response.
      Parameters:
      request - the request to execute.
      conn - the connection over which to execute the request.
      Returns:
      the response to the request.
      Throws:
      IOException - in case of an I/O error.
      HttpException - in case of HTTP protocol violation or a processing problem.
    • preProcess

      public void preProcess(HttpRequest request, HttpProcessor processor, HttpContext context) throws HttpException, IOException
      Pre-process the given request using the given protocol processor and initiates the process of request execution.
      Parameters:
      request - the request to prepare
      processor - the processor to use
      context - the context for sending the request
      Throws:
      IOException - in case of an I/O error.
      HttpException - in case of HTTP protocol violation or a processing problem.
    • postProcess

      public void postProcess(HttpResponse response, HttpProcessor processor, HttpContext context) throws HttpException, IOException
      Post-processes the given response using the given protocol processor and completes the process of request execution.

      This method does not read the response entity, if any. The connection over which content of the response entity is being streamed from cannot be reused until EntityUtils.consume(org.apache.http.HttpEntity) has been invoked.

      Parameters:
      response - the response object to post-process
      processor - the processor to use
      context - the context for post-processing the response
      Throws:
      IOException - in case of an I/O error.
      HttpException - in case of HTTP protocol violation or a processing problem.