org.apache.http.impl.execchain
Class ProtocolExec

java.lang.Object
  extended by org.apache.http.impl.execchain.ProtocolExec
All Implemented Interfaces:
ClientExecChain

@Contract(threading=IMMUTABLE_CONDITIONAL)
public class ProtocolExec
extends Object
implements ClientExecChain

Request executor in the request execution chain that is responsible for implementation of HTTP specification requirements. Internally this executor relies on a HttpProcessor to populate requisite HTTP request headers, process HTTP response headers and update session state in HttpClientContext.

Further responsibilities such as communication with the opposite endpoint is delegated to the next executor in the request execution chain.

Since:
4.3

Constructor Summary
ProtocolExec(ClientExecChain requestExecutor, org.apache.http.protocol.HttpProcessor httpProcessor)
           
 
Method Summary
 CloseableHttpResponse execute(HttpRoute route, HttpRequestWrapper request, HttpClientContext context, HttpExecutionAware execAware)
          Executes th request either by transmitting it to the target server or by passing it onto the next executor in the request execution chain.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProtocolExec

public ProtocolExec(ClientExecChain requestExecutor,
                    org.apache.http.protocol.HttpProcessor httpProcessor)
Method Detail

execute

public CloseableHttpResponse execute(HttpRoute route,
                                     HttpRequestWrapper request,
                                     HttpClientContext context,
                                     HttpExecutionAware execAware)
                              throws IOException,
                                     org.apache.http.HttpException
Description copied from interface: ClientExecChain
Executes th request either by transmitting it to the target server or by passing it onto the next executor in the request execution chain.

Specified by:
execute in interface ClientExecChain
Parameters:
route - connection route.
request - current request.
context - current HTTP context.
execAware - receiver of notifications of blocking I/O operations.
Returns:
HTTP response either received from the opposite endpoint or generated locally.
Throws:
IOException - in case of a I/O error. (this type of exceptions are potentially recoverable).
org.apache.http.HttpException - in case of an HTTP protocol error (usually this type of exceptions are non-recoverable).


Copyright © 1999–2019 The Apache Software Foundation. All rights reserved.