Interface StreamingHttpClient
- All Superinterfaces:
AsyncCloseable
,AutoCloseable
,FilterableStreamingHttpClient
,GracefulAutoCloseable
,ListenableAsyncCloseable
,StreamingHttpRequester
,StreamingHttpRequestFactory
HttpClient
but that accepts StreamingHttpRequest
and returns
StreamingHttpResponse
.-
Method Summary
Modifier and TypeMethodDescriptionConvert thisStreamingHttpClient
to theBlockingHttpClient
API.Convert thisStreamingHttpClient
to theBlockingStreamingHttpClient
API.asClient()
Convert thisStreamingHttpClient
to theHttpClient
API.default void
close()
default void
Used to close/shutdown a resource, similar toAutoCloseable.close()
, but attempts to cleanup state before abruptly closing.reserveConnection
(HttpRequestMetaData metaData) Reserve aStreamingHttpConnection
based on providedHttpRequestMetaData
.Methods inherited from interface io.servicetalk.concurrent.api.AsyncCloseable
closeAsync, closeAsyncGracefully
Methods inherited from interface io.servicetalk.concurrent.api.ListenableAsyncCloseable
onClose, onClosing
Methods inherited from interface io.servicetalk.http.api.StreamingHttpRequester
executionContext, httpResponseFactory, request
-
Method Details
-
reserveConnection
Reserve aStreamingHttpConnection
based on providedHttpRequestMetaData
.If a new connection should be opened instead of potentially reusing an already established one, the
HttpContextKeys.HTTP_FORCE_NEW_CONNECTION
must be set.- Specified by:
reserveConnection
in interfaceFilterableStreamingHttpClient
- Parameters:
metaData
- Allows the underlying layers to know whatStreamingHttpConnection
s are valid to reserve for futurerequests
with the sameHttpRequestMetaData
. For example this may provide some insight into shard or other info.- Returns:
- a
Single
that provides theReservedStreamingHttpConnection
upon completion. - See Also:
-
asClient
HttpClient asClient()Convert thisStreamingHttpClient
to theHttpClient
API.This API is provided for convenience. It is recommended that filters are implemented using the
StreamingHttpClient
asynchronous API for maximum portability.- Returns:
- a
HttpClient
representation of thisStreamingHttpRequester
.
-
asBlockingStreamingClient
BlockingStreamingHttpClient asBlockingStreamingClient()Convert thisStreamingHttpClient
to theBlockingStreamingHttpClient
API.This API is provided for convenience for a more familiar sequential programming model. It is recommended that filters are implemented using the
StreamingHttpClient
asynchronous API for maximum portability.- Returns:
- a
BlockingStreamingHttpClient
representation of thisStreamingHttpClient
.
-
asBlockingClient
BlockingHttpClient asBlockingClient()Convert thisStreamingHttpClient
to theBlockingHttpClient
API.This API is provided for convenience for a more familiar sequential programming model. It is recommended that filters are implemented using the
StreamingHttpClient
asynchronous API for maximum portability.- Returns:
- a
BlockingHttpClient
representation of thisStreamingHttpClient
.
-
close
- Specified by:
close
in interfaceAutoCloseable
- Throws:
Exception
-
closeGracefully
Description copied from interface:GracefulAutoCloseable
Used 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:
closeGracefully
in interfaceGracefulAutoCloseable
- Throws:
Exception
- if graceful closure failed.
-