Interface StreamingHttpClient
-
- All Superinterfaces:
java.lang.AutoCloseable,java.io.Closeable,HttpClient,io.micronaut.context.LifeCycle<HttpClient>
public interface StreamingHttpClient extends HttpClient
Extended version of theHttpClientthat supports streaming responses.- Since:
- 1.0
-
-
Field Summary
-
Fields inherited from interface io.micronaut.http.client.HttpClient
DEFAULT_ERROR_TYPE
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description static StreamingHttpClientcreate(java.net.URL url)Create a newStreamingHttpClient.static StreamingHttpClientcreate(java.net.URL url, HttpClientConfiguration configuration)Create a newStreamingHttpClientwith the specified configuration.<I> org.reactivestreams.Publisher<io.micronaut.core.io.buffer.ByteBuffer<?>>dataStream(io.micronaut.http.HttpRequest<I> request)Request a stream of data where each emitted item is aByteBufferinstance.<I> org.reactivestreams.Publisher<io.micronaut.core.io.buffer.ByteBuffer<?>>dataStream(io.micronaut.http.HttpRequest<I> request, io.micronaut.core.type.Argument<?> errorType)Request a stream of data where each emitted item is aByteBufferinstance.<I> org.reactivestreams.Publisher<io.micronaut.http.HttpResponse<io.micronaut.core.io.buffer.ByteBuffer<?>>>exchangeStream(io.micronaut.http.HttpRequest<I> request)Requests a stream data where each emitted item is aByteBufferwrapped in theHttpResponseobject (which remains the same for each emitted item).<I> org.reactivestreams.Publisher<io.micronaut.http.HttpResponse<io.micronaut.core.io.buffer.ByteBuffer<?>>>exchangeStream(io.micronaut.http.HttpRequest<I> request, io.micronaut.core.type.Argument<?> errorType)Requests a stream data where each emitted item is aByteBufferwrapped in theHttpResponseobject (which remains the same for each emitted item).<I> org.reactivestreams.Publisher<java.util.Map<java.lang.String,java.lang.Object>>jsonStream(io.micronaut.http.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(io.micronaut.http.HttpRequest<I> request, io.micronaut.core.type.Argument<O> type)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(io.micronaut.http.HttpRequest<I> request, io.micronaut.core.type.Argument<O> type, io.micronaut.core.type.Argument<?> errorType)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(io.micronaut.http.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.
-
-
-
Method Detail
-
dataStream
<I> org.reactivestreams.Publisher<io.micronaut.core.io.buffer.ByteBuffer<?>> dataStream(@NonNull io.micronaut.http.HttpRequest<I> request)Request a stream of data where each emitted item is aByteBufferinstance.- Type Parameters:
I- The request body type- Parameters:
request- The request- Returns:
- A
Publisherthat emits a stream ofByteBufferinstances
-
dataStream
<I> org.reactivestreams.Publisher<io.micronaut.core.io.buffer.ByteBuffer<?>> dataStream(@NonNull io.micronaut.http.HttpRequest<I> request, @NonNull io.micronaut.core.type.Argument<?> errorType)Request a stream of data where each emitted item is aByteBufferinstance.- Type Parameters:
I- The request body type- Parameters:
request- The requesterrorType- The type that the response body should be coerced into if the server responds with an error- Returns:
- A
Publisherthat emits a stream ofByteBufferinstances - Since:
- 3.1.0
-
exchangeStream
<I> org.reactivestreams.Publisher<io.micronaut.http.HttpResponse<io.micronaut.core.io.buffer.ByteBuffer<?>>> exchangeStream(@NonNull io.micronaut.http.HttpRequest<I> request)Requests a stream data where each emitted item is aByteBufferwrapped in theHttpResponseobject (which remains the same for each emitted item).- Type Parameters:
I- The request body type- Parameters:
request- TheHttpRequest- Returns:
- A
Publisherthat emits a stream ofByteBufferinstances wrapped by aHttpResponse
-
exchangeStream
<I> org.reactivestreams.Publisher<io.micronaut.http.HttpResponse<io.micronaut.core.io.buffer.ByteBuffer<?>>> exchangeStream(@NonNull io.micronaut.http.HttpRequest<I> request, @NonNull io.micronaut.core.type.Argument<?> errorType)Requests a stream data where each emitted item is aByteBufferwrapped in theHttpResponseobject (which remains the same for each emitted item).- Type Parameters:
I- The request body type- Parameters:
request- TheHttpRequesterrorType- The type that the response body should be coerced into if the server responds with an error- Returns:
- A
Publisherthat emits a stream ofByteBufferinstances wrapped by aHttpResponse - Since:
- 3.1.0
-
jsonStream
<I> org.reactivestreams.Publisher<java.util.Map<java.lang.String,java.lang.Object>> jsonStream(@NonNull io.micronaut.http.HttpRequest<I> request)Perform an HTTP request and receive data as a stream of JSON objects as they become available without blocking.
The downstream
Subscribercan regulate demand via the subscription- Type Parameters:
I- The request body type- Parameters:
request- TheHttpRequestto execute- Returns:
- A
Publisherthat emits the fullHttpResponseobject
-
jsonStream
<I,O> org.reactivestreams.Publisher<O> jsonStream(@NonNull io.micronaut.http.HttpRequest<I> request, @NonNull io.micronaut.core.type.Argument<O> type)Perform an HTTP request and receive data as a stream of JSON objects as they become available without blocking.
The downstream
Subscribercan regulate demand via the subscription. Incoming data is buffered.- Type Parameters:
I- The request body typeO- The response type- Parameters:
request- TheHttpRequestto executetype- The type of object to convert the JSON into- Returns:
- A
Publisherthat emits the fullHttpResponseobject
-
jsonStream
<I,O> org.reactivestreams.Publisher<O> jsonStream(@NonNull io.micronaut.http.HttpRequest<I> request, @NonNull io.micronaut.core.type.Argument<O> type, @NonNull io.micronaut.core.type.Argument<?> errorType)Perform an HTTP request and receive data as a stream of JSON objects as they become available without blocking.
The downstream
Subscribercan regulate demand via the subscription. Incoming data is buffered.- Type Parameters:
I- The request body typeO- The response type- Parameters:
request- TheHttpRequestto executetype- The type of object to convert the JSON intoerrorType- The type that the response body should be coerced into if the server responds with an error- Returns:
- A
Publisherthat emits the fullHttpResponseobject - Since:
- 3.1.0
-
jsonStream
default <I,O> org.reactivestreams.Publisher<O> jsonStream(@NonNull io.micronaut.http.HttpRequest<I> request, @NonNull 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
Subscribercan regulate demand via the subscription- Type Parameters:
I- The request body typeO- The response type- Parameters:
request- TheHttpRequestto executetype- The type of object to convert the JSON into- Returns:
- A
Publisherthat emits the fullHttpResponseobject
-
create
static StreamingHttpClient create(@Nullable java.net.URL url)
Create a newStreamingHttpClient. Note that this method should only be used outside of the context of a Micronaut application. The returnedStreamingHttpClientis not subject to dependency injection. The creator is responsible for closing the client to avoid leaking connections. Within a Micronaut application useInjectto inject a client instead.- Parameters:
url- The base URL- Returns:
- The client
-
create
static StreamingHttpClient create(@Nullable java.net.URL url, @NonNull HttpClientConfiguration configuration)
Create a newStreamingHttpClientwith the specified configuration. Note that this method should only be used outside of the context of an application. Within Micronaut useInjectto inject a client instead- Parameters:
url- The base URLconfiguration- the client configuration- Returns:
- The client
- Since:
- 2.2.0
-
-