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 java.lang.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
Fields Modifier and Type Field Description private AuthCacheKeeperauthCacheKeeperprivate HttpAuthenticatorauthenticatorprivate static org.slf4j.LoggerLOGprivate AuthenticationStrategyproxyAuthStrategyprivate SchemePortResolverschemePortResolverprivate AuthenticationStrategytargetAuthStrategy
-
Constructor Summary
Constructors Constructor Description AsyncProtocolExec(AuthenticationStrategy targetAuthStrategy, AuthenticationStrategy proxyAuthStrategy, SchemePortResolver schemePortResolver, boolean authCachingDisabled)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidexecute(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 voidinternalExecute(org.apache.hc.core5.http.HttpHost target, java.lang.String pathPrefix, AuthExchange targetAuthExchange, AuthExchange proxyAuthExchange, java.util.concurrent.atomic.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 booleanneedAuthentication(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
-
AsyncProtocolExec
AsyncProtocolExec(AuthenticationStrategy targetAuthStrategy, AuthenticationStrategy proxyAuthStrategy, SchemePortResolver schemePortResolver, boolean authCachingDisabled)
-
-
Method Detail
-
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, java.io.IOExceptionDescription copied from interface:AsyncExecChainHandlerExecutes 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:
executein interfaceAsyncExecChainHandler- Parameters:
userRequest- the actual request.entityProducer- the request entity producer ornullif 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.HttpExceptionjava.io.IOException
-
internalExecute
private void internalExecute(org.apache.hc.core5.http.HttpHost target, java.lang.String pathPrefix, AuthExchange targetAuthExchange, AuthExchange proxyAuthExchange, java.util.concurrent.atomic.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, java.io.IOException- Throws:
org.apache.hc.core5.http.HttpExceptionjava.io.IOException
-
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)
-
-