Class ProtocolExec
- java.lang.Object
-
- org.apache.hc.client5.http.impl.classic.ProtocolExec
-
- All Implemented Interfaces:
ExecChainHandler
@Contract(threading=STATELESS) @Internal public final class ProtocolExec extends java.lang.Object implements ExecChainHandler
Request execution handler in the classic request execution chain that is responsible for implementation of HTTP specification requirements.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 AuthCacheKeeper
authCacheKeeper
private HttpAuthenticator
authenticator
private static org.slf4j.Logger
LOG
private AuthenticationStrategy
proxyAuthStrategy
private SchemePortResolver
schemePortResolver
private AuthenticationStrategy
targetAuthStrategy
-
Constructor Summary
Constructors Constructor Description ProtocolExec(AuthenticationStrategy targetAuthStrategy, AuthenticationStrategy proxyAuthStrategy, SchemePortResolver schemePortResolver, boolean authCachingDisabled)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.hc.core5.http.ClassicHttpResponse
execute(org.apache.hc.core5.http.ClassicHttpRequest userRequest, ExecChain.Scope scope, ExecChain chain)
Executes the actual HTTP request.private boolean
needAuthentication(AuthExchange targetAuthExchange, AuthExchange proxyAuthExchange, org.apache.hc.core5.http.HttpHost proxy, org.apache.hc.core5.http.HttpHost target, java.lang.String pathPrefix, org.apache.hc.core5.http.HttpResponse response, HttpClientContext context)
-
-
-
Field Detail
-
LOG
private static final org.slf4j.Logger LOG
-
targetAuthStrategy
private final AuthenticationStrategy targetAuthStrategy
-
proxyAuthStrategy
private final AuthenticationStrategy proxyAuthStrategy
-
authenticator
private final HttpAuthenticator authenticator
-
schemePortResolver
private final SchemePortResolver schemePortResolver
-
authCacheKeeper
private final AuthCacheKeeper authCacheKeeper
-
-
Constructor Detail
-
ProtocolExec
public ProtocolExec(AuthenticationStrategy targetAuthStrategy, AuthenticationStrategy proxyAuthStrategy, SchemePortResolver schemePortResolver, boolean authCachingDisabled)
-
-
Method Detail
-
execute
public org.apache.hc.core5.http.ClassicHttpResponse execute(org.apache.hc.core5.http.ClassicHttpRequest userRequest, 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:
userRequest
- 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
-
needAuthentication
private boolean needAuthentication(AuthExchange targetAuthExchange, AuthExchange proxyAuthExchange, org.apache.hc.core5.http.HttpHost proxy, org.apache.hc.core5.http.HttpHost target, java.lang.String pathPrefix, org.apache.hc.core5.http.HttpResponse response, HttpClientContext context)
-
-