Package io.micronaut.http.server.netty
Class AbstractBufferingHttpContentProcessor<T>
- java.lang.Object
-
- io.micronaut.core.async.subscriber.SingleThreadedBufferingSubscriber<R>
-
- io.micronaut.core.async.processor.SingleThreadedBufferingProcessor<io.netty.buffer.ByteBufHolder,T>
-
- io.micronaut.http.server.netty.AbstractBufferingHttpContentProcessor<T>
-
- Type Parameters:
T- The type
- All Implemented Interfaces:
io.micronaut.core.async.publisher.Publishers.MicronautPublisher<T>,io.micronaut.core.async.subscriber.Completable,io.micronaut.core.async.subscriber.Emitter<io.netty.buffer.ByteBufHolder>,io.micronaut.core.util.Toggleable,HttpContentProcessor<T>,org.reactivestreams.Processor<io.netty.buffer.ByteBufHolder,T>,org.reactivestreams.Publisher<T>,org.reactivestreams.Subscriber<io.netty.buffer.ByteBufHolder>
@Internal public abstract class AbstractBufferingHttpContentProcessor<T> extends io.micronaut.core.async.processor.SingleThreadedBufferingProcessor<io.netty.buffer.ByteBufHolder,T> implements HttpContentProcessor<T>
Abtract implementation of theHttpContentProcessorinterface that deals with limiting file upload sizes.- Since:
- 1.0
-
-
Field Summary
Fields Modifier and Type Field Description protected longadvertisedLengthprotected io.micronaut.http.server.HttpServerConfigurationconfigurationprotected NettyHttpRequestnettyHttpRequestprotected java.util.concurrent.atomic.AtomicLongreceivedLengthprotected longrequestMaxSize
-
Constructor Summary
Constructors Constructor Description AbstractBufferingHttpContentProcessor(NettyHttpRequest<?> nettyHttpRequest, io.micronaut.http.server.HttpServerConfiguration configuration)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoOnNext(io.netty.buffer.ByteBufHolder message)protected voidfireExceedsLength(long receivedLength, long expected)voidsubscribe(org.reactivestreams.Subscriber<? super T> downstreamSubscriber)protected booleanverifyPartDefinedSize(io.netty.buffer.ByteBufHolder message)-
Methods inherited from class io.micronaut.core.async.processor.SingleThreadedBufferingProcessor
currentDownstreamSubscriber, doOnComplete, doOnError, doOnSubscribe, getDownstreamSubscriber, onUpstreamMessage, subscribeDownstream
-
Methods inherited from class io.micronaut.core.async.subscriber.SingleThreadedBufferingSubscriber
newDownstreamSubscription, onComplete, onError, onNext, onSubscribe, provideDownstreamSubscription
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Field Detail
-
nettyHttpRequest
protected final NettyHttpRequest nettyHttpRequest
-
advertisedLength
protected final long advertisedLength
-
requestMaxSize
protected final long requestMaxSize
-
receivedLength
protected final java.util.concurrent.atomic.AtomicLong receivedLength
-
configuration
protected final io.micronaut.http.server.HttpServerConfiguration configuration
-
-
Constructor Detail
-
AbstractBufferingHttpContentProcessor
public AbstractBufferingHttpContentProcessor(NettyHttpRequest<?> nettyHttpRequest, io.micronaut.http.server.HttpServerConfiguration configuration)
- Parameters:
nettyHttpRequest- TheNettyHttpRequestconfiguration- TheHttpServerConfiguration
-
-
Method Detail
-
subscribe
public void subscribe(org.reactivestreams.Subscriber<? super T> downstreamSubscriber)
-
doOnNext
protected final void doOnNext(io.netty.buffer.ByteBufHolder message)
- Overrides:
doOnNextin classio.micronaut.core.async.processor.SingleThreadedBufferingProcessor<io.netty.buffer.ByteBufHolder,T>
-
verifyPartDefinedSize
protected boolean verifyPartDefinedSize(io.netty.buffer.ByteBufHolder message)
- Parameters:
message- The message- Returns:
- Whether the message has verified part size
-
fireExceedsLength
protected void fireExceedsLength(long receivedLength, long expected)- Parameters:
receivedLength- The received lengthexpected- The expected length
-
-