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 java.lang.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
Fields Modifier and Type Field Description private AuthCacheKeeper
authCacheKeeper
private HttpAuthenticator
authenticator
private static org.slf4j.Logger
LOG
private AuthenticationStrategy
proxyAuthStrategy
private org.apache.hc.core5.http.protocol.HttpProcessor
proxyHttpProcessor
private org.apache.hc.core5.http.ConnectionReuseStrategy
reuseStrategy
private HttpRouteDirector
routeDirector
-
Constructor Summary
Constructors Constructor Description ConnectExec(org.apache.hc.core5.http.ConnectionReuseStrategy reuseStrategy, org.apache.hc.core5.http.protocol.HttpProcessor proxyHttpProcessor, AuthenticationStrategy proxyAuthStrategy, SchemePortResolver schemePortResolver, boolean authCachingDisabled)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private boolean
createTunnelToProxy(HttpRoute route, int hop, HttpClientContext context)
Creates a tunnel to an intermediate proxy.private boolean
createTunnelToTarget(java.lang.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 Detail
-
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
private final AuthenticationStrategy proxyAuthStrategy
-
authenticator
private final HttpAuthenticator authenticator
-
authCacheKeeper
private final AuthCacheKeeper authCacheKeeper
-
routeDirector
private final HttpRouteDirector routeDirector
-
-
Constructor Detail
-
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 Detail
-
execute
public org.apache.hc.core5.http.ClassicHttpResponse execute(org.apache.hc.core5.http.ClassicHttpRequest request, ExecChain.Scope scope, ExecChain chain) throws java.io.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:
java.io.IOException
org.apache.hc.core5.http.HttpException
-
createTunnelToTarget
private boolean createTunnelToTarget(java.lang.String exchangeId, HttpRoute route, org.apache.hc.core5.http.HttpRequest request, ExecRuntime execRuntime, HttpClientContext context) throws org.apache.hc.core5.http.HttpException, java.io.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
java.io.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
-
-