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 AuthCacheKeeper
private final HttpAuthenticator
private static final org.slf4j.Logger
private final AuthenticationStrategy
private final org.apache.hc.core5.http.protocol.HttpProcessor
private final org.apache.hc.core5.http.ConnectionReuseStrategy
private 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 boolean
createTunnelToProxy
(HttpRoute route, int hop, HttpClientContext context) Creates a tunnel to an intermediate proxy.private boolean
createTunnelToTarget
(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.ClassicHttpResponse
execute
(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:ExecChainHandler
Executes 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:
execute
in interfaceExecChainHandler
- Parameters:
request
- the actual request.scope
- the execution scope .chain
- the next element in the request execution chain.- Throws:
IOException
org.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.HttpException
IOException
-
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
-