public interface StreamingHttpClient extends HttpClient
HttpClient
that supports streaming responses.DEFAULT_ERROR_TYPE
Modifier and Type | Method and Description |
---|---|
static StreamingHttpClient |
create(java.net.URL url)
Create a new
StreamingHttpClient . |
static StreamingHttpClient |
create(java.net.URL url,
HttpClientConfiguration configuration)
Create a new
StreamingHttpClient with the specified configuration. |
<I> org.reactivestreams.Publisher<ByteBuffer<?>> |
dataStream(HttpRequest<I> request)
Request a stream of data where each emitted item is a
ByteBuffer instance. |
<I> org.reactivestreams.Publisher<HttpResponse<ByteBuffer<?>>> |
exchangeStream(HttpRequest<I> request)
Requests a stream data where each emitted item is a
ByteBuffer wrapped in the HttpResponse object
(which remains the same for each emitted item). |
<I> org.reactivestreams.Publisher<java.util.Map<java.lang.String,java.lang.Object>> |
jsonStream(HttpRequest<I> request)
Perform an HTTP request and receive data as a stream of JSON objects as they become available without blocking.
|
<I,O> org.reactivestreams.Publisher<O> |
jsonStream(HttpRequest<I> request,
Argument<O> type)
Perform an HTTP request and receive data as a stream of JSON objects as they become available without blocking.
|
default <I,O> org.reactivestreams.Publisher<O> |
jsonStream(HttpRequest<I> request,
java.lang.Class<O> type)
Perform an HTTP request and receive data as a stream of JSON objects as they become available without blocking.
|
<I> org.reactivestreams.Publisher<ByteBuffer<?>> dataStream(HttpRequest<I> request)
ByteBuffer
instance.I
- The request body typerequest
- The requestPublisher
that emits a stream of ByteBuffer
instances<I> org.reactivestreams.Publisher<HttpResponse<ByteBuffer<?>>> exchangeStream(HttpRequest<I> request)
ByteBuffer
wrapped in the HttpResponse
object
(which remains the same for each emitted item).I
- The request body typerequest
- The HttpRequest
Publisher
that emits a stream of ByteBuffer
instances wrapped by a HttpResponse
<I> org.reactivestreams.Publisher<java.util.Map<java.lang.String,java.lang.Object>> jsonStream(HttpRequest<I> request)
Perform an HTTP request and receive data as a stream of JSON objects as they become available without blocking.
The downstream Subscriber
can regulate demand via the subscription
I
- The request body typerequest
- The HttpRequest
to executePublisher
that emits the full HttpResponse
object<I,O> org.reactivestreams.Publisher<O> jsonStream(HttpRequest<I> request, Argument<O> type)
Perform an HTTP request and receive data as a stream of JSON objects as they become available without blocking.
The downstream Subscriber
can regulate demand via the subscription. Incoming data
is buffered.
I
- The request body typeO
- The response typerequest
- The HttpRequest
to executetype
- The type of object to convert the JSON intoPublisher
that emits the full HttpResponse
objectdefault <I,O> org.reactivestreams.Publisher<O> jsonStream(HttpRequest<I> request, java.lang.Class<O> type)
Perform an HTTP request and receive data as a stream of JSON objects as they become available without blocking.
The downstream Subscriber
can regulate demand via the subscription
I
- The request body typeO
- The response typerequest
- The HttpRequest
to executetype
- The type of object to convert the JSON intoPublisher
that emits the full HttpResponse
objectstatic StreamingHttpClient create(@Nullable java.net.URL url)
StreamingHttpClient
.
Note that this method should only be used outside of the context of a Micronaut application.
The returned StreamingHttpClient
is not subject to dependency injection.
The creator is responsible for closing the client to avoid leaking connections.
Within a Micronaut application use Inject
to inject a client instead.create
in interface HttpClient
url
- The base URLstatic StreamingHttpClient create(@Nullable java.net.URL url, HttpClientConfiguration configuration)
StreamingHttpClient
with the specified configuration. Note that this method should only be used
outside of the context of an application. Within Micronaut use Inject
to inject a client insteadcreate
in interface HttpClient
url
- The base URLconfiguration
- the client configuration