Package io.micronaut.http.netty.stream
Class JsonSubscriber
java.lang.Object
io.micronaut.http.netty.stream.JsonSubscriber
- All Implemented Interfaces:
org.reactivestreams.Subscriber<io.netty.handler.codec.http.HttpContent>,reactor.core.CoreSubscriber<io.netty.handler.codec.http.HttpContent>
@Internal
public final class JsonSubscriber
extends Object
implements reactor.core.CoreSubscriber<io.netty.handler.codec.http.HttpContent>
A Reactor subscriber used to handle JSON content. It delegates to an upstream subscriber, wrapping them with opening/closing brackets
where necessary.
-
Constructor Summary
ConstructorsConstructorDescriptionJsonSubscriber(reactor.core.CoreSubscriber<? super io.netty.handler.codec.http.HttpContent> upstream) -
Method Summary
Modifier and TypeMethodDescriptionreactor.util.context.Contextstatic reactor.core.publisher.Flux<io.netty.handler.codec.http.HttpContent>lift(org.reactivestreams.Publisher<io.netty.handler.codec.http.HttpContent> publisher) voidOn complete the opening bracket should be emitted if no items were ever produced, then the closing bracket.voidvoidonNext(io.netty.handler.codec.http.HttpContent o) The goal is to prevent the emission of the opening bracket if the underlying stream never emits an item and only produces an error.voidonSubscribe(org.reactivestreams.Subscription s)
-
Constructor Details
-
JsonSubscriber
public JsonSubscriber(reactor.core.CoreSubscriber<? super io.netty.handler.codec.http.HttpContent> upstream)
-
-
Method Details
-
currentContext
public reactor.util.context.Context currentContext()- Specified by:
currentContextin interfacereactor.core.CoreSubscriber<io.netty.handler.codec.http.HttpContent>
-
onSubscribe
public void onSubscribe(org.reactivestreams.Subscription s) - Specified by:
onSubscribein interfacereactor.core.CoreSubscriber<io.netty.handler.codec.http.HttpContent>- Specified by:
onSubscribein interfaceorg.reactivestreams.Subscriber<io.netty.handler.codec.http.HttpContent>
-
onNext
public void onNext(io.netty.handler.codec.http.HttpContent o) The goal is to prevent the emission of the opening bracket if the underlying stream never emits an item and only produces an error.- Specified by:
onNextin interfaceorg.reactivestreams.Subscriber<io.netty.handler.codec.http.HttpContent>- Parameters:
o- The content
-
onError
- Specified by:
onErrorin interfaceorg.reactivestreams.Subscriber<io.netty.handler.codec.http.HttpContent>
-
onComplete
public void onComplete()On complete the opening bracket should be emitted if no items were ever produced, then the closing bracket.- Specified by:
onCompletein interfaceorg.reactivestreams.Subscriber<io.netty.handler.codec.http.HttpContent>
-
lift
public static reactor.core.publisher.Flux<io.netty.handler.codec.http.HttpContent> lift(org.reactivestreams.Publisher<io.netty.handler.codec.http.HttpContent> publisher)
-