@Prototype
@Requires(classes=com.netflix.client.config.IClientConfig.class)
@Primary
@Replaces(value=io.micronaut.http.client.DefaultHttpClient.class)
public class RibbonRxHttpClient
extends io.micronaut.http.client.DefaultHttpClient
DefaultHttpClient adapted to Ribbon.| Constructor and Description |
|---|
RibbonRxHttpClient(io.micronaut.http.client.LoadBalancer loadBalancer,
io.micronaut.http.client.HttpClientConfiguration configuration,
java.lang.String contextPath,
io.micronaut.http.client.filter.HttpClientFilterResolver filterResolver,
java.util.concurrent.ThreadFactory threadFactory,
io.micronaut.http.client.ssl.NettyClientSslBuilder nettyClientSslBuilder,
io.micronaut.http.codec.MediaTypeCodecRegistry codecRegistry,
java.util.List<RibbonExecutionListenerAdapter> executionListeners)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected <O> com.netflix.loadbalancer.reactive.LoadBalancerCommand<O> |
buildLoadBalancerCommand()
Build the command using the load balancer builder.
|
protected void |
configure(io.micronaut.context.BeanContext beanContext) |
<I> io.reactivex.Flowable<io.micronaut.core.io.buffer.ByteBuffer<?>> |
dataStream(io.micronaut.http.HttpRequest<I> request) |
<I,O,E> io.reactivex.Flowable<io.micronaut.http.HttpResponse<O>> |
exchange(io.micronaut.http.HttpRequest<I> request,
io.micronaut.core.type.Argument<O> bodyType,
io.micronaut.core.type.Argument<E> errorType) |
<I> io.reactivex.Flowable<io.micronaut.http.HttpResponse<io.micronaut.core.io.buffer.ByteBuffer<?>>> |
exchangeStream(io.micronaut.http.HttpRequest<I> request) |
java.util.Optional<RibbonLoadBalancer> |
getLoadBalancer() |
<I,O> io.reactivex.Flowable<O> |
jsonStream(io.micronaut.http.HttpRequest<I> request,
io.micronaut.core.type.Argument<O> type) |
applyFilterToResponsePublisher, buildDataStreamPublisher, buildExchangePublisher, buildExchangeStreamPublisher, buildJsonStreamPublisher, buildNettyRequest, buildSslContext, buildStreamExchange, close, closeChannelAsync, configureProxy, configureProxy, connect, connect, createEventLoopGroup, doConnect, doConnect, doConnect, eventStream, eventStream, getConfiguration, getLoadBalancerDiscriminator, getLog, getMediaTypeCodecRegistry, isRunning, jsonStream, jsonStream, resolveRequestURI, resolveRequestURI, setMediaTypeCodecRegistry, start, stop, toBlockingclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait@Inject
public RibbonRxHttpClient(@Parameter
io.micronaut.http.client.LoadBalancer loadBalancer,
@Parameter
io.micronaut.http.client.HttpClientConfiguration configuration,
@Parameter @Nullable
java.lang.String contextPath,
@Parameter
io.micronaut.http.client.filter.HttpClientFilterResolver filterResolver,
@Named(value="netty") @Nullable
java.util.concurrent.ThreadFactory threadFactory,
io.micronaut.http.client.ssl.NettyClientSslBuilder nettyClientSslBuilder,
io.micronaut.http.codec.MediaTypeCodecRegistry codecRegistry,
java.util.List<RibbonExecutionListenerAdapter> executionListeners)
loadBalancer - loadBalancerconfiguration - configurationcontextPath - contextPaththreadFactory - threadFactorynettyClientSslBuilder - nettyClientSslBuildercodecRegistry - codecRegistryexecutionListeners - executionListeners@Inject protected void configure(io.micronaut.context.BeanContext beanContext)
configure in class io.micronaut.http.client.DefaultHttpClientpublic java.util.Optional<RibbonLoadBalancer> getLoadBalancer()
RibbonLoadBalancer if one is configured for this clientpublic <I,O,E> io.reactivex.Flowable<io.micronaut.http.HttpResponse<O>> exchange(io.micronaut.http.HttpRequest<I> request,
io.micronaut.core.type.Argument<O> bodyType,
io.micronaut.core.type.Argument<E> errorType)
exchange in interface io.micronaut.http.client.HttpClientexchange in interface io.micronaut.http.client.RxHttpClientexchange in class io.micronaut.http.client.DefaultHttpClientpublic <I> io.reactivex.Flowable<io.micronaut.http.HttpResponse<io.micronaut.core.io.buffer.ByteBuffer<?>>> exchangeStream(io.micronaut.http.HttpRequest<I> request)
exchangeStream in interface io.micronaut.http.client.RxStreamingHttpClientexchangeStream in interface io.micronaut.http.client.StreamingHttpClientexchangeStream in class io.micronaut.http.client.DefaultHttpClientpublic <I> io.reactivex.Flowable<io.micronaut.core.io.buffer.ByteBuffer<?>> dataStream(io.micronaut.http.HttpRequest<I> request)
dataStream in interface io.micronaut.http.client.RxStreamingHttpClientdataStream in interface io.micronaut.http.client.StreamingHttpClientdataStream in class io.micronaut.http.client.DefaultHttpClientpublic <I,O> io.reactivex.Flowable<O> jsonStream(io.micronaut.http.HttpRequest<I> request,
io.micronaut.core.type.Argument<O> type)
jsonStream in interface io.micronaut.http.client.RxStreamingHttpClientjsonStream in interface io.micronaut.http.client.StreamingHttpClientjsonStream in class io.micronaut.http.client.DefaultHttpClientprotected <O> com.netflix.loadbalancer.reactive.LoadBalancerCommand<O> buildLoadBalancerCommand()
O - entity type of the command