Class AsyncProtocolExec
java.lang.Object
org.apache.hc.client5.http.impl.async.AsyncProtocolExec
- All Implemented Interfaces:
AsyncExecChainHandler
@Contract(threading=STATELESS)
@Internal
public final class AsyncProtocolExec
extends Object
implements AsyncExecChainHandler
Request execution handler in the asynchronous 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:
- 5.0
-
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
ConstructorsConstructorDescriptionAsyncProtocolExec
(AuthenticationStrategy targetAuthStrategy, AuthenticationStrategy proxyAuthStrategy, SchemePortResolver schemePortResolver, boolean authCachingDisabled) -
Method Summary
Modifier and TypeMethodDescriptionvoid
execute
(org.apache.hc.core5.http.HttpRequest userRequest, org.apache.hc.core5.http.nio.AsyncEntityProducer entityProducer, AsyncExecChain.Scope scope, AsyncExecChain chain, AsyncExecCallback asyncExecCallback) Executes the actual HTTP request.private void
internalExecute
(org.apache.hc.core5.http.HttpHost target, String pathPrefix, AuthExchange targetAuthExchange, AuthExchange proxyAuthExchange, AtomicBoolean challenged, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.nio.AsyncEntityProducer entityProducer, AsyncExecChain.Scope scope, AsyncExecChain chain, AsyncExecCallback asyncExecCallback) 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
-
AsyncProtocolExec
AsyncProtocolExec(AuthenticationStrategy targetAuthStrategy, AuthenticationStrategy proxyAuthStrategy, SchemePortResolver schemePortResolver, boolean authCachingDisabled)
-
-
Method Details
-
execute
public void execute(org.apache.hc.core5.http.HttpRequest userRequest, org.apache.hc.core5.http.nio.AsyncEntityProducer entityProducer, AsyncExecChain.Scope scope, AsyncExecChain chain, AsyncExecCallback asyncExecCallback) throws org.apache.hc.core5.http.HttpException, IOException Description copied from interface:AsyncExecChainHandler
Executes the actual HTTP request. The handler can choose to return a response message immediately inside the call or asynchronously at some later point or delegate request execution to the next element in the execution chain.- Specified by:
execute
in interfaceAsyncExecChainHandler
- Parameters:
userRequest
- the actual request.entityProducer
- the request entity producer ornull
if the request does not enclose an entity.scope
- the execution scope .chain
- the next element in the request execution chain.asyncExecCallback
- the execution callback.- Throws:
org.apache.hc.core5.http.HttpException
IOException
-
internalExecute
private void internalExecute(org.apache.hc.core5.http.HttpHost target, String pathPrefix, AuthExchange targetAuthExchange, AuthExchange proxyAuthExchange, AtomicBoolean challenged, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.nio.AsyncEntityProducer entityProducer, AsyncExecChain.Scope scope, AsyncExecChain chain, AsyncExecCallback asyncExecCallback) throws org.apache.hc.core5.http.HttpException, IOException - Throws:
org.apache.hc.core5.http.HttpException
IOException
-
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)
-