@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,
java.util.concurrent.ThreadFactory threadFactory,
io.micronaut.http.client.ssl.NettyClientSslBuilder nettyClientSslBuilder,
io.micronaut.http.codec.MediaTypeCodecRegistry codecRegistry,
io.micronaut.core.annotation.AnnotationMetadataResolver annotationMetadataResolver,
java.util.List<io.micronaut.http.filter.HttpClientFilter> filters,
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, connect, connect, createEventLoopGroup, doConnect, doConnect, doConnect, eventStream, eventStream, getConfiguration, getLoadBalancerDiscriminator, getLog, getMediaTypeCodecRegistry, isRunning, jsonStream, jsonStream, resolveFilters, resolveRequestURI, resolveRequestURI, setClientIdentifiers, setClientIdentifiers, setMediaTypeCodecRegistry, start, stop, toBlocking
clone, 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, @Nullable java.util.concurrent.ThreadFactory threadFactory, io.micronaut.http.client.ssl.NettyClientSslBuilder nettyClientSslBuilder, io.micronaut.http.codec.MediaTypeCodecRegistry codecRegistry, @Nullable io.micronaut.core.annotation.AnnotationMetadataResolver annotationMetadataResolver, java.util.List<io.micronaut.http.filter.HttpClientFilter> filters, java.util.List<RibbonExecutionListenerAdapter> executionListeners)
loadBalancer
- loadBalancerconfiguration
- configurationcontextPath
- contextPaththreadFactory
- threadFactorynettyClientSslBuilder
- nettyClientSslBuildercodecRegistry
- codecRegistryexecutionListeners
- executionListenersannotationMetadataResolver
- annotationMetadataResolverfilters
- filters@Inject protected void configure(io.micronaut.context.BeanContext beanContext)
configure
in class io.micronaut.http.client.DefaultHttpClient
public 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.HttpClient
exchange
in interface io.micronaut.http.client.RxHttpClient
exchange
in class io.micronaut.http.client.DefaultHttpClient
public <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.RxStreamingHttpClient
exchangeStream
in interface io.micronaut.http.client.StreamingHttpClient
exchangeStream
in class io.micronaut.http.client.DefaultHttpClient
public <I> io.reactivex.Flowable<io.micronaut.core.io.buffer.ByteBuffer<?>> dataStream(io.micronaut.http.HttpRequest<I> request)
dataStream
in interface io.micronaut.http.client.RxStreamingHttpClient
dataStream
in interface io.micronaut.http.client.StreamingHttpClient
dataStream
in class io.micronaut.http.client.DefaultHttpClient
public <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.RxStreamingHttpClient
jsonStream
in interface io.micronaut.http.client.StreamingHttpClient
jsonStream
in class io.micronaut.http.client.DefaultHttpClient
protected <O> com.netflix.loadbalancer.reactive.LoadBalancerCommand<O> buildLoadBalancerCommand()
O
- entity type of the command