Class HttpRequester
- java.lang.Object
-
- org.apache.hc.core5.http.impl.bootstrap.HttpRequester
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,ModalCloseable
,ConnPoolControl<HttpHost>
,ConnPoolStats<HttpHost>
public class HttpRequester extends java.lang.Object implements ConnPoolControl<HttpHost>, ModalCloseable
HTTP/1.1 client side message exchange initiator.- Since:
- 5.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
HttpRequester.PoolEntryHolder
-
Field Summary
Fields Modifier and Type Field Description private Resolver<HttpHost,java.net.InetSocketAddress>
addressResolver
private HttpConnectionFactory<? extends HttpClientConnection>
connectFactory
private ManagedConnPool<HttpHost,HttpClientConnection>
connPool
private HttpProcessor
httpProcessor
private HttpRequestExecutor
requestExecutor
private SocketConfig
socketConfig
private SSLSessionVerifier
sslSessionVerifier
private Callback<javax.net.ssl.SSLParameters>
sslSetupHandler
private javax.net.ssl.SSLSocketFactory
sslSocketFactory
-
Constructor Summary
Constructors Constructor Description HttpRequester(HttpRequestExecutor requestExecutor, HttpProcessor httpProcessor, ManagedConnPool<HttpHost,HttpClientConnection> connPool, SocketConfig socketConfig, HttpConnectionFactory<? extends HttpClientConnection> connectFactory, javax.net.ssl.SSLSocketFactory sslSocketFactory, Callback<javax.net.ssl.SSLParameters> sslSetupHandler, SSLSessionVerifier sslSessionVerifier, Resolver<HttpHost,java.net.InetSocketAddress> addressResolver)
UseRequesterBootstrap
to create instances of this class.
-
Method Summary
-
-
-
Field Detail
-
requestExecutor
private final HttpRequestExecutor requestExecutor
-
httpProcessor
private final HttpProcessor httpProcessor
-
connPool
private final ManagedConnPool<HttpHost,HttpClientConnection> connPool
-
socketConfig
private final SocketConfig socketConfig
-
connectFactory
private final HttpConnectionFactory<? extends HttpClientConnection> connectFactory
-
sslSocketFactory
private final javax.net.ssl.SSLSocketFactory sslSocketFactory
-
sslSetupHandler
private final Callback<javax.net.ssl.SSLParameters> sslSetupHandler
-
sslSessionVerifier
private final SSLSessionVerifier sslSessionVerifier
-
-
Constructor Detail
-
HttpRequester
@Internal public HttpRequester(HttpRequestExecutor requestExecutor, HttpProcessor httpProcessor, ManagedConnPool<HttpHost,HttpClientConnection> connPool, SocketConfig socketConfig, HttpConnectionFactory<? extends HttpClientConnection> connectFactory, javax.net.ssl.SSLSocketFactory sslSocketFactory, Callback<javax.net.ssl.SSLParameters> sslSetupHandler, SSLSessionVerifier sslSessionVerifier, Resolver<HttpHost,java.net.InetSocketAddress> addressResolver)
UseRequesterBootstrap
to create instances of this class.
-
-
Method Detail
-
getTotalStats
public PoolStats getTotalStats()
- Specified by:
getTotalStats
in interfaceConnPoolStats<HttpHost>
-
getStats
public PoolStats getStats(HttpHost route)
- Specified by:
getStats
in interfaceConnPoolStats<HttpHost>
-
setMaxTotal
public void setMaxTotal(int max)
- Specified by:
setMaxTotal
in interfaceConnPoolControl<HttpHost>
-
getMaxTotal
public int getMaxTotal()
- Specified by:
getMaxTotal
in interfaceConnPoolControl<HttpHost>
-
setDefaultMaxPerRoute
public void setDefaultMaxPerRoute(int max)
- Specified by:
setDefaultMaxPerRoute
in interfaceConnPoolControl<HttpHost>
-
getDefaultMaxPerRoute
public int getDefaultMaxPerRoute()
- Specified by:
getDefaultMaxPerRoute
in interfaceConnPoolControl<HttpHost>
-
setMaxPerRoute
public void setMaxPerRoute(HttpHost route, int max)
- Specified by:
setMaxPerRoute
in interfaceConnPoolControl<HttpHost>
-
getMaxPerRoute
public int getMaxPerRoute(HttpHost route)
- Specified by:
getMaxPerRoute
in interfaceConnPoolControl<HttpHost>
-
closeIdle
public void closeIdle(TimeValue idleTime)
- Specified by:
closeIdle
in interfaceConnPoolControl<HttpHost>
-
closeExpired
public void closeExpired()
- Specified by:
closeExpired
in interfaceConnPoolControl<HttpHost>
-
getRoutes
public java.util.Set<HttpHost> getRoutes()
- Specified by:
getRoutes
in interfaceConnPoolControl<HttpHost>
-
execute
public ClassicHttpResponse execute(HttpClientConnection connection, ClassicHttpRequest request, HttpResponseInformationCallback informationCallback, HttpContext context) throws HttpException, java.io.IOException
- Throws:
HttpException
java.io.IOException
-
execute
public ClassicHttpResponse execute(HttpClientConnection connection, ClassicHttpRequest request, HttpContext context) throws HttpException, java.io.IOException
- Throws:
HttpException
java.io.IOException
-
keepAlive
public boolean keepAlive(HttpClientConnection connection, ClassicHttpRequest request, ClassicHttpResponse response, HttpContext context) throws java.io.IOException
- Throws:
java.io.IOException
-
execute
public <T> T execute(HttpClientConnection connection, ClassicHttpRequest request, HttpContext context, HttpClientResponseHandler<T> responseHandler) throws HttpException, java.io.IOException
- Throws:
HttpException
java.io.IOException
-
createSocket
private java.net.Socket createSocket(HttpHost targetHost) throws java.io.IOException
- Throws:
java.io.IOException
-
execute
public ClassicHttpResponse execute(HttpHost targetHost, ClassicHttpRequest request, HttpResponseInformationCallback informationCallback, Timeout connectTimeout, HttpContext context) throws HttpException, java.io.IOException
- Throws:
HttpException
java.io.IOException
-
execute
public ClassicHttpResponse execute(HttpHost targetHost, ClassicHttpRequest request, Timeout connectTimeout, HttpContext context) throws HttpException, java.io.IOException
- Throws:
HttpException
java.io.IOException
-
execute
public <T> T execute(HttpHost targetHost, ClassicHttpRequest request, Timeout connectTimeout, HttpContext context, HttpClientResponseHandler<T> responseHandler) throws HttpException, java.io.IOException
- Throws:
HttpException
java.io.IOException
-
getConnPoolControl
public ConnPoolControl<HttpHost> getConnPoolControl()
-
close
public void close(CloseMode closeMode)
Description copied from interface:ModalCloseable
Closes this process or endpoint and releases any system resources associated with it. If the endpoint or the process is already closed then invoking this method has no effect.- Specified by:
close
in interfaceModalCloseable
- Parameters:
closeMode
- How to close the receiver.
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
-