Class ConnectExec
java.lang.Object
org.apache.hc.client5.http.impl.classic.ConnectExec
- All Implemented Interfaces:
ExecChainHandler
@Contract(threading=STATELESS)
@Internal
public final class ConnectExec
extends Object
implements ExecChainHandler
Request execution handler in the classic request execution chain
that is responsible for establishing connection to the target
origin server as specified by the current connection route.
- Since:
- 5.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AuthCacheKeeperprivate final HttpAuthenticatorprivate static final org.slf4j.Loggerprivate final AuthenticationStrategyprivate final org.apache.hc.core5.http.protocol.HttpProcessorprivate final org.apache.hc.core5.http.ConnectionReuseStrategyprivate final HttpRouteDirector -
Constructor Summary
ConstructorsConstructorDescriptionConnectExec(org.apache.hc.core5.http.ConnectionReuseStrategy reuseStrategy, org.apache.hc.core5.http.protocol.HttpProcessor proxyHttpProcessor, AuthenticationStrategy proxyAuthStrategy, SchemePortResolver schemePortResolver, boolean authCachingDisabled) -
Method Summary
Modifier and TypeMethodDescriptionprivate booleancreateTunnelToProxy(HttpRoute route, int hop, HttpClientContext context) Creates a tunnel to an intermediate proxy.private booleancreateTunnelToTarget(String exchangeId, HttpRoute route, org.apache.hc.core5.http.HttpRequest request, ExecRuntime execRuntime, HttpClientContext context) Creates a tunnel to the target server.org.apache.hc.core5.http.ClassicHttpResponseexecute(org.apache.hc.core5.http.ClassicHttpRequest request, ExecChain.Scope scope, ExecChain chain) Executes the actual HTTP request.
-
Field Details
-
LOG
private static final org.slf4j.Logger LOG -
reuseStrategy
private final org.apache.hc.core5.http.ConnectionReuseStrategy reuseStrategy -
proxyHttpProcessor
private final org.apache.hc.core5.http.protocol.HttpProcessor proxyHttpProcessor -
proxyAuthStrategy
-
authenticator
-
authCacheKeeper
-
routeDirector
-
-
Constructor Details
-
ConnectExec
public ConnectExec(org.apache.hc.core5.http.ConnectionReuseStrategy reuseStrategy, org.apache.hc.core5.http.protocol.HttpProcessor proxyHttpProcessor, AuthenticationStrategy proxyAuthStrategy, SchemePortResolver schemePortResolver, boolean authCachingDisabled)
-
-
Method Details
-
execute
public org.apache.hc.core5.http.ClassicHttpResponse execute(org.apache.hc.core5.http.ClassicHttpRequest request, ExecChain.Scope scope, ExecChain chain) throws IOException, org.apache.hc.core5.http.HttpException Description copied from interface:ExecChainHandlerExecutes the actual HTTP request. The handler can choose to return a response message or delegate request execution to the next element in the execution chain.- Specified by:
executein interfaceExecChainHandler- Parameters:
request- the actual request.scope- the execution scope .chain- the next element in the request execution chain.- Throws:
IOExceptionorg.apache.hc.core5.http.HttpException
-
createTunnelToTarget
private boolean createTunnelToTarget(String exchangeId, HttpRoute route, org.apache.hc.core5.http.HttpRequest request, ExecRuntime execRuntime, HttpClientContext context) throws org.apache.hc.core5.http.HttpException, IOException Creates a tunnel to the target server. The connection must be established to the (last) proxy. A CONNECT request for tunnelling through the proxy will be created and sent, the response received and checked. This method does not processChallenge the connection with information about the tunnel, that is left to the caller.- Throws:
org.apache.hc.core5.http.HttpExceptionIOException
-
createTunnelToProxy
private boolean createTunnelToProxy(HttpRoute route, int hop, HttpClientContext context) throws org.apache.hc.core5.http.HttpException Creates a tunnel to an intermediate proxy. This method is not implemented in this class. It just throws an exception here.- Throws:
org.apache.hc.core5.http.HttpException
-