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 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
FieldsModifier and TypeFieldDescriptionprivate final AuthCacheKeeper
private final HttpAuthenticator
private static final org.slf4j.Logger
private final AuthenticationStrategy
private final SchemePortResolver
private final AuthenticationStrategy
-
Constructor Summary
ConstructorsConstructorDescriptionProtocolExec
(AuthenticationStrategy targetAuthStrategy, AuthenticationStrategy proxyAuthStrategy, SchemePortResolver schemePortResolver, boolean authCachingDisabled) -
Method Summary
Modifier and TypeMethodDescriptionorg.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, String pathPrefix, org.apache.hc.core5.http.HttpResponse response, HttpClientContext context)
-
Field Details
-
LOG
private static final org.slf4j.Logger LOG -
targetAuthStrategy
-
proxyAuthStrategy
-
authenticator
-
schemePortResolver
-
authCacheKeeper
-
-
Constructor Details
-
ProtocolExec
public ProtocolExec(AuthenticationStrategy targetAuthStrategy, AuthenticationStrategy proxyAuthStrategy, SchemePortResolver schemePortResolver, boolean authCachingDisabled)
-
-
Method Details
-
execute
public org.apache.hc.core5.http.ClassicHttpResponse execute(org.apache.hc.core5.http.ClassicHttpRequest userRequest, 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:
userRequest
- the actual request.scope
- the execution scope .chain
- the next element in the request execution chain.- Throws:
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, String pathPrefix, org.apache.hc.core5.http.HttpResponse response, HttpClientContext context)
-