Package org.apache.http.impl.execchain
Class ProtocolExec
- java.lang.Object
-
- org.apache.http.impl.execchain.ProtocolExec
-
- All Implemented Interfaces:
ClientExecChain
@Contract(threading=IMMUTABLE_CONDITIONAL) public class ProtocolExec extends java.lang.Object implements ClientExecChain
Request executor in the request execution chain that is responsible for implementation of HTTP specification requirements. Internally this executor relies on aHttpProcessorto populate requisite HTTP request headers, process HTTP response headers and update session state inHttpClientContext.Further responsibilities such as communication with the opposite endpoint is delegated to the next executor in the request execution chain.
- Since:
- 4.3
-
-
Field Summary
Fields Modifier and Type Field Description private org.apache.http.protocol.HttpProcessorhttpProcessorprivate org.apache.commons.logging.Loglogprivate ClientExecChainrequestExecutor
-
Constructor Summary
Constructors Constructor Description ProtocolExec(ClientExecChain requestExecutor, org.apache.http.protocol.HttpProcessor httpProcessor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CloseableHttpResponseexecute(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.(package private) voidrewriteRequestURI(HttpRequestWrapper request, HttpRoute route, boolean normalizeUri)
-
-
-
Field Detail
-
log
private final org.apache.commons.logging.Log log
-
requestExecutor
private final ClientExecChain requestExecutor
-
httpProcessor
private final org.apache.http.protocol.HttpProcessor httpProcessor
-
-
Constructor Detail
-
ProtocolExec
public ProtocolExec(ClientExecChain requestExecutor, org.apache.http.protocol.HttpProcessor httpProcessor)
-
-
Method Detail
-
rewriteRequestURI
void rewriteRequestURI(HttpRequestWrapper request, HttpRoute route, boolean normalizeUri) throws org.apache.http.ProtocolException
- Throws:
org.apache.http.ProtocolException
-
execute
public CloseableHttpResponse execute(HttpRoute route, HttpRequestWrapper request, HttpClientContext context, HttpExecutionAware execAware) throws java.io.IOException, org.apache.http.HttpException
Description copied from interface:ClientExecChainExecutes 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:
executein interfaceClientExecChain- 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:
java.io.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).
-
-