Interface StreamingHttpClient
-
- All Superinterfaces:
AsyncCloseable,java.lang.AutoCloseable,FilterableStreamingHttpClient,GracefulAutoCloseable,ListenableAsyncCloseable,StreamingHttpRequester,StreamingHttpRequestFactory
public interface StreamingHttpClient extends FilterableStreamingHttpClient, GracefulAutoCloseable
The equivalent ofHttpClientbut that acceptsStreamingHttpRequestand returnsStreamingHttpResponse.
-
-
Method Summary
-
Methods inherited from interface io.servicetalk.concurrent.api.AsyncCloseable
closeAsync, closeAsyncGracefully
-
Methods inherited from interface io.servicetalk.concurrent.api.ListenableAsyncCloseable
onClose
-
Methods inherited from interface io.servicetalk.http.api.StreamingHttpRequester
executionContext, httpResponseFactory, request
-
-
-
-
Method Detail
-
request
Single<StreamingHttpResponse> request(StreamingHttpRequest request)
Send arequest.- Parameters:
request- the request to send.- Returns:
- The response.
-
reserveConnection
Single<ReservedStreamingHttpConnection> reserveConnection(HttpRequestMetaData metaData)
Reserve aStreamingHttpConnectionbased on providedHttpRequestMetaData.- Parameters:
metaData- Allows the underlying layers to know whatStreamingHttpConnections are valid to reserve for futurerequestswith the sameHttpRequestMetaData. For example this may provide some insight into shard or other info.- Returns:
- a
Singlethat provides theReservedStreamingHttpConnectionupon completion.
-
reserveConnection
Single<ReservedStreamingHttpConnection> reserveConnection(HttpExecutionStrategy strategy, HttpRequestMetaData metaData)
Description copied from interface:FilterableStreamingHttpClientReserve aStreamingHttpConnectionbased on providedHttpRequestMetaData.- Specified by:
reserveConnectionin interfaceFilterableStreamingHttpClient- Parameters:
strategy-HttpExecutionStrategyto use.metaData- Allows the underlying layers to know whatStreamingHttpConnections are valid to reserve for futurerequestswith the sameHttpRequestMetaData. For example this may provide some insight into shard or other info.- Returns:
- a
Singlethat provides theReservedStreamingHttpConnectionupon completion.
-
asClient
HttpClient asClient()
Convert thisStreamingHttpClientto theHttpClientAPI.This API is provided for convenience. It is recommended that filters are implemented using the
StreamingHttpClientasynchronous API for maximum portability.- Returns:
- a
HttpClientrepresentation of thisStreamingHttpRequester.
-
asBlockingStreamingClient
BlockingStreamingHttpClient asBlockingStreamingClient()
Convert thisStreamingHttpClientto theBlockingStreamingHttpClientAPI.This API is provided for convenience for a more familiar sequential programming model. It is recommended that filters are implemented using the
StreamingHttpClientasynchronous API for maximum portability.- Returns:
- a
BlockingStreamingHttpClientrepresentation of thisStreamingHttpClient.
-
asBlockingClient
BlockingHttpClient asBlockingClient()
Convert thisStreamingHttpClientto theBlockingHttpClientAPI.This API is provided for convenience for a more familiar sequential programming model. It is recommended that filters are implemented using the
StreamingHttpClientasynchronous API for maximum portability.- Returns:
- a
BlockingHttpClientrepresentation of thisStreamingHttpClient.
-
close
default void close() throws java.lang.Exception- Specified by:
closein interfacejava.lang.AutoCloseable- Throws:
java.lang.Exception
-
closeGracefully
default void closeGracefully() throws java.lang.ExceptionDescription copied from interface:GracefulAutoCloseableUsed to close/shutdown a resource, similar toAutoCloseable.close(), but attempts to cleanup state before abruptly closing. This provides a hint that implementations can use to stop accepting new work and finish in flight work. This method is implemented on a "best effort" basis and may be equivalent toAutoCloseable.close().Note: Implementations may or may not apply a timeout for this operation to complete, if a caller does not want to wait indefinitely, and are unsure if the implementation applies a timeout, it is advisable to apply a timeout and force a call to
AutoCloseable.close().- Specified by:
closeGracefullyin interfaceGracefulAutoCloseable- Throws:
java.lang.Exception- if graceful closure failed.
-
-